Pan crashing in libgnuregex after -pthread switchover
Jason Andresen
jandrese at mitre.org
Wed Mar 17 11:51:02 PST 2004
I've been unable to get Pan to run after switching over to -pthread. It
used to be rock solid with -lc_r.
The backtrace suggests its a problem with libgnuregex, but I've tried
recompiling and it doesn't help:
(gdb) bt
#0 0x289d6e9b in pthread_testcancel () from /usr/lib/libpthread.so.1
#1 0x289d0ca7 in pthread_mutexattr_init () from /usr/lib/libpthread.so.1
#2 0x289cf7bb in pthread_mutexattr_init () from /usr/lib/libpthread.so.1
#3 0x08182000 in ?? ()
#4 0x28a00f26 in re_search () from /usr/lib/libgnuregex.so.2
#5 0x28a03746 in regexec () from /usr/lib/libgnuregex.so.2
#6 0x080ba7ca in score_add ()
#7 0x080ba8a2 in score_add ()
#8 0x080bac54 in ensure_articles_scored ()
#9 0x0806a6f4 in articlelist_refresh ()
#10 0x080d047c in group_article_forall ()
#11 0x0806a891 in articlelist_refresh ()
#12 0x287abca1 in g_thread_create_proxy ()
from /usr/local/lib/libglib-2.0.so.200
#13 0x289c3bfd in pthread_create () from /usr/lib/libpthread.so.1
#14 0x28aa49b3 in _ctx_start () from /lib/libc.so.5
The annoying thing is that I tried to map pan to use libc_r by adding
the following lines to libmap.conf:
[/usr/X11R6/bin/pan]
libpthread.so.1 libc_r.so.5
libpthread.so libc_r.so
And ldd seems to think that I did it right:
/usr/X11R6/bin/pan:
libintl.so.6 => /usr/local/lib/libintl.so.6 (0x28194000)
libgtkspell.so.0 => /usr/X11R6/lib/libgtkspell.so.0 (0x2819d000)
libaspell.so.15 => /usr/local/lib/libaspell.so.15 (0x281a7000)
libgtk-x11-2.0.so.200 => /usr/X11R6/lib/libgtk-x11-2.0.so.200
(0x2823f00
0)
libgdk-x11-2.0.so.200 => /usr/X11R6/lib/libgdk-x11-2.0.so.200
(0x2849300
0)
libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x28502000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x28506000)
libatk-1.0.so.400 => /usr/local/lib/libatk-1.0.so.400 (0x2850e000)
libgdk_pixbuf-2.0.so.200 =>
/usr/X11R6/lib/libgdk_pixbuf-2.0.so.200 (0x2
8528000)
libm.so.2 => /lib/libm.so.2 (0x2853b000)
libpangoxft-1.0.so.200 => /usr/X11R6/lib/libpangoxft-1.0.so.200
(0x28554
000)
libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x28575000)
libfreetype.so.9 => /usr/local/lib/libfreetype.so.9 (0x28587000)
libz.so.2 => /lib/libz.so.2 (0x285ef000)
libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x285fd000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x28604000)
libfontconfig.so.1 => /usr/X11R6/lib/libfontconfig.so.1
(0x28612000)
libpangox-1.0.so.200 => /usr/X11R6/lib/libpangox-1.0.so.200
(0x28639000)
libgobject-2.0.so.200 => /usr/local/lib/libgobject-2.0.so.200
(0x2873b00
0)
libgmodule-2.0.so.200 => /usr/local/lib/libgmodule-2.0.so.200
(0x2876e00
0)
libglib-2.0.so.200 => /usr/local/lib/libglib-2.0.so.200
(0x28772000)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x287da000)
libxml2.so.5 => /usr/local/lib/libxml2.so.5 (0x288c8000)
libpthread.so.1 => /usr/lib/libc_r.so.5 (0x289ba000)
libgthread-2.0.so.200 => /usr/local/lib/libgthread-2.0.so.200
[Acres of ldd output snipped, available upon request. All of the
threaded libraries show libpthread.so.1 => /usr/lib/libc_r.so.5 though.]
It seems to me that every libpthread.so.1 maps to a libc_r.so.5, but
when I actually run pan it still crashes and shows libpthread in the
backtrace. Does anybody have a clue as to what is going on here? I'm
reluctant to ask the Pan guys because this looks like a FreeBSD problem
to me.
--
\ |_ _|__ __|_ \ __| Jason Andresen jandrese at mitre.org
|\/ | | | / _| Network and Distributed Systems Engineer
_| _|___| _| _|_\___| Office: 703-883-7755
More information about the freebsd-current
mailing list