all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Shell buffer processes all die when I run "man"
@ 2016-11-11 18:41 David Karr
  2016-11-12  7:11 ` Eli Zaretskii
  0 siblings, 1 reply; 3+ messages in thread
From: David Karr @ 2016-11-11 18:41 UTC (permalink / raw)
  To: help-gnu-emacs

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 haven't updated Cygwin recently.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Shell buffer processes all die when I run "man"
  2016-11-11 18:41 Shell buffer processes all die when I run "man" David Karr
@ 2016-11-12  7:11 ` Eli Zaretskii
  2016-11-14 16:23   ` David Karr
  0 siblings, 1 reply; 3+ messages in thread
From: Eli Zaretskii @ 2016-11-12  7:11 UTC (permalink / raw)
  To: help-gnu-emacs

> 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.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Shell buffer processes all die when I run "man"
  2016-11-12  7:11 ` Eli Zaretskii
@ 2016-11-14 16:23   ` David Karr
  0 siblings, 0 replies; 3+ messages in thread
From: David Karr @ 2016-11-14 16:23 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: help-gnu-emacs

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.
>



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-11-14 16:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-11 18:41 Shell buffer processes all die when I run "man" David Karr
2016-11-12  7:11 ` Eli Zaretskii
2016-11-14 16:23   ` David Karr

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.