Fatal error 'Spinlock called when not threaded.' ... (Re:FreeBSD 5.3-BETA6 available)

Daniel Eischen deischen at freebsd.org
Mon Sep 27 06:04:23 PDT 2004

On Mon, 27 Sep 2004, Andreas Klemm wrote:

> On Sun, Sep 26, 2004 at 07:36:26PM -0400, Daniel Eischen wrote:
> > On Sun, 26 Sep 2004, Andreas Klemm wrote:
> >
> > > Creating this helped (thanks to google ;-)
> > >
> > > /etc/libmap.conf:
> > > 	libpthread.so.1		libc_r.so.5
> > > 	libpthread.so		libc_r.so
> > >
> > > Has there been a change last recently ?
> >
> > No, not recently, but a few months ago.  You're suppose to read
> > src/UPDATING.  Hint, search for entries 20040303 and 20040130.
> No I cannot be hitten by this. I upgrated multiple times via
> several Beta stages.

Read closer.  This affects your ports, not the base system.  Any
older ports will be linked to libc_r, while newer ports will be
linked to libpthread.  Unless you rebuild all your ports from
scratch, there will likely be ports linked to both libraries.
Use 'ldd' on any executables that are giving you problems and
you'll see.

The problem is mostly due to shared libraries being linked to
libc_r.  Rebuilding a multithreaded application that depends
on such a shared library will link the application to libpthread,
but the shared library will still be linked to libc_r.  This
causes both libc_r and libpthread to be loaded when the program
is run.

ports@ will tell you to use 'portupgrade -af' to rebuild
everything to remove dependencies to libc_r (make sure you
get rid of /etc/libmap.conf first).

Dan Eischen

More information about the freebsd-current mailing list