On Tue, 2009-12-01 at 16:34 -0500, Alan Conway wrote: > ...I'm getting this core dump on exit from the cluster_tests in a cmake build: > > #0 0x00000038e0075bb8 in malloc_consolidate () from /lib64/libc.so.6 > #1 0x00000038e0078022 in _int_malloc () from /lib64/libc.so.6 > #2 0x00000038e0079fe8 in calloc () from /lib64/libc.so.6 > #3 0x00000031cee14463 in ?? () from /lib64/libnspr4.so > #4 0x00000031cee1aeff in ?? () from /lib64/libnspr4.so > #5 0x00000031cee2865d in PR_GetCurrentThread () from /lib64/libnspr4.so > #6 0x00000031cee1a397 in PR_SetError () from /lib64/libnspr4.so > #7 0x00000031cfa1863d in NSS_Shutdown () from /lib64/libnss3.so > #8 0x00007f5f94296689 in qpid::sys::ssl::shutdownNSS () at > /home/aconway/qpid/qpid/cpp/src/qpid/sys/ssl/util.cpp:115 > #9 0x00007f5f934d5607 in qpid::client::(anonymous > namespace)::StaticInit::~StaticInit (this=0x38e0369e80, __in_chrg=<value > optimized out>) at > /home/aconway/qpid/qpid/cpp/src/qpid/client/SslConnector.cpp:163 > #10 0x00000038e0036bc0 in __cxa_finalize () from /lib64/libc.so.6 > #11 0x00007f5f934d5556 in __do_global_dtors_aux () from > /home/aconway/qpid/qpid/cmake/src/sslconnector.so > #12 0x0000000000000000 in ?? () > > This looks suspect to me, doing anything of any complexity in a static > destructor is dangerous, unless the NSS library specifically states that its > safe to shutdown this way.
I'd tend to agree - perhaps this should run on module unload - oh wait - we don't have any way except static destruction to indicate module unload. > > Not sure why its affecting the cluster tests as they don't use SSL, nor why > it's > happening in cmake build and not in automake build (I'm trying to get the > cluster tests running in a cmake build) The cmake build correctly uses the -mt versions of the libs in versions of boost that have them (the ones in fedora do, the ones in rhel don't) whereas the autotools build always uses the non -mt versions. That could be the difference. However, the current checked in cluster module doesn't build with cmake, giving undefined symbols with fedora 11/12 at least - it does work with rhel5 though. this is related to the new(ish) boost_system lib. So this indicates you must be testing using rhel5 which doesn't have -mt lib. Andrew --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org