Bug#5337: SIGPWR to sysvinit causes X to hang
Package: sysvinit
Maintainer: Miquel van Smoorenburg <miquels@cistron.nl>
Version: 2.66-1
Okay Mike, I think you'll just luuuv this one!
SysVInit 2.66, when notified of a power event by GenPower causes X to
go into an infinite loop. Logging in from the net, I did an strace of
X and got the following results:
callandor:~/tmp> ps -ax 263
PID TT TIME COMMAND
263 ? 1:37m /usr/X11R6/bin/X -auth /var/lib/xdm/authdir/authfiles/A:0-a002
callandor:~/tmp> ps -axl 263
FLAGS UID PID PPID PRI NI VSZ RSS WCHAN STAT TT TIME COMMA
100100 0 263 251 18 0 11760 3368 R ? 1:44m /usr/
callandor:~/tmp> strace -p 263 -f
gettimeofday({847491462, 610248}, NULL) = 0
oldselect(128, [0 1 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22], NULL, NULL, {456, 963000}) = 1 (in [4], left {456, 970000})
read(4, "", 64) = 0
read(6, 0xbffffaa4, 64) = -1 EAGAIN (Try again)
gettimeofday({847491462, 647289}, NULL) = 0
oldselect(128, [0 1 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22], NULL, NULL, {456, 926000}) = 2 (in [4 14], left {456, 930000})
read(4, "", 64) = 0
read(6, 0xbffffaa4, 64) = -1 EAGAIN (Try again)
read(14, "F\0\5\0\30\0\0\2\23\0\0\2/\0\24\0"..., 4096) = 36
gettimeofday({847491462, 686110}, NULL) = 0
oldselect(128, [0 1 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22], NULL, NULL, {456, 887000}) = 2 (in [4 15], left {456, 890000})
read(4, "", 64) = 0
read(6, 0xbffffaa4, 64) = -1 EAGAIN (Try again)
read(15, "8\0\4\0\3\0@\2\4\0\0\0\16\0\0\0F"..., 4096) = 324
gettimeofday({847491462, 714263}, NULL) = 0
oldselect(128, [0 1 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22], NULL, NULL, {456, 859000}) = 1 (in [4], left {456, 860000})
read(4, "", 64) = 0
read(6, 0xbffffaa4, 64) = -1 EAGAIN (Try again)
gettimeofday({847491462, 736523}, NULL) = 0
oldselect(128, [0 1 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22], NULL, NULL, {456, 837000}) = 1 (in [4], left {456, 840000})
read(4, "", 64) = 0
read(6, 0xbffffaa4, 64) = -1 EAGAIN (Try again)
gettimeofday({847491462, 759206}, NULL) = 0
oldselect(128, [0 1 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22], NULL, NULL, {456, 814000}) = 1 (in [4], left {456, 820000})
read(4, "", 64) = 0
read(6, 0xbffffaa4, 64) = -1 EAGAIN (Try again)
gettimeofday({847491462, 781405}, NULL) = 0
oldselect(128, [0 1 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22], NULL, NULL, {456, 792000}) = 2 (in [4 15], left {456, 800000})
read(4, "", 64) = 0
read(6, 0xbffffaa4, 64) = -1 EAGAIN (Try again)
read(15, "8\0\4\0\3\0@\2\4\0\0\0\16\0\0\0F"..., 4096) = 164
gettimeofday({847491462, 815203}, NULL) = 0
[... repeats forever like this ...]
This didn't happen when working with 2.64 and if I go back to v2.62 from
buzz, it doesn't happen either. Nothing else has changed on my system
except for sysvinit during the testing of this.
I don't know what else to add. I can reproduce it easily, if need be.
Brian
( bcwhite@verisim.com )
-------------------------------------------------------------------------------
Debian GNU/Linux! Search it at http://insite.verisim.com/search/debian/simple
--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-REQUEST@lists.debian.org . Trouble? e-mail to Bruce@Pixar.com
Reply to: