|
|
Le Thu, 28 Aug 2008 13:58:14 -0400, Le Forgeron a modifié des petits
morceaux de l'univers pour nous faire lire :
> Either that, or the C++ memory allocator/deallocator is not thread-
> safe... or the one in libc.6 (missing an option for malloc thread-safe
> ?)
Well, looking on internet, looks like clone & malloc of glibc are not
friends (glibc wants its own thread_creation to provide a thread-safe
malloc: clone user are assumed to deal with that themselves...):
http://osdir.com/ml/lib.glibc.bugs/2003-01/msg00012.html
http://sourceware.org/ml/libc-alpha/2006-01/msg00086.html
> Program received signal SIGSEGV, Segmentation fault.
> #2 0x00002ab9448803b0 in malloc () from /lib/libc.so.6
> #18 0x00002ab9448d1edd in clone () from /lib/libc.so.6
> #1 0x00002b2b5192d3b0 in malloc () from /lib/libc.so.6
> #25 0x00002b2b5197eedd in clone () from /lib/libc.so.6
> in malloc () from /lib/libc.so.6
> 0x00002b9ec6396edd in clone () from /lib/libc.so.6
Now, if I could find where in the source is that call to clone() (which
might be via some macro & include from other libraries, might be boost
too), it might be worth trying to clone via pthread_create instead when
on Linux.
Post a reply to this message
|
|