On 12/02/2009 10:39 AM, Andrew Stitcher wrote:
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.
Nope, I'm testing on f11. I have cluster module & cluster_test building and
passing tests but core dumping on exit as above.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org