Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Nov 2003 13:45:58 -0500
From:      "Christopher M. Sedore" <cmsedore@maxwell.syr.edu>
To:        "Morten Rodal" <morten@rodal.no>, "Daniel Eischen" <eischen@vigrid.com>
Cc:        threads@freebsd.org
Subject:   RE: libkse and bus error
Message-ID:  <32A8B2CB12BFC84D8D11D872C787AA9A515D9A@EXCHANGE.forest.maxwell.syr.edu>

next in thread | raw e-mail | index | archive | help
As a separate data point, I'm seeing occasional bus errors on some of my =
own code, also in pthread_testcancel.  If I could find a way to =
reproduce it, I'd post, but there I haven't found any consistent way to =
make it happen.
=20
-Chris

________________________________

From: owner-freebsd-threads@freebsd.org on behalf of Morten Rodal
Sent: Sun 11/23/2003 11:23 AM
To: Daniel Eischen
Cc: threads@freebsd.org
Subject: Re: libkse and bus error



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

> with dc++ (which this thread originally addressed).=20
>=20
> When ordering a airplane ticket from www.scandinavian.net Mozilla=20
> Firebird will crash when confirming the payment with a signal 10. This =

> happens on three completly different computers;=20
>=20
>  * Dual Pentium II 300MHz, libkse, kernel from Nov 19=20
>  * Pentium III 933MHz, libkse, kernel from Nov  3=20
>  * Pentium 4 1.7GHz, libkse, kernel from Nov 21=20
>=20
> Only the Dual Pentium is running nvidia drivers.  The others are =
running=20
> X11 drivers.=20
>=20
> All of them produce a MozillaFirebird-bin.core which has this =
backtrace=20
> (cut down to an absolute minimum since it is rather huge):=20
>=20
> #0  0x288c2ebb in pthread_testcancel () from /usr/lib/libkse.so.1=20
> #1  0x288bc91b in pthread_mutexattr_init () from /usr/lib/libkse.so.1=20
> #2  0x288bb36c in pthread_mutexattr_init () from /usr/lib/libkse.so.1=20
> #3  0x09b8d000 in ?? ()=20
> #4  0x283c5cac in gtk_widget_hide () from=20
> /usr/X11R6/lib/libgtk-x11-2.0.so.200=20
>=20
> I will recompile libkse with DEBUG_FLAGS=3D-g and see if I cant get =
any=20
> more accurate info than this.=20
>=20

Backtrace with debugging symbols in libkse:=20

#0  0x288c2f4b in kse_thr_interrupt () at /var/tmp//cc4HnJI9.s:15=20
#1  0x288b3b3d in _thr_sig_add (pthread=3D0x805e000, sig=3D134574132, =
info=3D0x0)=20
     at /usr/src/lib/libpthread/thread/thr_sig.c:885=20
#2  0x288bc9ab in kse_check_completed (kse=3D0x8057000)=20
     at /usr/src/lib/libpthread/thread/thr_kern.c:1558=20
#3  0x288bb3fc in kse_sched_multi (kmbx=3D0x17e)=20
     at /usr/src/lib/libpthread/thread/thr_kern.c:1021=20
#4  0x08287000 in ?? ()=20
#5  0x283c5cac in gtk_widget_hide () from=20
/usr/X11R6/lib/libgtk-x11-2.0.so.200=20


This is taken from the Pentium III machine, which has a ATI card with=20
X11 drivers.  I have never seen any mention of usage of static ldt=20
entries in the dmesg.=20

--=20
Morten Rodal=20



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