|
Bugzilla – Full Text Bug Listing |
| Summary: | thunderbird hangs in FUTEX_WAIT_PRIVATE after several hours | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 11.1 | Reporter: | Stefan Assmann <sassmann> |
| Component: | Firefox | Assignee: | E-mail List <bnc-team-mozilla> |
| Status: | VERIFIED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Major | ||
| Priority: | P5 - None | CC: | Larry.Finger, marko.schugardt, poeyuan, sboyce |
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | x86-64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Found By: | Development | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Stefan Assmann
2008-12-11 09:07:43 UTC
same thing happened for pidgin strace -p 9075 Process 9075 attached - interrupt to quit futex(0x7ffd00009db0, FUTEX_WAIT_PRIVATE, 2, NULL probably a kernel issue, reassigning to kernel-maintainers What info do you need for debugging? Probably not a kernel bug but a deadlock in thunderbird. Here is a small test program that will deadlock under suse kernel 2.6 but normal under kernel.org 's 2.6 ..
see ctime-hang.c
#include <sys/time.h>
#include <time.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
volatile char *r;
void handler(int sig)
{
time_t t;
time(&t);
r = ctime(&t);
}
int main()
{
struct itimerval it;
struct sigaction sa;
time_t t;
int counter = 0;
memset(&sa, 0, sizeof(sa));
sa.sa_handler = handler;
sigaction(SIGALRM, &sa, NULL);
it.it_value.tv_sec = 0;
it.it_value.tv_usec = 1000;
it.it_interval.tv_sec = 0;
it.it_interval.tv_usec = 1000;
setitimer(ITIMER_REAL, &it, NULL);
while(1) {
counter++;
time(&t);
r = ctime(&t);
printf("Loop %d\n",counter);
}
return 0;
}
-----------------------------------------------------------------------
Reference Links:
http://ubuntuforums.org/showthread.php?t=675821
This is under vanilla kernel 2.6.30-rc8-git4 and Milestone 2 Factory updated this evening. See my submitted bug #487060 for another flavour of this bug slipstream:/usr/src # strace ./ctime-hang execve("./ctime-hang", ["./ctime-hang"], [/* 99 vars */]) = 0 brk(0) = 0x602000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb3a432e000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb3a432d000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=330205, ...}) = 0 mmap(NULL, 330205, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb3a42dc000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\353\1\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1412656, ...}) = 0 mmap(NULL, 3520584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb3a3db6000 fadvise64(3, 0, 3520584, POSIX_FADV_WILLNEED) = 0 mprotect(0x7fb3a3f09000, 2093056, PROT_NONE) = 0 mmap(0x7fb3a4108000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x152000) = 0x7fb3a4108000 mmap(0x7fb3a410d000, 18504, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb3a410d000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb3a42db000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb3a42da000 arch_prctl(ARCH_SET_FS, 0x7fb3a42da6f0) = 0 mprotect(0x7fb3a4108000, 16384, PROT_READ) = 0 mprotect(0x600000, 4096, PROT_READ) = 0 mprotect(0x7fb3a432f000, 4096, PROT_READ) = 0 munmap(0x7fb3a42dc000, 330205) = 0 rt_sigaction(SIGALRM, {0x4006bc, [], SA_RESTORER, 0x7fb3a3de88f0}, NULL, 8) = 0 setitimer(ITIMER_REAL, {it_interval={0, 1000}, it_value={0, 1000}}, NULL) = 0 brk(0) = 0x602000 brk(0x623000) = 0x623000 open("/etc/localtime", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=3661, ...}) = 0 fstat(3, {st_mode=S_IFREG|0644, st_size=3661, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb3a432c000 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\7\0\0\0\7\0\0\0\0"..., 4096) = 3661 --- SIGALRM (Alarm clock) @ 0 (0) --- futex(0x7fb3a410ea14, FUTEX_WAIT, 2, NULL When run as user rather than root lancelot@slipstream:~> /usr/src/ctime-hang Loop 1 Loop 2 Loop 3 Loop 4 Loop 5 Loop 6 Loop 7 Loop 8 Loop 9 Loop 10 Loop 11 Loop 12 Loop 13 Loop 14 Loop 15 Loop 16 Loop 17 Loop 18 Loop 19 Loop 20 etc. This bug was acted on during Open-Bugs-Day April 2, 2011. The test program was run on kernel 2.6.37.1-1.2-default on openSUSE 11.4 without any problem. I am marking this bug as CLOSED/FIXED. |