$NetBSD$ --- security/manager/ssl/src/nsSSLThread.cpp.orig 2008-04-12 13:47:24.000000000 +0900 +++ security/manager/ssl/src/nsSSLThread.cpp @@ -1102,7 +1102,24 @@ void nsSSLThread::Run(void) } } - { + /* + Sometimes the singleton object is gone at this time. I don't know why. (PHO) + + #0 nsSSLThread::~nsSSLThread (this=0x7492050) at nsSSLThread.cpp:61 + #1 0x017c6d7c in nsNSSComponent::~nsNSSComponent (this=0x748cb80) at nsNSSComponent.cpp:318 + #2 0x017c279c in nsNSSComponent::Release (this=0x748cb80) at nsNSSComponent.cpp:1774 + #3 0x017d0d04 in nsNSSComponentConstructor (aOuter=0x748cb80, aIID=@0x1b5dfc0, aResult=0xf0305a28) at nsNSSModule.cpp:166 + #4 0x01a13528 in nsComponentManagerImpl::CreateInstance () at nsCertTree.cpp:1300 + #5 0x01a13728 in nsComponentManagerImpl::GetService () at nsCertTree.cpp:1300 + #6 0x019d1ed4 in nsGetServiceByCIDWithError::operator() () at nsCertTree.cpp:1300 + #7 0x019d0c54 in nsCOMPtr_base::assign_from_gs_cid_with_error () at nsCertTree.cpp:1300 + #8 0x017cc860 in nsHandleSSLError (socketInfo=0x63aa2c0, err=-12268) at ../../../../dist/include/xpcom/nsCOMPtr.h:669 + #9 0x017cd120 in nsSSLThread::checkHandshake (bytesTransfered=-1, wasReading=0, ssl_layer_fd=0x63a5a90, socketInfo=0x63aa2c0) at nsNSSIOLayer.cpp:1674 + #10 0x017bce68 in nsSSLThread::Run (this=0x63a32d0) at nsSSLThread.cpp:1040 + #11 0x00064670 in _pt_root () + #12 0x9002bd08 in _pthread_body () + */ + if (ssl_thread_singleton) { nsAutoLock threadLock(ssl_thread_singleton->mMutex); if (mBusySocket) {