Mongrel hangs on FUTEX_WAIT

Hi,

my app was running on SuSE 10.2 for a couple of weeks. Suddenly it
stopped working as the mongrel process sooner or later get blocked.
This is reproducably happening after a few requests. It does not
matter whether I run mongrel using script/server or in a cluster. I’ve
to kill -9 the mongrel afterwards.

A strace shows the following at the end:

gettimeofday({1192791059, 693640}, NULL) = 0
select(8, [5 7], [3], [], {0, 133496}) = 1 (out [3], left {0,
133496})
gettimeofday({1192791059, 693718}, NULL) = 0
select(8, [5 7], [3], [], {0, 133418}) = 1 (out [3], left {0,
133418})
write(3, " \33[4;36;1mTrademark Load (0.001"…, 105) = 105
gettimeofday({1192791059, 693853}, NULL) = 0
select(8, [5 7], [], [], {0, 0}) = 0 (Timeout)
stat64(“script/…/config/…/public//Bilder/S/s0008949/BMW/BMW-530d-
touring-Edition-Sport–2001-2004-.jpg”, 0xbfe5cbc0) = -1 ENOENT (No
such file or directory)
open("/usr/share/locale-langpack/de_DE.UTF-8/LC_MESSAGES/libc.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE.utf8/LC_MESSAGES/libc.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE.utf8/LC_MESSAGES/libc.mo", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE/LC_MESSAGES/libc.mo", O_RDONLY)
= -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE/LC_MESSAGES/libc.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.UTF-8/LC_MESSAGES/libc.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.utf8/LC_MESSAGES/libc.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de/LC_MESSAGES/libc.mo", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/share/locale/de/LC_MESSAGES/libc.mo", O_RDONLY) = 9
fstat64(9, {st_mode=S_IFREG|0644, st_size=123187, …}) = 0
mmap2(NULL, 123187, PROT_READ, MAP_PRIVATE, 9, 0) = 0xb62ff000
close(9) = 0
futex(0x85f1b10, FUTEX_WAIT, 2, NULL

Any ideas what could cause mongrel to wait here?

Thanks in advance,
Matthias

Hi,

We are experiencing the same problem, we are also running SuSE 10.2
(64 bits). The application has been running without any problem for
several weeks and yesterday this futex thing started (after a mongrel
restart).

We tried to revert back to an older kernel version without luck. Today
we will probably upgrade to 10.3 or move to CentOS to see if we can
avoid the issue.

Any tip on how to debug this problem would be appreciated. Thanks in
advance.

Ramon

Downgrading glibc to glibc-locale-2.5-25 solved the issue for us. We
need to investigate further, but for now the problem is solved.

Thanks a lot for that hint! I just went to yast and let it update/
reinstall the existing glibc-locale-2.5-34.5

That solved it for us!