From owner-freebsd-threads@FreeBSD.ORG Thu Jul 27 06:39:11 2006 Return-Path: X-Original-To: freebsd-threads@freebsd.org Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8359B16A4E0 for ; Thu, 27 Jul 2006 06:39:11 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: from py-out-1112.google.com (py-out-1112.google.com [64.233.166.178]) by mx1.FreeBSD.org (Postfix) with ESMTP id A2D8943D46 for ; Thu, 27 Jul 2006 06:39:10 +0000 (GMT) (envelope-from kip.macy@gmail.com) Received: by py-out-1112.google.com with SMTP id b36so98810pyb for ; Wed, 26 Jul 2006 23:39:10 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=IYscqreNE0F+rRNOFGqRfTteQtA5xVMSmDJj3TtEG8a5lgJmweXOFrOaC3oMKI53w/eHNBaHjz9m2UVX3SB72r1VKyiCy0eKDfY8wLd3+bGtF70mB8xE/Ru+0RmtC7mqgCbTA55kayifYLGjRsSHk14nvSTbhw/PRKCap47yGHE= Received: by 10.35.111.14 with SMTP id o14mr3403664pym; Wed, 26 Jul 2006 23:39:10 -0700 (PDT) Received: by 10.35.16.20 with HTTP; Wed, 26 Jul 2006 23:39:09 -0700 (PDT) Message-ID: Date: Wed, 26 Jul 2006 23:39:09 -0700 From: "Kip Macy" To: freebsd-threads@freebsd.org In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: Cc: David Xu Subject: Re: a couple of issues with libthr X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: kmacy@fsmware.com List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Jul 2006 06:39:11 -0000 checkdll isn't threaded, it looks like this is port foot shooting that libpthread somehow manages to workaround. So the only real issue is libthr breaking backward compatibility. -Kip On 7/26/06, Kip Macy wrote: > I have no idea why libc_r.so is involved. This is downright bizarre: > > > (gdb) bt > #0 0x28174623 in kill () at kill.S:2 > #1 0x280a3b32 in _raise (sig=3D6) at > /usr/home/kmacy/freebsd/usr/src/lib/libthr/thread/thr_sig.c:175 > #2 0x281732d4 in abort () from /lib/libc.so.7 > #3 0x280a86c7 in _thread_exit ( > fname=3D0x280a901c > "/usr/home/kmacy/freebsd/usr/src/lib/libthr/thread/thr_spinlock.c", > lineno=3D75, > msg=3D0x280a8ff8 "Spinlock called when not threaded.") > at /usr/home/kmacy/freebsd/usr/src/lib/libthr/thread/thr_exit.c:55 > #4 0x280a321c in _spinlock (lck=3D0x2893aa60) > at /usr/home/kmacy/freebsd/usr/src/lib/libthr/thread/thr_spinlock.c:7= 7 > #5 0x280a3243 in _spinlock_debug (lck=3D0x2893aa60, > fname=3D0x28937008 "/usr/src/lib/libc_r/uthread/uthread_fd.c", lineno= =3D150) > at /usr/home/kmacy/freebsd/usr/src/lib/libthr/thread/thr_spinlock.c:8= 6 > #6 0x2893409a in _thread_fd_table_init () from /usr/lib/libc_r.so.6 > #7 0x28932938 in _thread_init () from /usr/lib/libc_r.so.6 > #8 0x289292d6 in _thread_init_hack () from /usr/lib/libc_r.so.6 > #9 0x289354a5 in _find_thread () from /usr/lib/libc_r.so.6 > #10 0x28925c71 in _init () from /usr/lib/libc_r.so.6 > #11 0xbfbfbdd0 in ?? () > #12 0x2806f118 in ?? () from /libexec/ld-elf.so.1 > #13 0xbfbfbda8 in ?? () > #14 0x2804f175 in objlist_call_init (list=3D0x2806f118) > at /usr/home/kmacy/freebsd/usr/src/libexec/rtld-elf/rtld.c:1404 > #15 0x280524a5 in dlopen (name=3D0x2806d060 "=E46\a(\004", mode=3D2) > at /usr/home/kmacy/freebsd/usr/src/libexec/rtld-elf/rtld.c:1796 > #16 0x080488b0 in main () > Current language: auto; currently asm > (gdb) # > vt-x# gdb > ./work/soltools/unxfbsdi.pro/bin/checkdll > vt-x# ldd ./work/soltools/unxfbsdi.pro/bin/checkdll > ./work/soltools/unxfbsdi.pro/bin/checkdll: > libm.so.4 =3D> /lib/libm.so.4 (0x28085000) > libpthread.so.2 =3D> /usr/lib/libthr.so.2 (0x2809b000) > libc.so.7 =3D> /lib/libc.so.7 (0x280ac000) > vt-x# > > > > When compiling openoffice.org I get the following failure: > > rm -f ../../../unxfbsdi.pro/lib/check_libmozabdrv2.so > > mv ../../../unxfbsdi.pro/lib/libmozabdrv2.so > > ../../../unxfbsdi.pro/lib/check_libmozabdrv2.so > > /usr/home/kmacy/freebsd/usr/ports/editors/openoffice.org-2.0-devel/work= /solenv/bin/checkdll.sh > > -L../../../unxfbsdi.pro/lib -L../lib > > -L/usr/home/kmacy/freebsd/usr/ports/editors/openoffice.org-2.0-devel/wo= rk/solenv/unxfbsdi/lib > > -L/usr/home/kmacy/freebsd/usr/ports/editors/openoffice.org-2.0-devel/wo= rk/solver/680/unxfbsdi.pro/lib > > -L/usr/home/kmacy/freebsd/usr/ports/editors/openoffice.org-2.0-devel/wo= rk/solenv/unxfbsdi/lib > > -L/usr/local/diablo-jdk1.5.0/lib > > -L/usr/local/diablo-jdk1.5.0/jre/lib/i386 > > -L/usr/local/diablo-jdk1.5.0/jre/lib/i386/client > > -L/usr/local/diablo-jdk1.5.0/jre/lib/i386/native_threads > > -L/usr/X11R6/lib ../../../unxfbsdi.pro/lib/check_libmozabdrv2.so > > Checking DLL ../../../unxfbsdi.pro/lib/check_libmozabdrv2.so ...Fatal > > error 'Spinlock called when not threaded.' at line 75 in file > > /usr/home/kmacy/freebsd/usr/src/lib/libthr/thread/thr_spinlock.c > > (errno =3D 2) > > Abort trap (core dumped) > > dmake: Error code 1, while making '../../../unxfbsdi.pro/lib/libmozabd= rv2.so' > > > > Any suggestions? > > >