Another message bug report received by the Debian Bug Tracking System:

> From: Marius Gedminas <[EMAIL PROTECTED]>
> To: Debian Bug Tracking System <[EMAIL PROTECTED]>
> Subject: rxvt fails to exit after the shell terminates and starts eating CPU
> 
> Package: rxvt
> Version: 2.6.3
> 
> Today I noticed that after starting rxvt and exiting from the shell,
> rxvt doesn't exit but starts eating the CPU instead.  ltrace on the pid
> shows that it is repeatedly calling
> 
>   XPending(0x0805f5a8, 0x0805cd80, 8192, 0x0804c3dd, 0x08059f84) = 0
>   select(5, 0xbffffb5c, 0, 0, 0)                    = 1
>   read(4, "", 8192)                                 = -1
> 
> strace repeatedly shows
> 
>   ioctl(3, 0x541b, [0])                   = 0
>   select(5, [3 4], NULL, NULL, NULL)      = 1 (in [4])
>   read(4, 0x805cd80, 8192)                = -1 EIO (Input/output error)
> 
> gdb doesn't show anything interesting, since /usr/bin/X11/rxvt is stripped.
> 
> However I'm also using rxvt that I compiled myself.  It has the same
> symptoms, and gdb on it shows stack trace of
> 
>   select
>   ??                            <- (I guess that's actually rxvt_cmd_getc)
>   rxvt_main_loop
> 
> It looks like rxvt doesn't notice that the child process has already
> exited.  This only happens if I start rxvt directly from the window
> manager, and doesn't hapen if I start it from another rxvt window.
> I has never happened before.  This started today after I played a bit
> with gdmconfig.  Other terminal emulators do not show this behavior.
> 
> Maybe SIGCHLD is ignored and rxvt inherits that state from gdm/X/icewm?
> cat /proc/<pid>/status or a running rxvt (prior to exiting from its
> shell) shows that SIGCHLD is blocked, if I interpret this correctly:
> 
>   SigPnd: 0000000000000000
>   SigBlk: 0000000000010000
>   SigIgn: 8000000000000000
>   SigCgt: 0000000000014007
> 
> After exiting (when the 100% CPU eating select/read loop begins), the
> /proc/<pid>/status shows
> 
>   SigPnd: 0000000000010000
>   SigBlk: 0000000000010000
>   SigIgn: 8000000000000000
>   SigCgt: 0000000000014007
> 
> BTW I use icewm-1.0.8.6-2, gdm 2.2.4.1-1.


Reply via email to