Subject: Re: Enabling Native Pthreads
To: Perry E. Metzger <perry@piermont.com>
From: Tom Ivar Helbekkmo <tih@eunetnorge.no>
List: current-users
Date: 02/24/2003 20:40:40
"Perry E. Metzger" <perry@piermont.com> writes:

> I have no more xmms problems under the most current -current, but
> mozilla routinely hangs for me if I touch it while the machine is
> very busy.

Weird.  Total opposite of what I see.  Could this have to do with the
type of sound card I use?  That the specific sound driver I'm using
somehow makes xmms tickle a bug in the native pthreads?

Anyway, if someone would like to tell me how to extract the right
information from my hanging xmms to help figure out what's wrong, I
can easily reproduce the situation within a couple of minutes.  Here's
what I observed with gdb today:

Start xmms, then, after a few seconds of playing, attach gdb:

(gdb) info threads
  5 Thread 0  0x4856525f in poll () from /usr/lib/libc.so.12
* 4 Thread 21  0x485651f3 in select () from /usr/lib/libc.so.12
  3 Thread 22  0x482dcec2 in pthread__locked_switch ()
   from /usr/lib/libpthread.so.0
  2 Thread 23  0x482dcec2 in pthread__locked_switch ()
   from /usr/lib/libpthread.so.0
  1 Thread 24  0x485651f3 in select () from /usr/lib/libc.so.12

Detach, let it play a bit, check again:

(gdb) info threads
  5 Thread 0  0x4856525f in poll () from /usr/lib/libc.so.12
* 4 Thread 21  0x485651f3 in select () from /usr/lib/libc.so.12
  3 Thread 22  0x482dcec2 in pthread__locked_switch ()
   from /usr/lib/libpthread.so.0
  2 Thread 23  0x482dcec2 in pthread__locked_switch ()
   from /usr/lib/libpthread.so.0
  1 Thread 24  0x485651f3 in select () from /usr/lib/libc.so.12

Detach, and wait.  Program hangs, attach gdb:

(gdb) info threads
* 5 Thread 0  0x4856525f in poll () from /usr/lib/libc.so.12
  4 Thread 21  0x485651f3 in select () from /usr/lib/libc.so.12
  3 Thread 22  0x482dcec2 in pthread__locked_switch ()
   from /usr/lib/libpthread.so.0
  2 Thread 25  0x482dcec2 in pthread__locked_switch ()
   from /usr/lib/libpthread.so.0
  1 Thread 26  0x482dcec2 in pthread__locked_switch ()
   from /usr/lib/libpthread.so.0

(This was a song or two later in the playlist, which may be why the
thread numbers have increased...?)

-tih
-- 
Tom Ivar Helbekkmo, Senior System Administrator, EUnet Norway
www.eunet.no  T: +47-22092958 M: +47-93013940 F: +47-22092901