atom feed23 messages in org.freebsd.freebsd-threadsmalloc(): error: recursive call
FromSent OnAttachments
Petri HeleniusMay 27, 2003 5:52 am 
Daniel EischenMay 27, 2003 7:46 am 
Petri HeleniusMay 27, 2003 11:03 am 
Daniel EischenMay 27, 2003 11:10 am 
Petri HeleniusMay 27, 2003 2:17 pm 
Daniel EischenMay 27, 2003 3:03 pm 
Daniel EischenMay 27, 2003 4:29 pm 
Petri HeleniusMay 27, 2003 10:57 pm 
Petri HeleniusMay 27, 2003 11:30 pm 
Petri HeleniusMay 28, 2003 12:24 am 
Mike MakonnenMay 28, 2003 12:59 am 
David XuMay 28, 2003 1:56 am 
Petri HeleniusMay 28, 2003 2:25 am 
David XuMay 28, 2003 2:37 am 
Petri HeleniusMay 28, 2003 6:51 am 
Petri HeleniusMay 28, 2003 8:01 am 
Daniel EischenMay 28, 2003 6:23 pm 
Daniel EischenMay 28, 2003 6:28 pm 
Petri HeleniusMay 29, 2003 12:58 am 
Daniel EischenMay 29, 2003 6:28 am 
Martin BlappMay 29, 2003 6:44 am 
Daniel EischenMay 29, 2003 7:57 am 
Terry LambertMay 29, 2003 8:36 am 
Subject:malloc(): error: recursive call
From:Daniel Eischen (eisc@pcnet5.pcnet.com)
Date:May 27, 2003 4:29:24 pm
List:org.freebsd.freebsd-threads

On Wed, 28 May 2003, Petri Helenius wrote:

And what does `ldd libnetsnmp.so.x`, `ldd libfoo.y`, show?

=20 They give empty replies. =20

What is `ldd yourexecutable` show?

=20 It=B4s usually linked static but if I remove the -static line it says: libnetsnmp.so.5 =3D> /usr/local/lib/libnetsnmp.so.5 (0x2807f000) libcrypto.so.3 =3D> /usr/lib/libcrypto.so.3 (0x280fe000) libpcap.so.2 =3D> /usr/lib/libpcap.so.2 (0x28209000) libkse.so.1 =3D> /usr/lib/libkse.so.1 (0x28225000) libc.so.5 =3D> /usr/lib/libc.so.5 (0x28246000) =20

malloc is thread safe and we've been using it fine with all our tests. I suspect you're using another library that is using libc_r or something.

=20 malloc works for me with for example linuxthreads. So I do believe that the the trigger for malloc locking works, however looking at the code, spinlocks are implemented differently depending on which thread library i= s linked in.

Also, you do need a relatively recent kernel. There are a couple of flags in each thread's mailbox that the kernel needs to recognize. This change was committed to the kernel around April 21, 2003