help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Shell buffer processes all die when I run "man"


From: David Karr
Subject: Re: Shell buffer processes all die when I run "man"
Date: Mon, 14 Nov 2016 08:23:37 -0800

I first tried my test case immediately after starting Emacs, before I
create any shell buffers. I simply do "M-x man", then "git-checkout"
and Enter. The first time I did it, nothing unusual happened.  I tried
it a couple more times (after hiding the man buffer), and I saw the
"Waiting for process to die" message.  I saw this a few more times in
subsequent tests of this, but not all the time.

I then created a shell buffer and did the "man" test. I saw the
"Waiting ..." message, and then "Process shell hangup" appeared in the
shell buffer.  It wouldn't respond to keys or input. I killed that
buffer and then recreated the shell buffer.

I then hid the shell buffer and did the man test again.  I had to do
it 3-4 times before I saw the "Waiting ..." message.  After I saw it,
I then displayed the shell buffer, and what I saw was somewhat
curious.  It looked like the following:
-------------------
[<hostname>:~] [<hostname>:~] [<hostname>:~]
Process shell hangup
[<hostname>:~] [<hostname>:~] [<hostname>:~]
-------------------

At this point, it DOES respond to keys and input and behaves like a
working shell buffer at this point.

In the previous case, where I was displaying the shell buffer at the
time that I did the "man" test, it would end with "Process shell
hangup" and be dead.

On Fri, Nov 11, 2016 at 11:11 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: David Karr <davidmichaelkarr@gmail.com>
>> Date: Fri, 11 Nov 2016 10:41:12 -0800
>>
>> I'm using Emacs 24.5.1 in Cygwin on Windows 7.
>>
>> I create multiple shell buffers (using a wrapper package that I
>> wrote).  I've used this basically unchanged for more than 10 years.
>>
>> I recently noticed that if I have one or more shell buffers, and I run
>> the "man" function, I often see a short message saying "Waiting for
>> process to die", and then I see that all of my shell buffers say
>> "Process shell hangup" (or "shell<1>", depending on the buffer name).
>> I've been seeing this consistently for several weeks now.
>
> I cannot reproduce this in "emacs -Q", if I manually rename the shell
> buffers to *shell*<1> etc., and then run "M-x man".
>
> "Waiting for process to die" is usually a sign that some problem
> happened during execution of a subprocess, so you should look into
> what happens in the pipe run by "M-x man" on your system.  E.g., do
> you see the same message when no shell buffers exist in your session?
>
> When Emacs emits the above message, it kills the entire process group
> of the subprocess with the SIGINT signal, so if your shell processes
> are by some chance all in the same group as the shell run by "M-x
> man", they will also be killed (but not by SIGHUP, as you seem to
> say).  This shouldn't normally happen, though, and besides, the
> message is only shown for processes started synchronously with
> call-process, whereas on your system "M-x man" should run the pipe
> asynchronously with start-process.
>
> So I think some other factor is at work here, and the key to unlocking
> this puzzle is somewhere in your customizations and/or that wrapper
> package you wrote.
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]