Closed Bug 669599 Opened 14 years ago Closed 9 years ago

ASSERTION: nsNTLMAuthModule not thread-safe: '_mOwningThread.GetThread() == PR_GetCurrentThread()

Categories

(Core :: Security: PSM, defect)

5 Branch
All
Other
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: pjemen, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Build ID: 20110615151330 Steps to reproduce: I've a debug compilation of Tb5. No extension installed a new profile. I'm accessing to MS Exchange account over IMAP with NTLM authentication. Server is MS Exchange 2000 running on Win2k. Actual results: Is it ok that I see assertions during Thunderbird shutdown? "###!!! ASSERTION: nsNTLMAuthModule not thread-safe: '_mOwningThread.GetThread() == PR_GetCurrentThread()', file d:/Thunderbird/50000/src/mozilla/security/manager/ssl/src/nsNTLMAuthModule.cpp, line 781" const char * Assertions occurs in main thread and I also see 2 other threads connected with nsImapProtocol. Here are call stacks. -------------------------------------------------------------------------------- ntdll.dll!_DbgBreakPoint@0() xul.dll!RealBreak() xul.dll!Break(const char * aMsg=0x0012d104) xul.dll!NS_DebugBreak_P(unsigned int aSeverity=1, const char * aStr=0x12be0f9c, const char * aExpr=0x12be0f68, const char * aFile=0x12be0f18, int aLine=781) xul.dll!nsNTLMAuthModule::Release() xul.dll!nsCOMPtr<nsIAuthModule>::~nsCOMPtr<nsIAuthModule>() xul.dll!nsMsgProtocol::~nsMsgProtocol() xul.dll!nsImapProtocol::~nsImapProtocol() xul.dll!nsImapProtocol::`scalar deleting destructor'() xul.dll!nsMsgProtocol::Release() xul.dll!nsImapProtocol::Release() xul.dll!NS_ProxyRelease(nsIEventTarget * target=0x01752a88, nsISupports * doomed=0x04c76ae0, int alwaysProxy=0) xul.dll!nsProxyObject::~nsProxyObject() xul.dll!nsProxyObject::`scalar deleting destructor'() xul.dll!nsProxyObject::LockedRelease() xul.dll!nsProxyObject::Release() xul.dll!nsCOMPtr<nsProxyObject>::~nsCOMPtr<nsProxyObject>() xul.dll!nsProxyEventObject::~nsProxyEventObject() xul.dll!nsProxyEventObject::`scalar deleting destructor'() xul.dll!nsProxyEventObject::Release() xul.dll!nsRefPtr<nsProxyEventObject>::assign_assuming_AddRef(nsProxyEventObject * newPtr=0x00000000) xul.dll!nsRefPtr<nsProxyEventObject>::assign_with_AddRef(nsProxyEventObject * rawPtr=0x00000000) xul.dll!nsRefPtr<nsProxyEventObject>::operator=(nsProxyEventObject * rhs=0x00000000) xul.dll!nsProxyObjectCallInfo::~nsProxyObjectCallInfo() xul.dll!nsProxyObjectCallInfo::`scalar deleting destructor'() xul.dll!nsRunnable::Release() xul.dll!nsCOMPtr<nsIRunnable>::~nsCOMPtr<nsIRunnable>() xul.dll!nsThread::ProcessNextEvent(int mayWait=1, int * result=0x0012d77c) xul.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x01752a88, int mayWait=1) xul.dll!nsThread::Shutdown() xul.dll!nsSound::PurgeLastSound() xul.dll!nsSound::~nsSound() xul.dll!nsSound::`scalar deleting destructor'() xul.dll!nsSound::Release() xul.dll!nsSoundPlayer::SoundReleaser::Run() xul.dll!nsThread::ProcessNextEvent(int mayWait=0, int * result=0x0012d89c) xul.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x01752a88, int mayWait=0) xul.dll!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate * aDelegate=0x0100ef20) xul.dll!MessageLoop::RunInternal() xul.dll!MessageLoop::RunHandler() xul.dll!MessageLoop::Run() xul.dll!nsBaseAppShell::Run() xul.dll!nsAppShell::Run() xul.dll!nsAppStartup::Run() xul.dll!XRE_main(int argc=1, char * * argv=0x0100c2a8, const nsXREAppData * aAppData=0x0100c710) thunderbird.exe!NS_internal_main(int argc=1, char * * argv=0x0100c2a8) thunderbird.exe!wmain(int argc=1, wchar_t * * argv=0x0100c230) thunderbird.exe!__tmainCRTStartup() thunderbird.exe!wmainCRTStartup() kernel32.dll!_BaseProcessStart@4() ------------------------------------------------------------------------ ntdll.dll!_KiFastSystemCallRet@0() ntdll.dll!_NtWaitForSingleObject@12() kernel32.dll!_WaitForSingleObjectEx@12() kernel32.dll!_WaitForSingleObject@8() nspr4.dll!_PR_MD_WAIT_CV(_MDCVar * cv=0x03a6c5a4, _MDLock * lock=0x01c281c4, unsigned int timeout=4294967295) nspr4.dll!_PR_WaitCondVar(PRThread * thread=0x04a36400, PRCondVar * cvar=0x03a6c530, PRLock * lock=0x01c281a8, unsigned int timeout=4294967295) nspr4.dll!PR_Wait(PRMonitor * mon=0x03b15220, unsigned int ticks=4294967295) xul.dll!mozilla::Monitor::Wait(unsigned int interval=4294967295) xul.dll!mozilla::MonitorAutoEnter::Wait(unsigned int interval=4294967295) xul.dll!nsEventQueue::GetEvent(int mayWait=1, nsIRunnable * * result=0x068afc60) xul.dll!nsThread::nsChainedEventQueue::GetEvent(int mayWait=1, nsIRunnable * * event=0x068afc60) xul.dll!nsThread::ProcessNextEvent(int mayWait=1, int * result=0x068afc98) xul.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x02b7c958, int mayWait=1) xul.dll!nsProxyEventObject::CallMethod(unsigned short methodIndex=3, const XPTMethodDescriptor * methodInfo=0x01b36508, nsXPTCMiniVariant * params=0x068afd44) xul.dll!PrepareAndDispatch(nsXPTCStubBase * self=0x04171320, unsigned int methodIndex=3, unsigned int * args=0x068afe04, unsigned int * stackBytesToPop=0x068afdf4) xul.dll!SharedStub() xul.dll!nsImapProtocol::TellThreadToDie() xul.dll!nsImapProtocol::TellThreadToDie() xul.dll!nsImapProtocol::ImapThreadMainLoop() xul.dll!nsImapProtocol::Run() xul.dll!nsThread::ProcessNextEvent(int mayWait=1, int * result=0x068aff10) xul.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x02b7c958, int mayWait=1) xul.dll!nsThread::ThreadFunc(void * arg=0x02b7c958) nspr4.dll!_PR_NativeRunThread(void * arg=0x04a36400) nspr4.dll!pr_root(void * arg=0x04a36400) msvcr80d.dll!_callthreadstartex() msvcr80d.dll!_threadstartex(void * ptd=0x04c06f78) kernel32.dll!_BaseThreadStart@8() ------------------------------------------------------------------------ ntdll.dll!_KiFastSystemCallRet@0() ntdll.dll!_NtWaitForSingleObject@12() kernel32.dll!_WaitForSingleObjectEx@12() kernel32.dll!_WaitForSingleObject@8() nspr4.dll!_PR_MD_WAIT_CV(_MDCVar * cv=0x03bf98dc, _MDLock * lock=0x03c95624, unsigned int timeout=4294967295) nspr4.dll!_PR_WaitCondVar(PRThread * thread=0x03a11ad8, PRCondVar * cvar=0x03bf9868, PRLock * lock=0x03c95608, unsigned int timeout=4294967295) nspr4.dll!PR_Wait(PRMonitor * mon=0x04e68a78, unsigned int ticks=4294967295) xul.dll!mozilla::Monitor::Wait(unsigned int interval=4294967295) xul.dll!mozilla::MonitorAutoEnter::Wait(unsigned int interval=4294967295) xul.dll!nsEventQueue::GetEvent(int mayWait=1, nsIRunnable * * result=0x06dafc60) xul.dll!nsThread::nsChainedEventQueue::GetEvent(int mayWait=1, nsIRunnable * * event=0x06dafc60) xul.dll!nsThread::ProcessNextEvent(int mayWait=1, int * result=0x06dafc98) xul.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x03c80448, int mayWait=1) xul.dll!nsProxyEventObject::CallMethod(unsigned short methodIndex=3, const XPTMethodDescriptor * methodInfo=0x01b36508, nsXPTCMiniVariant * params=0x06dafd44) xul.dll!PrepareAndDispatch(nsXPTCStubBase * self=0x0472c8c8, unsigned int methodIndex=3, unsigned int * args=0x06dafe04, unsigned int * stackBytesToPop=0x06dafdf4) xul.dll!SharedStub() xul.dll!nsImapProtocol::TellThreadToDie() xul.dll!nsImapProtocol::TellThreadToDie() xul.dll!nsImapProtocol::ImapThreadMainLoop() xul.dll!nsImapProtocol::Run() xul.dll!nsThread::ProcessNextEvent(int mayWait=1, int * result=0x06daff10) xul.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x03c80448, int mayWait=1) xul.dll!nsThread::ThreadFunc(void * arg=0x03c80448) nspr4.dll!_PR_NativeRunThread(void * arg=0x03a11ad8) nspr4.dll!pr_root(void * arg=0x03a11ad8) msvcr80d.dll!_callthreadstartex() msvcr80d.dll!_threadstartex(void * ptd=0x04d4d0b8) kernel32.dll!_BaseThreadStart@8()
Kaie is this the right component ?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Are you still seeing these?
Flags: needinfo?(pjemen)
(In reply to David Keeler [:keeler] (use needinfo?) from comment #2) > Are you still seeing these? I stopped developing extension for Thunderbird. So I don't know if the assertion is present in the latest builds of Thunderbird.
Flags: needinfo?(pjemen)
Ok - thanks for the update. I'll close this as incomplete for now, but anyone should feel free to reopen this if they can reproduce the issue.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.