Subject: Re: "parked" processes hell: debug available..
To: George Michaelson <firstname.lastname@example.org>
From: Andrew Doran <email@example.com>
Date: 09/21/2007 17:10:32
On Fri, Sep 21, 2007 at 10:31:25AM +1000, George Michaelson wrote:
> This parking thing is still there for me. even with -O0 state on
> I have been able to get a back-trace on where its doing the
> parking. Its coming in (in this instance) via citrus/i8n stuff.
Thanks, that's very useful.
> (to think that we have allowed s/w to get this horrendously, insanely
> complicated. a 62-deep procedure-call stack..)
> Program received signal SIGINT, Interrupt.
> 0xbaf01987 in _lwp_park () from /usr/lib/libc.so.12
> (gdb) where
> #0 0xbaf01987 in _lwp_park () from /usr/lib/libc.so.12
> #1 0xbb3ed94f in pthread__park () from /usr/lib/libpthread.so.0
> #2 0xbb3e9662 in pthread_rwlock_tryrdlock () from /usr/lib/libpthread.so.0
> #3 0xbb3e9808 in pthread_rwlock_wrlock () from /usr/lib/libpthread.so.0
> #4 0xbaf4c854 in _citrus_mapper_open () from /usr/lib/libc.so.12
I can reproduce this locally with gnome-terminal. It appears to be a problem
in libc, with citrus trying to recursively acquire a reader-writer lock. It
would have silently errored out before. I'm trying to figure out how it's
managing to recurse like that.