GNU bug report logs - #17561
24.4.50; Emacs can forget processes

Previous Next

Package: emacs;

Reported by: Jorgen Schaefer <contact <at> jorgenschaefer.de>

Date: Fri, 23 May 2014 15:54:02 UTC

Severity: normal

Tags: moreinfo

Merged with 17337, 17628

Found in version 24.4.50

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jorgen Schaefer <forcer <at> forcix.cx>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 17561 <at> debbugs.gnu.org
Subject: bug#17561: Emacs can forget processes
Date: Thu, 29 May 2014 13:39:27 +0200
On Wed, 28 May 2014 21:17:40 -0700
Paul Eggert <eggert <at> cs.ucla.edu> wrote:

> Can you please apply the attached patch to the emacs-24 branch, run 
> ./autogen.sh && configure && make clean && make, and then try it out
> on your platform?  Thanks.

I can not currently build the emacs-24 branch (and haven't found a
commit in it that I can on a quick try), see bug#17629.

Using trunk (git 40f5ec0 * alloc.c (Fgarbage_collect): Fix compilation
with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.) now, built with your
patch and this command:

$ ./autogen.sh && ./configure --without-x && make clean && make

When restarting Emacs, I had the bug happen again right away. Sadly
without a running strace.

When my Emacs starts, I connect to a few IRC servers, and my IRC client
then starts flyspell in the channel buffers. I got this error right
away:

Error in post-command-hook (flyspell-post-command-hook): (error
"process ispellno longer connected to pipe; closed it")


After this, killing Python RPC processes reproduced it again as well.

strace:

13:28:46 --- SIGIO (I/O possible) @ 0 (0) ---
13:28:46 rt_sigreturn(0x1d)             = 1 <0.000020>
13:28:46 ioctl(3, FIONREAD, [1])        = 0 <0.000019>
13:28:46 read(3, "\r", 1)               = 1 <0.000020>
13:28:46 ioctl(3, FIONREAD, [0])        = 0 <0.000016>
13:28:46 ioctl(3, FIONREAD, [0])        = 0 <0.000016>
13:28:46 write(3, "\r", 1)              = 1 <0.000032>
13:28:46 rt_sigprocmask(SIG_BLOCK, [CHLD], [QUIT ALRM CHLD PROF], 8) = 0 <0.000020>
13:28:46 kill(4294962889, SIGKILL)      = 0 <0.002883>
13:28:46 --- SIGIO (I/O possible) @ 0 (0) ---
13:28:46 rt_sigreturn(0x1d)             = 0 <0.000021>
13:28:46 rt_sigprocmask(SIG_SETMASK, [QUIT ALRM CHLD PROF], NULL, 8) = 0 <0.000016>
13:28:46 ioctl(3, FIONREAD, [0])        = 0 <0.000018>
13:28:46 rt_sigprocmask(SIG_BLOCK, [CHLD], [QUIT ALRM CHLD PROF], 8) = 0 <0.000017>
13:28:46 kill(4294962889, SIGHUP)       = 0 <0.000017>
13:28:46 rt_sigprocmask(SIG_SETMASK, [QUIT ALRM CHLD PROF], NULL, 8) = 0 <0.000016>
13:28:46 rt_sigprocmask(SIG_BLOCK, [CHLD], [QUIT ALRM CHLD PROF], 8) = 0 <0.000017>
13:28:46 kill(4294962821, SIGKILL)      = 0 <0.004785>
13:28:46 rt_sigprocmask(SIG_SETMASK, [QUIT ALRM CHLD PROF], NULL, 8) = 0 <0.000017>
13:28:46 rt_sigprocmask(SIG_BLOCK, [CHLD], [QUIT ALRM CHLD PROF], 8) = 0 <0.000017>
13:28:46 kill(4294962821, SIGHUP)       = 0 <0.000019>
13:28:46 rt_sigprocmask(SIG_SETMASK, [QUIT ALRM CHLD PROF], NULL, 8) = 0 <0.000015>
13:28:46 rt_sigprocmask(SIG_BLOCK, [WINCH IO], NULL, 8) = 0 <0.000022>
13:28:46 write(3, "\33[K\33[46;1H", 10) = 10 <0.000028>
13:28:46 rt_sigprocmask(SIG_UNBLOCK, [WINCH IO], NULL, 8) = 0 <0.000016>
13:28:46 ioctl(3, FIONREAD, [0])        = 0 <0.000021>
13:28:46 pselect6(18, [3 4 5 7 8 11 13 17], [], NULL, {0, 262002641}, {NULL, 8}) = 2 (in [13 17], left {0, 261989573}) <0.000029>
13:28:46 read(13, "", 4096)             = 0 <0.000017>
13:28:46 read(17, "", 4096)             = 0 <0.000016>
13:28:46 ioctl(3, FIONREAD, [0])        = 0 <0.000019>
13:28:46 pselect6(18, [3 4 5 7 8 11 13 17], [], NULL, {0, 261495320}, {NULL, 8}) = 2 (in [13 17], left {0, 261485907}) <0.000030>
13:28:46 read(13, "", 4096)             = 0 <0.000017> 
13:28:46 read(17, "", 4096)             = 0 <0.000015>

[...]

13:289:02 --- SIGIO (I/O possible) @ 0 (0) --- 
13:289:02 rt_sigreturn(0x1d)             = 3 <0.000010> 
13:289:02 ioctl(3, FIONREAD, [1])        = 0 <0.000008> 
13:289:02 read(3, "d", 1)                = 1 <0.000009> 
13:289:02 ioctl(3, FIONREAD, [0])        = 0 <0.000007> 
13:289:02 ioctl(3, FIONREAD, [0])        = 0 <0.000007> 
13:289:02 rt_sigprocmask(SIG_BLOCK, [CHLD], [QUIT ALRM CHLD PROF], 8) = 0 <0.000014> 
13:289:02 kill(4294962821, SIGKILL)      = 0 <0.000010> 
13:289:02 rt_sigprocmask(SIG_SETMASK, [QUIT ALRM CHLD PROF], NULL, 8) = 0 <0.000008> 
13:289:02 close(12)                      = 0 <0.000015> 
13:289:02 close(13)                      = 0 <0.000012>
13:289:02 rt_sigprocmask(SIG_BLOCK, [WINCH IO], NULL, 8) = 0 <0.000012>
13:289:02 rt_sigprocmask(SIG_UNBLOCK, [WINCH IO], NULL, 8) = 0 <0.000010>
13:289:02 rt_sigprocmask(SIG_BLOCK, [WINCH IO], NULL, 8) = 0 <0.012141>
13:289:02 write(3, "\33[1;8r\33[3;1H\33[1M\33[1;50r", 23) = 23 <0.000018>
13:289:02 write(3, "\33[8;1H\33[K\33[H\n", 13) = 13 <0.000015>
13:289:02 rt_sigprocmask(SIG_UNBLOCK, [WINCH IO], NULL, 8) = 0 <0.000010>
13:289:02 --- SIGIO (I/O possible) @ 0 (0) ---
13:289:02 rt_sigreturn(0x1d)             = 0 <0.000011>
13:289:02 ioctl(3, FIONREAD, [0])        = 0 <0.000011>
13:289:02 ioctl(3, FIONREAD, [0])        = 0 <0.000010>
13:289:02 pselect6(18, [3 4 5 7 8 11 17], [], NULL, {0, 206805058}, {NULL, 8}) = 1 (in [17], left {0, 206797159}) <0.000017> 
13:289:02 read(17, "", 4096)             = 0 <0.000009> 
13:289:02 pselect6(18, [3 4 5 7 8 11 17], [], NULL, {0, 206700816}, {NULL, 8}) = 1 (in [17], left {0, 206697015}) <0.000013> 
13:289:02 read(17, "", 4096)             = 0 <0.000008>

[...]

13:289:03 --- SIGIO (I/O possible) @ 0 (0) ---
13:289:03 rt_sigreturn(0x1d)             = 2 <0.000009>
13:289:03 ioctl(3, FIONREAD, [1])        = 0 <0.000008>
13:289:03 read(3, "d", 1)                = 1 <0.000008>
13:289:03 ioctl(3, FIONREAD, [0])        = 0 <0.000006>
13:289:03 ioctl(3, FIONREAD, [0])        = 0 <0.000006>
13:289:03 rt_sigprocmask(SIG_BLOCK, [CHLD], [QUIT ALRM CHLD PROF], 8) = 0 <0.000007> 
13:289:03 kill(4294962889, SIGKILL)      = 0 <0.000011>
13:289:03 rt_sigprocmask(SIG_SETMASK, [QUIT ALRM CHLD PROF], NULL, 8) = 0 <0.000007> 
13:289:03 close(16)                      = 0 <0.000013>
13:289:03 close(17)                      = 0 <0.000012>
13:289:03 rt_sigprocmask(SIG_BLOCK, [WINCH IO], NULL, 8) = 0 <0.000010>
13:289:03 rt_sigprocmask(SIG_UNBLOCK, [WINCH IO], NULL, 8) = 0 <0.000009>
13:289:03 rt_sigprocmask(SIG_BLOCK, [WINCH IO], NULL, 8) = 0 <0.000010>
13:289:03 write(3, "\33[1;7r\33[2;1H\33[1M\33[1;50r", 23) = 23 <0.000012>
13:289:03 write(3, "\33[7;1H\33[K\33[H\n", 13) = 13 <0.000012>
13:289:03 rt_sigprocmask(SIG_UNBLOCK, [WINCH IO], NULL, 8) = 0 <0.000007>

Back to normal.

Regards,
Jorgen




This bug report was last modified 10 years and 352 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.