libkse and bus error

Morten Rodal morten at rodal.no
Sun Oct 19 22:44:55 PDT 2003


On Sun, Oct 19, 2003 at 05:50:54PM -0400, Daniel Eischen wrote:
> On Sun, 19 Oct 2003, Morten Rodal wrote:
> 
> > On Sun, Oct 19, 2003 at 02:16:27PM -0400, Daniel Eischen wrote:
> > > On Sun, 19 Oct 2003, Morten Rodal wrote:
> > > 
> > > > I seem to be able to crash almost every pthread program that uses
> > > > pthread_mutex'es.  First I thought it was a problem with
> > > > pthread_testcancel(), until I compiled libkse with DEBUG_FLAGS=-g on
> > > > one of machines.
> > > > 
> > > > Backtrace from a machine with DEBUG_FLAGS=-g and libkse:
> > > > 
> > > > #0  0x28e6ed1b in kse_thr_interrupt () at {standard input}:15
> > > > #1  0x28e5f990 in _thr_sig_add (pthread=0x81fab00, sig=136293172,
> > > > info=0x0)
> > > >     at /usr/src/lib/libpthread/thread/thr_sig.c:885
> > > > #2  0x28e687cb in kse_check_completed (kse=0x81fab00)
> > > >     at /usr/src/lib/libpthread/thread/thr_kern.c:1558
> > > > #3  0x28e6721c in kse_sched_multi (kmbx=0x17e)
> > > >     at /usr/src/lib/libpthread/thread/thr_kern.c:1021
> > > 
> > > This is a problem.  The mailbox pointer is invalid.
> > > 
> > 
> > I thought it looked a bit strange.  Any clues to what might have
> > caused this?
> 
> When I've seen it before, it's when %gs becomes corrupted.  Nvidia
> uses static ldt allocation and this can screw things up.  If you
> are getting any static ldt allocations out of the kernel, that is
> the problem.
> 

Ok.  Then that's probably my problem.  I did see some warnings about
pids using static ldt allocation, but they haven't appeared for a
while now.  So my threading support is in the hands of nvidia now.
That kind of sucks, but I guess I can live with it..

-- 
Morten Rodal



More information about the freebsd-threads mailing list