From owner-freebsd-current@FreeBSD.ORG Wed Mar 17 11:51:02 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 099DA16A4CE for ; Wed, 17 Mar 2004 11:51:02 -0800 (PST) Received: from smtp-mclean.mitre.org (smtp-mclean-x.mitre.org [192.80.55.71]) by mx1.FreeBSD.org (Postfix) with ESMTP id A4E9D43D1D for ; Wed, 17 Mar 2004 11:51:01 -0800 (PST) (envelope-from jandrese@mitre.org) Received: from smtp-mclean.mitre.org (localhost.localdomain [127.0.0.1]) by smtp-mclean.mitre.org (8.11.6/8.11.6) with ESMTP id i2HJp1I16278 for ; Wed, 17 Mar 2004 14:51:01 -0500 Received: from MAILHUB2 (mailhub2.mitre.org [129.83.221.18]) by smtp-mclean.mitre.org (8.11.6/8.11.6) with ESMTP id i2HJp0o16239 for ; Wed, 17 Mar 2004 14:51:00 -0500 Received: from mm112324-2k.mitre.org (128.29.3.14) by mailhub2.mitre.org with SMTP id 1961268; Wed, 17 Mar 2004 14:50:46 -0500 Message-ID: <4058AC1C.10208@mitre.org> Date: Wed, 17 Mar 2004 14:50:52 -0500 From: Jason Andresen User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6) Gecko/20040113 X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-current@freebsd.org Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Subject: Pan crashing in libgnuregex after -pthread switchover X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Mar 2004 19:51:02 -0000 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@mitre.org |\/ | | | / _| Network and Distributed Systems Engineer _| _|___| _| _|_\___| Office: 703-883-7755