Today I got the issue at work, but a little bit different:
This time the plugin container was a Zombie process, that means the plugin container process has already exited, but its parent process didn't care about it yet.
Thus this time killing the plugin-container process didn't help, because it was already dead.
Sending SIGCHLD to the parent process also didn't help.
Sending SIGTERM to the parent process removed the processes.
It seems that there are two different bugs, resulting in firefox-bin to hang:
- One bug that freezes the plugin-container
- One bug that lets firefox-bin hang, even after the plugin-container process has exited.
Today I got the issue at work, but a little bit different:
This time the plugin container was a Zombie process, that means the plugin container process has already exited, but its parent process didn't care about it yet.
Thus this time killing the plugin-container process didn't help, because it was already dead.
Sending SIGCHLD to the parent process also didn't help.
Sending SIGTERM to the parent process removed the processes.
It seems that there are two different bugs, resulting in firefox-bin to hang:
- One bug that freezes the plugin-container
- One bug that lets firefox-bin hang, even after the plugin-container process has exited.
13865 ? Sl 3:58 /usr/lib/ firefox- 3.6.24/ firefox- bin
13901 ? Zl 0:25 \_ [plugin-containe] <defunct>
michael@musca:~ $ pstree -p 13865 bin(13865) ─┬─plugin- containe( 13901)─ ──{plugin- contain} (13902)
├─ {firefox- bin}(13874)
├─ {firefox- bin}(13876)
├─ {firefox- bin}(13877)
├─ {firefox- bin}(13900)
└─ {firefox- bin}(14545)
firefox-
michael@ musca:/ proc/13865 $ cat stack queue_me+ 0xa5/0xd0 0x1a8/0x2c0 0x72/0x120 call+0x7/ 0xb
[<c0178fa5>] futex_wait_
[<c017a278>] futex_wait+
[<c017bab6>] do_futex+0xe6/0x1f0
[<c017bc32>] sys_futex+
[<c01033ec>] syscall_
[<ffffffff>] 0xffffffff
futex(0xb74a2bd8, FUTEX_WAIT, 13874, NULL) = ? ERESTARTSYS (To be restarted)
--- SIGCHLD (Child exited) @ 0 (0) ---
send(17, "a", 1, 0) = -1 EAGAIN (Resource temporarily unavailable)
sigreturn() = ? (mask now [])
futex(0xb74a2bd8, FUTEX_WAIT, 13874, NULL <unfinished ...>
+++ killed by SIGTERM +++
At home and at work I have Firefox 3.6.24:
Package: firefox build2+ nobinonly- 0ubuntu0. 10.04.1
Version: 3.6.24+