Subject: Re: After newlock2 merge: Different pthread behavior
To: None <M.Drochner@fz-juelich.de>
From: Steven M. Bellovin <smb@cs.columbia.edu>
List: current-users
Date: 03/23/2007 21:51:29
On Sat, 24 Mar 2007 00:50:51 +0100
Matthias Drochner <M.Drochner@fz-juelich.de> wrote:
>
> M.Drochner@fz-juelich.de said:
> > This is a "make" mostly
>
> I just got a fresh coredump:
>
> #0 0xbbb2c0ff in kill () from /usr/lib/libc.so.12
> #1 0xbbbc76d8 in abort () from /usr/lib/libc.so.12
> #2 0xbbbc5f74 in tcgetattr () from /usr/lib/libc.so.12
> #3 0xbbbc5fa5 in tcgetattr () from /usr/lib/libc.so.12
> #4 0xbbbc72d5 in free () from /usr/lib/libc.so.12
> #5 0x0804b61b in CompatRunCommand ()
> #6 0x080525a0 in Lst_ForEachFrom ()
> #7 0x08052551 in Lst_ForEach ()
> #8 0x0804af75 in Compat_Make ()
> #9 0x080525a0 in Lst_ForEachFrom ()
> #10 0x08052551 in Lst_ForEach ()
> #11 0x0804ae0e in Compat_Make ()
> #12 0x0804b230 in Compat_Run ()
> #13 0x08054e04 in main ()
>
Was there anything on the console? That's an abort() call -- for that
matter, I think your previous one was, too -- and may be application
bugginess. Look at /usr/src/lib/libc/termios/tcgetattr.c -- there's
a _DIAGASSERT that might have failed. I don't see the call in free(),
but I suspect it's a diagnostic call, too.
Now -- why that pointer might be null is an interesting question; I
have no theories on that.
--Steve Bellovin, http://www.cs.columbia.edu/~smb