On a SPARC running Solaris 2.7, my application crashed with a bus error.
Here is the stack trace form the core:
[1] lh_retrieve(0x63150, 0x522c7, 0xf4624, 0x61737465, 0xcbb0588c, 0xf8220),
at 0x61be0
[2] ERR_get_state(0xdf000, 0xc5cf8, 0x6523, 0x0, 0xef5d5250, 0x3466), at
0x63340
[3] get_error_values(0x1, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x62b68
[4] 0xef786da8(0x10ec00, 0xef5d5250, 0x0, 0x0, 0x0, 0x0), at 0xef786da7
=>[5] __cMsgThread::~__cMsgThread(this = 0x10ec00), line 134 in
"SockTest.cpp"
[6] __SLIP.DELETER__A(0x10ec00, 0x1, 0xef5a3138, 0xef5a6ae8, 0xef7951c3,
0x0), at 0x32258
[7] __cMsgThread::ThreadMain(this = 0x10ec00), line 237 in "SockTest.cpp"
[8] ThreadRootStartingPoint(pThreadInstance = 0x10ec00), line 74 in
"cThread.cpp"
Significant notes:
This code didn't cause a problem until about the 8,000th call to it (as you
can see the code is in a destructor for a Thread class that I wrote; about
8,000 threads were successfully started and stopped before this one
crashed).
The SSL library was never initialized. Why?? Because in my little world,
sockets know about SSL things; threads do not. SSL has nothing to with
threads, as threads can be used for anything. Unfortunately, it appears
that there is some mandatory SSL cleanup that must occur before exiting a
thread, so I have to just arbitrarily call these functions at thread
termination.
Can you see why I might have gotten this bus error, and more importantly,
can you fix the problem?
Thanks,
Bill Rebey
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]