Closed Bug 422907 Opened 16 years ago Closed 15 years ago

crash [@ nsMsgLocalMailFolder::GetTrashFolder(nsIMsgFolder**)], v2 [@ nsMsgLocalMailFolder::GetTrashFolder] quitting thunderbird

Categories

(MailNews Core :: Networking: POP, defect)

x86
Windows XP
defect
Not set
critical

Tracking

(Not tracked)

VERIFIED FIXED
Thunderbird 3.0b2

People

(Reporter: wsmwk, Unassigned)

Details

(Keywords: crash, topcrash)

Crash Data

Attachments

(1 file)

topcrash #11 for TB 2.0.0.12.  All crashes are windows

crash comments from talkback
(TB42445642) Sent message via second gmail account created during same Thunderbird session.
(TB42341239) Closing Thunderbird
(TB42182759) I don't really know but I get this window every time I restart Tbird.
(TB42178887) No se escribir en ingles

not a topcrash for any release of TB 1.5 but several exist and all mention crash on quitting thunderbird - similar to TB40871923 "I have just turn from v1.5 to v2 and... the quit/exit issue still exists!"


no crashes listed for trunk on crash-stats

TB42182759
Stack Signature	nsMsgLocalMailFolder::GetTrashFolder dff04c07
Product ID	Thunderbird2
Build ID	2008021305
User Comments	I don't really know, but I get this window every time I restart Tbird.
Since Last Crash	177 sec
Total Uptime	36663 sec
Trigger Reason	Access violation
Source File, Line No.	e:/builds/tinderbox/Tb-Mozilla1.8-Release/WINNT_5.0_Depend/mozilla/mailnews/local/src/nsLocalMailFolder.cpp, line 1475
Stack Trace 	
nsMsgLocalMailFolder::GetTrashFolder  [mozilla/mailnews/local/src/nsLocalMailFolder.cpp, line 1475]
nsMsgLocalMailFolder::EmptyTrash  [mozilla/mailnews/local/src/nsLocalMailFolder.cpp, line 930]
nsMsgAccountManager::cleanupOnExit  [mozilla/mailnews/base/src/nsMsgAccountManager.cpp, line 1094]
hashEnumerate  [mozilla/xpcom/ds/nsHashtable.cpp, line 131]
nsHashtable::Enumerate  [mozilla/xpcom/ds/nsHashtable.cpp, line 319]
nsMsgAccountManager::CleanupOnExit  [mozilla/mailnews/base/src/nsMsgAccountManager.cpp, line 1634]
XPTC_InvokeByIndex  [mozilla/xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp, line 102]
XPCWrappedNative::CallMethod  [mozilla/js/src/xpconnect/src/xpcwrappednative.cpp, line 2169]
XPC_WN_CallMethod  [mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp, line 1455]
js_Invoke  [mozilla/js/src/jsinterp.c, line 1379]
js_Interpret  [mozilla/js/src/jsinterp.c, line 3950]
js_Invoke  [mozilla/js/src/jsinterp.c, line 1398]
js_InternalInvoke  [mozilla/js/src/jsinterp.c, line 1473]
JS_CallFunctionValue  [mozilla/js/src/jsapi.c, line 4353]
nsJSContext::CallEventHandler  [mozilla/dom/src/base/nsJSEnvironment.cpp, line 1493]
nsJSEventListener::HandleEvent  [mozilla/dom/src/events/nsJSEventListener.cpp, line 195]
nsEventListenerManager::HandleEventSubType  [mozilla/content/events/src/nsEventListenerManager.cpp, line 1655]
nsEventListenerManager::HandleEvent  [mozilla/content/events/src/nsEventListenerManager.cpp, line 1762]
nsGlobalWindow::HandleDOMEvent  [mozilla/dom/src/base/nsGlobalWindow.cpp, line 1733]
DocumentViewerImpl::PageHide  [mozilla/layout/base/nsDocumentViewer.cpp, line 1215]
nsDocShell::FirePageHideNotification  [mozilla/docshell/base/nsDocShell.cpp, line 944]
nsDocShell::Destroy  [mozilla/docshell/base/nsDocShell.cpp, line 3586]
nsXULWindow::Destroy  [mozilla/xpfe/appshell/src/nsXULWindow.cpp, line 514]
nsWebShellWindow::Destroy  [mozilla/xpfe/appshell/src/nsWebShellWindow.cpp, line 850]
nsWebShellWindow::HandleEvent  [mozilla/xpfe/appshell/src/nsWebShellWindow.cpp, line 408]
nsWindow::DispatchEvent  [mozilla/widget/src/windows/nsWindow.cpp, line 1319]
nsWindow::DispatchStandardEvent  [mozilla/widget/src/windows/nsWindow.cpp, line 1359]
nsWindow::ProcessMessage  [mozilla/widget/src/windows/nsWindow.cpp, line 4509]
nsWindow::WindowProc  [mozilla/widget/src/windows/nsWindow.cpp, line 1507]
USER32.dll + 0x8734 (0x7e418734)
USER32.dll + 0x8816 (0x7e418816)
USER32.dll + 0xb4c0 (0x7e41b4c0)
USER32.dll + 0xb50c (0x7e41b50c)
ntdll.dll + 0xe453 (0x7c90e453)
USER32.dll + 0xb3f9 (0x7e41b3f9)
uxtheme.dll + 0x3bc2 (0x5ad73bc2)
uxtheme.dll + 0x1c7f6 (0x5ad8c7f6)
uxtheme.dll + 0x1ac7 (0x5ad71ac7)
uxtheme.dll + 0x1b3d (0x5ad71b3d)
USER32.dll + 0xbb0d (0x7e41bb0d)
nsWindow::DefaultWindowProc  [mozilla/widget/src/windows/nsWindow.cpp, line 1533]
USER32.dll + 0x8734 (0x7e418734)
USER32.dll + 0x8816 (0x7e418816)
USER32.dll + 0xc633 (0x7e41c633)
USER32.dll + 0xc659 (0x7e41c659)
nsWindow::WindowProc  [mozilla/widget/src/windows/nsWindow.cpp, line 1514]
USER32.dll + 0x8734 (0x7e418734)
USER32.dll + 0xd991 (0x7e41d991)
USER32.dll + 0xb4c0 (0x7e41b4c0)
USER32.dll + 0xb50c (0x7e41b50c)
ntdll.dll + 0xe453 (0x7c90e453)
USER32.dll + 0xb903 (0x7e41b903)
uxtheme.dll + 0x28895 (0x5ad98895)
uxtheme.dll + 0x1ac7 (0x5ad71ac7)
uxtheme.dll + 0x1b3d (0x5ad71b3d)
USER32.dll + 0xbb0d (0x7e41bb0d)
nsWindow::DefaultWindowProc  [mozilla/widget/src/windows/nsWindow.cpp, line 1533]
USER32.dll + 0x8734 (0x7e418734)
USER32.dll + 0x8816 (0x7e418816)
USER32.dll + 0xc633 (0x7e41c633)
USER32.dll + 0xc659 (0x7e41c659)
nsWindow::WindowProc  [mozilla/widget/src/windows/nsWindow.cpp, line 1514]
USER32.dll + 0x8734 (0x7e418734)
USER32.dll + 0x8816 (0x7e418816)
Why can't breakpad link to actual line numbers of correct version of the source :(

  nsCOMPtr<nsIMsgFolder> rootFolder;
  rv = GetRootFolder(getter_AddRefs(rootFolder));
  if(NS_SUCCEEDED(rv))
  {
    rootFolder->GetFolderWithFlags(nsMsgFolderFlags::Trash, result);

If i got the version lines right, rootFolder is null for some reason...

blocking‑thunderbird3+ since it's a top crash.
Flags: blocking-thunderbird3? → blocking-thunderbird3+
Target Milestone: --- → Thunderbird 3.0b2
getting off nobody list - this feels like a general backend bug. Empty trash on exit must be set...
Assignee: nobody → bienvenu
Attached patch possible fixSplinter Review
this is a bit of a stretch, but from code inspection, nsPop3IncomingServer::GetRootMsgFolder can return success w/ a null out param, which it shouldn't do.  This should fix that, so it's worth trying out. GetRootFolder will eventually cause GetRootMsgFolder to get called.

I could just patch where we're crashing, but I'd rather try fixing this first. the theory is that the users who are crashing have a server that's deferred to itself, which wouldn't work very well in general, but would explain why only a few people are seeing this crash.
Attachment #357806 - Flags: superreview?(bugzilla)
Attachment #357806 - Flags: review?(bugzilla)
Whiteboard: [has patch for review]
Attachment #357806 - Flags: superreview?(bugzilla)
Attachment #357806 - Flags: superreview+
Attachment #357806 - Flags: review?(bugzilla)
Attachment #357806 - Flags: review+
I'm going to mark this fixed - we'll re-open if this stack continues to appear in breakpad with builds going forward.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Whiteboard: [has patch for review]
this appears to be gone from trunk (3.0b2pre) - no crashes since 01-21 with the prior average being about 1 crash per day [1] - ... and no regressions marked thus far. However, it should be noted the crash is infrequent enough in 3.0b2pre that regressions might not be apparent until 3.0b2 is released (the crash is common on 3.0b1).

this is #8 crasher for 2.0.0.18, so nominating wanted1.8.1.x

[1]  http://crash-stats.mozilla.com/report/list?product=Thunderbird&version=Thunderbird%3A3.0b2pre&query_search=signature&query_type=contains&query=nsMsgLocalMailFolder%3A%3AGetTrashFolder&date=&range_value=16&range_unit=days&do_query=1&signature=nsMsgLocalMailFolder%3A%3AGetTrashFolder%28nsIMsgFolder**%29
Flags: wanted1.8.1.x?
spot checks of early 2009, and last two months indicate this crash is gone. except for a few odd orphans below.

#20 crash for thunderbird 2.0.0.23, so nominating for blocking to pick it up in release 2.0.0.25

bp-8f272f92-9814-42a1-8428-b85142090215  build 20090214031138
0  	thunderbird.exe  	nsMsgLocalMailFolder::GetTrashFolder  	 nsLocalMailFolder.cpp:1426
1 	thunderbird.exe 	nsMsgLocalMailFolder::EmptyTrash 	nsLocalMailFolder.cpp:871
2 	thunderbird.exe 	hashCleanupOnExit 	nsMsgAccountManager.cpp:1002
3 	thunderbird.exe 	nsBaseHashtable<nsCStringHashKey,nsAutoPtr<nsAccessControlLRUCache::CacheEntry>,nsAccessControlLRUCache::CacheEntry*>::s_EnumStub 	nsBaseHashtable.h:346
4 	xpcom_core.dll 	PL_DHashTableEnumerate 	pldhash.c:735
5 	thunderbird.exe 	nsBaseHashtable<nsStringHashKey,nsRefPtr<FontFamily>,nsRefPtr<FontFamily> >::Enumerate 	nsBaseHashtable.h:221
6 	thunderbird.exe 	nsMsgAccountManager::CleanupOnExit 	nsMsgAccountManager.cpp:1462
7 	thunderbird.exe 	nsMsgMailSession::RemoveMsgWindow

28ee334b-8e56-498d-9f07-420e72090305  build 20090223175111
0	thunderbird.exe	nsMsgLocalMailFolder::GetTrashFolder	 nsLocalMailFolder.cpp:1426
1	thunderbird.exe	nsMsgLocalMailFolder::EmptyTrash	nsLocalMailFolder.cpp:871
2	thunderbird.exe	hashCleanupOnExit	nsMsgAccountManager.cpp:1002
3	thunderbird.exe	nsBaseHashtable<nsCStringHashKey,int,int>::s_EnumStub	nsBaseHashtable.h:346
4	xpcom_core.dll	PL_DHashTableEnumerate	pldhash.c:735
5	thunderbird.exe	nsBaseHashtable<nsStringHashKey,nsRefPtr<FontFamily>,nsRefPtr<FontFamily> >::Enumerate	nsBaseHashtable.h:221
6	thunderbird.exe	nsMsgAccountManager::CleanupOnExit	nsMsgAccountManager.cpp:1462
7	thunderbird.exe	nsMsgMailSession::RemoveMsgWindow	nsMsgMailSession.cpp:318
Assignee: bienvenu → nobody
Status: RESOLVED → VERIFIED
Component: General → Networking: POP
Flags: wanted1.8.1.x? → blocking1.8.0.next?
Product: Thunderbird → MailNews Core
QA Contact: general → networking.pop
Summary: crash [@ nsMsgLocalMailFolder::GetTrashFolder] quitting thunderbird → crash [@ nsMsgLocalMailFolder::GetTrashFolder(nsIMsgFolder**)], v2 [@ nsMsgLocalMailFolder::GetTrashFolder] quitting thunderbird
Crash Signature: [@ nsMsgLocalMailFolder::GetTrashFolder(nsIMsgFolder**)] [@ nsMsgLocalMailFolder::GetTrashFolder]
Crash Signature: [@ nsMsgLocalMailFolder::GetTrashFolder(nsIMsgFolder**)] [@ nsMsgLocalMailFolder::GetTrashFolder] → [@ nsMsgLocalMailFolder::GetTrashFolder(nsIMsgFolder**)] [@ nsMsgLocalMailFolder::GetTrashFolder]
Flags: blocking1.8.0.next?
You need to log in before you can comment on or make changes to this bug.