Bug#639837: UI hangs for 30s while loading pages

Luc Maisonobe Luc.Maisonobe at free.fr
Tue Jan 31 19:27:07 UTC 2012


I have tried to do a "strace - p <pid>" while iceweasel hanged. It
blocked for several seconds, and then displayed a bunch of lines, then
blocked again several seconds, then displayed a bun of lines and so on.

Each time it blocked, it was on a futex call. Here is an example of the
last few lines before a hang, the last line being the one at which the
process is stuck:

read(5, 0x7fff9a4228f0, 16)             = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x7fd5919a6074, 4096)           = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7,
events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=9,
events=POLLIN|POLLPRI}, {fd=26, events=POLLIN}, {fd=22, events=POLLIN}],
9, 0) = 0 (Timeout)
read(5, 0x7fff9a4228f0, 16)             = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x7fd5919a6074, 4096)           = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7,
events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=9,
events=POLLIN|POLLPRI}, {fd=26, events=POLLIN}, {fd=22, events=POLLIN}],
9, 0) = 0 (Timeout)
read(5, 0x7fff9a4228f0, 16)             = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x7fd5919a6074, 4096)           = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7,
events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=9,
events=POLLIN|POLLPRI}, {fd=26, events=POLLIN}, {fd=22, events=POLLIN}],
9, 0) = 0 (Timeout)
read(5, 0x7fff9a4228f0, 16)             = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x7fd5919a6074, 4096)           = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7,
events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=9,
events=POLLIN|POLLPRI}, {fd=26, events=POLLIN}, {fd=22, events=POLLIN}],
9, 0) = 1 ([{fd=22, revents=POLLIN}])
read(5, 0x7fff9a4228f0, 16)             = -1 EAGAIN (Resource
temporarily unavailable)
write(5, "\1\0\0\0\0\0\0\0", 8)         = 8
read(22, "\372", 1)                     = 1
write(5, "\1\0\0\0\0\0\0\0", 8)         = 8
read(4, 0x7fd5919a6074, 4096)           = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7,
events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=9,
events=POLLIN|POLLPRI}, {fd=26, events=POLLIN}, {fd=22, events=POLLIN}],
9, 0) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\2\0\0\0\0\0\0\0", 16)         = 8
read(4, 0x7fd5919a6074, 4096)           = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7,
events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=9,
events=POLLIN|POLLPRI}, {fd=26, events=POLLIN}, {fd=22, events=POLLIN}],
9, 0) = 0 (Timeout)
read(5, 0x7fff9a4228f0, 16)             = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x7fd5919a6074, 4096)           = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7,
events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=9,
events=POLLIN|POLLPRI}, {fd=26, events=POLLIN}, {fd=22, events=POLLIN}],
9, 0) = 0 (Timeout)
read(5, 0x7fff9a4228f0, 16)             = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x7fd5919a6074, 4096)           = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7,
events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=9,
events=POLLIN|POLLPRI}, {fd=26, events=POLLIN}, {fd=22, events=POLLIN}],
9, 0) = 0 (Timeout)
read(5, 0x7fff9a4228f0, 16)             = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x7fd5919a6074, 4096)           = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7,
events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=9,
events=POLLIN|POLLPRI}, {fd=26, events=POLLIN}, {fd=22, events=POLLIN}],
9, 0) = 0 (Timeout)
read(5, 0x7fff9a4228f0, 16)             = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x7fd5919a6074, 4096)           = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7,
events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=9,
events=POLLIN|POLLPRI}, {fd=26, events=POLLIN}, {fd=22, events=POLLIN}],
9, 0) = 0 (Timeout)
read(5, 0x7fff9a4228f0, 16)             = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x7fd5919a6074, 4096)           = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7,
events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=9,
events=POLLIN|POLLPRI}, {fd=26, events=POLLIN}, {fd=22, events=POLLIN}],
9, 0) = 0 (Timeout)
read(5, 0x7fff9a4228f0, 16)             = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x7fd5919a6074, 4096)           = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7,
events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=9,
events=POLLIN|POLLPRI}, {fd=26, events=POLLIN}, {fd=22, events=POLLIN}],
9, 0) = 0 (Timeout)
read(5, 0x7fff9a4228f0, 16)             = -1 EAGAIN (Resource
temporarily unavailable)
write(19, "\0", 1)                      = 1
futex(0x7fd592b09040, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7fd592b09040, FUTEX_WAKE_PRIVATE, 1) = 0
write(19, "\0", 1)                      = 1
futex(0x7fd5530bff4c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1,
{1328037825, 568489000}, ffffffff


Luc





More information about the pkg-mozilla-maintainers mailing list