Comment 13 for bug 764621

Revision history for this message
Michael Mess (michael-michaelmess) wrote :

Today again: The plugin-container was stopped again and firefox was waiting for it forever...
... until I attached strace to each process and killed the plugin-container process with SIGKILL,
letting the other processes resume and exit normally.
The resulting strace logs may give a hint, where firefox is waiting for the stopped process.

 7284 ? Sl 0:28 /usr/lib/firefox-3.6.24/firefox-bin
 7320 ? Tl 0:00 \_ /usr/lib/firefox-3.6.24/plugin-container /usr/lib

michael@quad:~$ pstree -p 7284
firefox-bin(7284)─┬─plugin-containe(7320)───{plugin-contain}(7321)
                  ├─{firefox-bin}(7294)
                  ├─{firefox-bin}(7295)
                  ├─{firefox-bin}(7316)
                  └─{firefox-bin}(7319)

michael@quad:~$ kill -9 7320

michael@quad:~$ strace -p 7284
Process 7284 attached - interrupt to quit
futex(0x9e6fabd8, FUTEX_WAIT, 7319, NULL) = 0
munmap(0xb36ff000, 8392704) = 0
writev(14, [{"GIOP\1\2\1\5\0\0\0\0", 12}], 1) = 12
close(14) = 0
writev(12, [{"GIOP\1\2\1\5\0\0\0\0", 12}], 1) = 12
close(12) = 0
close(9) = 0
close(8) = 0
unlink("/tmp/orbit-michael/linc-1c74-0-506155318a2b") = 0
close(13) = 0
close(73) = 0
exit_group(0) = ?
Process 7284 detached

michael@quad:~$ strace -p 7319
Process 7319 attached - interrupt to quit
waitpid(7320, NULL, __WALL) = ? ERESTARTSYS (To be restarted)
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(7320, NULL, __WALL) = 7320
--- SIGCHLD (Child exited) @ 0 (0) ---
ptrace(PTRACE_ATTACH, 7321, 0, 0) = -1 ESRCH (No such process)
ftruncate(34, 0) = 0
close(34) = 0
ptrace(PTRACE_DETACH, 7320, 0, SIG_0) = -1 ESRCH (No such process)
ptrace(PTRACE_DETACH, 7321, 0, SIG_0) = -1 ESRCH (No such process)
munmap(0xb4012000, 4096) = 0
munmap(0xb4013000, 4096) = 0
munmap(0xb4400000, 4096) = 0
munmap(0xb4401000, 4096) = 0
munmap(0xb4402000, 4096) = 0
munmap(0xb4403000, 4096) = 0
munmap(0xb4404000, 4096) = 0
munmap(0xb4405000, 4096) = 0
munmap(0xb4406000, 4096) = 0
munmap(0xb4407000, 4096) = 0
munmap(0xb4408000, 4096) = 0
munmap(0xb4409000, 4096) = 0
munmap(0xb440a000, 4096) = 0
munmap(0xb4f00000, 4096) = 0
munmap(0xb4f01000, 4096) = 0
munmap(0xb4f02000, 4096) = 0
munmap(0xb4f03000, 4096) = 0
munmap(0xb4f04000, 4096) = 0
munmap(0xb4f05000, 4096) = 0
munmap(0xb4f06000, 4096) = 0
munmap(0xb5200000, 4096) = 0
munmap(0xb5201000, 4096) = 0
munmap(0xb5202000, 4096) = 0
munmap(0xb7400000, 4096) = 0
munmap(0xb7401000, 4096) = 0
munmap(0xb7700000, 4096) = 0
munmap(0xb7825000, 4096) = 0
close(27) = 0
poll([{fd=88, events=POLLIN}, {fd=89, events=POLLIN}], 2, -1) = 1 ([{fd=89, revents=POLLIN}])
read(89, "x", 1) = 1
madvise(0x9defa000, 8372224, MADV_DONTNEED) = 0
_exit(0) = ?
Process 7319 detached

michael@quad:~$ strace -p 7295
...
gettimeofday({1327468717, 610700}, NULL) = 0
futex(0xb73a6160, FUTEX_WAKE_PRIVATE, 1) = 0
clock_gettime(CLOCK_REALTIME, {1327468717, 610788963}) = 0
futex(0xb739f648, FUTEX_WAIT_PRIVATE, 6121, {0, 999911037}) = -1 ETIMEDOUT (Connection timed out)
gettimeofday({1327468718, 610896}, NULL) = 0
futex(0xb73a6160, FUTEX_WAKE_PRIVATE, 1) = 0
clock_gettime(CLOCK_REALTIME, {1327468718, 610988319}) = 0
futex(0xb739f648, FUTEX_WAIT_PRIVATE, 6123, {0, 999907681}) = -1 ETIMEDOUT (Connection timed out)
gettimeofday({1327468719, 611088}, NULL) = 0
futex(0xb73a6160, FUTEX_WAKE_PRIVATE, 1) = 0
clock_gettime(CLOCK_REALTIME, {1327468719, 611178253}) = 0
futex(0xb739f648, FUTEX_WAIT_PRIVATE, 6125, {0, 999909747}PANIC: attached pid 7295 exited with 0
 <unfinished ... exit status 0>

michael@quad:~$ strace -p 7316
Process 7316 attached - interrupt to quit
restart_syscall(<... resuming interrupted call ...>PANIC: attached pid 7316 exited with 0
 <unfinished ... exit status 0>

michael@quad:~$ strace -p 7294
Process 7294 attached - interrupt to quit
futex(0xb739f608, FUTEX_WAIT_PRIVATE, 65, NULL) = ? <unavailable>
PANIC: attached pid 7294 exited with 0