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>
