Closed Bug 493005 Opened 16 years ago Closed 13 years ago

hang going offline - nsImapProtocol::TellThreadToDie called from the wrong thread

Categories

(MailNews Core :: Networking, defect)

x86
Windows XP
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: wsmwk, Unassigned)

Details

(Keywords: hang)

nightly build 20090513 windows xp clicked icon in status line to go offline - hang. - netstat indicates no imap connections, so they all closed. - status line icon did not change to offline - no cpu I'll try to get a dump before closing visual studio stack of __tmainCRTStartup PR_Lock Normal 0 > ntdll.dll!_KiFastSystemCallRet@0() ntdll.dll!_ZwWaitForSingleObject@12() + 0xc bytes ntdll.dll!_RtlpWaitForCriticalSection@4() + 0x8c bytes ntdll.dll!_RtlEnterCriticalSection@4() + 0x46 bytes nspr4.dll!PR_Lock(PRLock * lock=0x01823980) Line 234 C nspr4.dll!PR_EnterMonitor(PRMonitor * mon=0x01817180) Line 99 + 0x6 bytes C nspr4.dll!PR_CEnterMonitor(void * address=0x03b27c00) Line 380 + 0x6 bytes C thunderbird.exe!nsImapProtocol::CloseStreams() Line 1089 C++ xpcom_core.dll!NS_InvokeByIndex_P(nsISupports * that=0x00000003, unsigned int methodIndex=0, unsigned int paramCount=0, nsXPTCVariant * params=0x01814330) Line 102 C++ xpcom_core.dll!nsProxyObjectCallInfo::Run() Line 181 + 0x19 bytes C++ xpcom_core.dll!nsThread::ProcessNextEvent(int mayWait=3, int * result=0x00000000) Line 511 C++ xpcom_core.dll!nsProxyObjectCallInfo::Run() Line 181 + 0x19 bytes C++ xpcom_core.dll!nsThread::ProcessNextEvent(int mayWait=1, int * result=0x0012e820) Line 511 C++ xpcom_core.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x00000001, int mayWait=1) Line 227 + 0xd bytes C++ xpcom_core.dll!nsThread::Shutdown() Line 465 + 0xa bytes C++ thunderbird.exe!nsSocketTransportService::Shutdown() Line 459 C++ thunderbird.exe!nsIOService::SetOffline(int offline=1) Line 662 C++ thunderbird.exe!nsMsgOfflineManager::SetOnlineState(int online=0) Line 365 + 0xf bytes C++ thunderbird.exe!nsMsgOfflineManager::SynchronizeForOffline(int downloadNews=0, int downloadMail=0, int sendUnsentMessages=0, int goOfflineWhenDone=1, nsIMsgWindow * aMsgWindow=0x0435eb00) Line 352 + 0x8 bytes C++ xpcom_core.dll!NS_InvokeByIndex_P(nsISupports * that=0x0012ea48, unsigned int methodIndex=4843466, unsigned int paramCount=38984848, nsXPTCVariant * params=0x00000008) Line 102 C++ thunderbird.exe!XPCWrappedNative::CallMethod(XPCCallContext & ccx={...}, XPCWrappedNative::CallMode mode=CALL_GETTER) Line 2291 + 0x19 bytes C++ 033b6c7c() js3250.dll!js_DefineNativeProperty(JSContext * cx=, JSObject * obj=, int id=, int value=, int (JSContext *, JSObject *, int, int *)* getter=, int (JSContext *, JSObject *, int, int *)* setter=, unsigned int attrs=, unsigned int flags=, int shortid=, JSProperty * * propp=, int cacheResult=) Line 3806 + 0x24 bytes C++ js3250.dll!JS_DefinePropertyById(JSContext * cx=, JSObject * obj=, int id=, int value=, int (JSContext *, JSObject *, int, int *)* getter=, int (JSContext *, JSObject *, int, int *)* setter=, unsigned int attrs=) Line 3113 + 0x28 bytes C++ thunderbird.exe!DefinePropertyIfFound() Line 463 + 0x30 bytes C++ 0012eadc() js3250.dll!ComputeThis(JSContext * cx=0x00000000, int lazy=25333248, int * argv=0x00000000) Line 907 + 0x10 bytes C++ one of the imap threads xpcom_core.dll!PrepareAndDispatch(nsXPTCStubBase * self=0x04c82d10, unsigned int methodIndex=3, unsigned int * args=0x054ffe90, unsigned int * stackBytesToPop=0x054ffe80) Line 114 + 0x15 bytes C++ xpcom_core.dll!SharedStub() Line 142 C++ thunderbird.exe!nsImapProtocol::TellThreadToDie() Line 1245 C++ thunderbird.exe!nsImapProtocol::TellThreadToDie() Line 1245 C++ thunderbird.exe!nsImapProtocol::ImapThreadMainLoop() Line 1333 C++ thunderbird.exe!nsImapProtocol::Run() Line 1056 C++ xpcom_core.dll!nsThread::ProcessNextEvent(int mayWait=1, int * result=0x054fff30) Line 511 C++ xpcom_core.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x00000001, int mayWait=1) Line 227 + 0xd bytes C++ xpcom_core.dll!nsThread::ThreadFunc(void * arg=0x03981a10) Line 254 + 0x8 bytes C++ nspr4.dll!_PR_NativeRunThread(void * arg=0x07af7220) Line 448 C nspr4.dll!pr_root(void * arg=0x01831c40) Line 122 + 0xd bytes C > mozcrt19.dll!_callthreadstartex() Line 348 + 0x9 bytes C mozcrt19.dll!_threadstartex(void * ptd=0x03324400) Line 326 + 0x5 bytes C kernel32.dll!_BaseThreadStart@8() + 0x37 bytes I'll try to get a
bienvenu, timeless, is there enough here worth keeping the bug open?
1188 NS_IMETHODIMP 1189 nsImapProtocol::TellThreadToDie(PRBool aIsSafeToClose) 1190 { 1191 NS_WARN_IF_FALSE(NS_IsMainThread(), 1192 "TellThreadToDie(aIsSafeToClose) should only be called from UI thread"); 1193 nsAutoCMonitor mon(this); 1194 one of the imap threads xpcom_core.dll!PrepareAndDispatch(nsXPTCStubBase * self=0x04c82d10, unsigned int methodIndex=3, unsigned int * args=0x054ffe90, unsigned int * stackBytesToPop=0x054ffe80) Line 114 + 0x15 bytes C++ xpcom_core.dll!SharedStub() Line 142 C++ thunderbird.exe!nsImapProtocol::TellThreadToDie() Line 1245 C++
Summary: hang going offline → hang going offline - nsImapProtocol::TellThreadToDie called from the wrong thread
bienvenu, is there still value in comment 2?
I don't think so, assuming this isn't reproducible with trunk builds.
I can't reproduce. Plus the XP machine is gone
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.