Subject: Advice on debugging pthreads problems
To: None <port-sparc64@NetBSD.org>
From: segv <segv@netctl.net>
List: port-sparc64
Date: 08/20/2005 16:02:29
Hi, I'm using www/galeon as my main web browser on Ultra10 running
NetBSD-current. As posted previously, it keeps crashing quite often and I think
most of the crashes are related to the pthreads implementation on NetBSD. Below
is a fragment from gdb when galeon crashed, crashes seem to be random, i.e.
sometimes it crashes in pthreads library with SIGBUS, sometimes in Xft library
with SIGSEGV

Loaded symbols for /usr/pkg/lib/firefox/components/libeditor.so
0x000000004700f590 in poll () from /usr/lib/libpthread.so.0
(gdb) continue
Continuing.

Program received signal SIGBUS, Bus error.
[Switching to LWP 3]
0x000000004700f590 in poll () from /usr/lib/libpthread.so.0
(gdb) where
#0  0x000000004700f590 in poll () from /usr/lib/libpthread.so.0
Error accessing memory address 0x2c2e9e: Invalid argument.
(gdb) 

Is there a good way to debug these problems, i.e. how do I go about it, and
where do I need to look? I was reading on scheduler activations and the way I
understand it there is a user level threading library and then there is a
kernel level threading implementation. Do you think the problems are attributed
to the kernel level implementation? Are they likely to be in the scheduler
activations code or maybe in some assembly routine that is part of another
module?