[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#33018: 26.1.50; thread starvation with async processes and accept-pr
From: |
Basil L. Contovounesios |
Subject: |
bug#33018: 26.1.50; thread starvation with async processes and accept-process-output |
Date: |
Tue, 16 Oct 2018 15:55:28 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Michael Albinus <michael.albinus@gmx.de> writes:
> "Basil L. Contovounesios" <contovob@tcd.ie> writes:
>
>> There's something about going through a complete create-join cycle more
>> than once within a non-main-thread which is triggering this behaviour.
>
> I'm not sure that it is related to threads.
It has to be, because there is never an issue when I run the same
asynchronous wget processes without threads, and with threads the hang
reliably occurs 100% of the time.
> It looks, like some of your processes do not exit properly, and then
> thread-join is blocked.
Indeed, but there is something about the interaction of Emacs threads
and subprocesses which is causing unsuccessful process termination.
Note that I am not ruling out pilot error; I simply haven't debugged
this issue any deeper yet. The fact that no-one has yet pointed out any
obvious blunders on my part gives me more confidence that there is
indeed some ghost in the wire.
> I've modified your example, again. It runs perfectly.
Indeed, there are many subprocess-within-a-thread examples which don't
suffer from a hang, e.g. by using a different URL. I would like to get
to the bottom of why network programs like wget/curl in particular
eventually hang, though.
Thanks,
--
Basil
- bug#33018: 26.1.50; thread starvation with async processes and accept-process-output, (continued)
bug#33018: 26.1.50; thread starvation with async processes and accept-process-output, Michael Albinus, 2018/10/12
- bug#33018: 26.1.50; thread starvation with async processes and accept-process-output, Eli Zaretskii, 2018/10/12
- bug#33018: 26.1.50; thread starvation with async processes and accept-process-output, Basil L. Contovounesios, 2018/10/14
- bug#33018: 26.1.50; thread starvation with async processes and accept-process-output, Eli Zaretskii, 2018/10/16
- bug#33018: 26.1.50; thread starvation with async processes and accept-process-output, Basil L. Contovounesios, 2018/10/17
- bug#33018: 26.1.50; thread starvation with async processes and accept-process-output, Eli Zaretskii, 2018/10/17
- bug#33018: 26.1.50; thread starvation with async processes and accept-process-output, Basil L. Contovounesios, 2018/10/17
- bug#33018: 26.1.50; thread starvation with async processes and accept-process-output, Eli Zaretskii, 2018/10/17
- bug#33018: 26.1.50; thread starvation with async processes and accept-process-output, Eli Zaretskii, 2018/10/17
- bug#33018: 26.1.50; thread starvation with async processes and accept-process-output, Basil L. Contovounesios, 2018/10/17
- bug#33018: 26.1.50; thread starvation with async processes and accept-process-output, Eli Zaretskii, 2018/10/20
bug#33018: 26.1.50; thread starvation with async processes and accept-process-output, Basil L. Contovounesios, 2018/10/17