Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Mar 2004 02:51:49 -0800
From:      Alfred Perlstein <alfred@freebsd.org>
To:        David Xu <davidxu@freebsd.org>
Cc:        current@freebsd.org
Subject:   Re: fix for libpthread
Message-ID:  <20040303105149.GH56622@elvis.mu.org>
In-Reply-To: <20040303104657.GG56622@elvis.mu.org>
References:  <20040303061144.GE56622@elvis.mu.org> <404592F5.1060206@freebsd.org> <20040303104657.GG56622@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
* Alfred Perlstein <alfred@freebsd.org> [040303 02:46] wrote:
> * David Xu <davidxu@freebsd.org> [040303 00:09] wrote:
> > Alfred Perlstein wrote:
> > 
> > >This assertion doesn't seem necessary.  Apply to 
> > >src/lib/libpthread/thread/thr_spinlock.c
> > >
> > As I saw some reports in the -CURRENT list,  the panic is always 
> > triggered by mix up
> > of libc_r and libpthread in same program. So to avoid other mysterious 
> > crashes,
> > I'd like keep the code there, it is now used to check the problem.
> 
> Can you clarify?  Without this patch mplayer refuses to work for
> me and crashes at startup.  With the patch it runs just fine.
> 
> Is there a workaround?

I sort of see what you are saying:
~ % ldd `which mplayer`
/usr/local/bin/mplayer:
        libpng.so.5 => /usr/local/lib/libpng.so.5 (0x2828e000)
        libz.so.2 => /lib/libz.so.2 (0x282b0000)
        libfreetype.so.9 => /usr/local/lib/libfreetype.so.9 (0x282bd000)
        libncurses.so.5 => /lib/libncurses.so.5 (0x28320000)
        libGL.so.1 => /usr/X11R6/lib/libGL.so.1 (0x2835c000)
        libXv.so.1 => /usr/X11R6/lib/libXv.so.1 (0x283c9000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x283ce000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x283dd000)
        libpthread.so.1 => /usr/lib/libpthread.so.1 (0x284a5000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x284c8000)
        libintl.so.6 => /usr/local/lib/libintl.so.6 (0x285b7000)
        libm.so.2 => /lib/libm.so.2 (0x285bf000)
        libc.so.5 => /lib/libc.so.5 (0x285d7000)
        libc_r.so.5 => /usr/lib/libc_r.so.5 (0x286a2000)

I see somehow it got linked against BOTH libpthread and libc_r,
there has to be a way to prevent that sort of bogus linkage
from happening. :(  Or at least make it work right when it
does happen...

-- 
- Alfred Perlstein
- Research Engineering Development Inc.
- email: bright@mu.org cell: 408-480-4684



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040303105149.GH56622>