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:Petri Helenius (pe@he.iki.fi)
Date:May 27, 2003 2:17:36 pm
List:org.freebsd.freebsd-threads

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

They give empty replies.

What is `ldd yourexecutable` show?

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

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.

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 is linked in.

I have only I686_CPU on my kernel config and I don?t include pthread.h to all object files because it?s not supposed to be neccessary. (only those which call pthread_* functions) The code is compiled on a machine with no SMP and run on both SMP and non-SMP machines.

Do I understand correctly that libkse mutexes always require syscall when locking and unlocking?

Pete