SeaMonkey/Thunderbird crashes when trying to read a mail over the IMAP protocol [@ nsImapProtocol::GetFolderPathString]

RESOLVED FIXED

Status

--
critical
RESOLVED FIXED
11 years ago
7 years ago

People

(Reporter: mcsmurf, Assigned: Bienvenu)

Tracking

({crash, regression})

Trunk
x86
Windows XP
crash, regression

Firefox Tracking Flags

(Not tracked)

Details

(crash signature)

Attachments

(1 attachment)

(Reporter)

Description

11 years ago
Lately I sometimes crash when trying to read a mail over the IMAP protocol with a current trunk build. I don't know how reproduce this (yet). The steps to reproduce are usually like this:
0. Open MailNews
1. Click on any Inbox of an IMAP account
2. Enter the password for the account
3. Click on any mail
4. Crash

The first reports in Breakpad for this crash have the build id 2007091903 (Thunderbird). This crash might be a regression.

Stack trace:
0:000> kp
ChildEBP RetAddr  
0012f534 00f6f971 mail!nsImapProtocol::GetFolderPathString(void)+0x3e [f:\mozilla\tree-cvsmo\mozilla\mailnews\imap\src\nsimapprotocol.cpp @ 5542]
0012f6b4 00f8baeb mail!nsImapProtocol::CanHandleUrl(class nsIImapUrl * aImapUrl = 0x08727400, int * aCanRunUrl = 0x0012f7f8, int * hasToWait = 0x0012f7f0)+0x261 [f:\mozilla\tree-cvsmo\mozilla\mailnews\imap\src\nsimapprotocol.cpp @ 1848]
0012f804 00f8b0c6 mail!nsImapIncomingServer::GetImapConnection(class nsIEventTarget * aEventTarget = 0x00000000, class nsIImapUrl * aImapUrl = 0x08727400, class nsIImapProtocol ** aImapConnection = 0x0012f87c)+0x29b [f:\mozilla\tree-cvsmo\mozilla\mailnews\imap\src\nsimapincomingserver.cpp @ 739]
0012f894 00f8ad7f mail!nsImapIncomingServer::LoadNextQueuedUrl(class nsIImapProtocol * aProtocol = 0x00000000, int * aResult = 0x0012f8cc)+0x1d6 [f:\mozilla\tree-cvsmo\mozilla\mailnews\imap\src\nsimapincomingserver.cpp @ 527]
0012f8e0 00f823fc mail!nsImapIncomingServer::GetImapConnectionAndLoadUrl(class nsIEventTarget * aClientEventTarget = 0x00bfd710, class nsIImapUrl * aImapUrl = 0x087940a0, class nsISupports * aConsumer = 0x00000000)+0x1ff [f:\mozilla\tree-cvsmo\mozilla\mailnews\imap\src\nsimapincomingserver.cpp @ 467]
0012f94c 00f8176d mail!nsImapMockChannel::ReadFromImapConnection(void)+0x24c [f:\mozilla\tree-cvsmo\mozilla\mailnews\imap\src\nsimapprotocol.cpp @ 8335]
0012f9a4 017b84bc mail!nsImapMockChannel::OnCacheEntryAvailable(class nsICacheEntryDescriptor * entry = 0x09ab28d8, int access = 2, unsigned int status = 0)+0x2dd [f:\mozilla\tree-cvsmo\mozilla\mailnews\imap\src\nsimapprotocol.cpp @ 8170]
0012f9bc 0030479a necko!nsCacheListenerEvent::Run(void)+0x2c [f:\mozilla\tree-cvsmo\mozilla\netwerk\cache\src\nscacheservice.cpp @ 1266]
0012f9f8 00295f06 xpcom_core!nsThread::ProcessNextEvent(int mayWait = 1, int * result = 0x0012fa10)+0x1fa [f:\mozilla\tree-cvsmo\mozilla\xpcom\threads\nsthread.cpp @ 491]
0012fa14 02336bed xpcom_core!NS_ProcessNextEvent_P(class nsIThread * thread = 0x00bfd710, int mayWait = 1)+0x56 [f:\mozilla\tree-cvsmo\mozilla\objsuite-debug\xpcom\build\nsthreadutils.cpp @ 227]
0012fa28 02521c1b gkwidget!nsBaseAppShell::Run(void)+0x5d [f:\mozilla\tree-cvsmo\mozilla\widget\src\xpwidgets\nsbaseappshell.cpp @ 154]
0012fa3c 1000bc4c tkitcmps!nsAppStartup::Run(void)+0x6b [f:\mozilla\tree-cvsmo\mozilla\toolkit\components\startup\src\nsappstartup.cpp @ 170]
0012ff20 0040122f xul!XRE_main(int argc = 1, char ** argv = 0x00bf9bd0, struct nsXREAppData * aAppData = 0x00bfa0f0)+0x2d2c [f:\mozilla\tree-cvsmo\mozilla\toolkit\xre\nsapprunner.cpp @ 3114]
0012ff68 00401c66 seamonkey!main(int argc = 1, char ** argv = 0x00bf9bd0)+0x10f [f:\mozilla\tree-cvsmo\mozilla\suite\app\nssuiteapp.cpp @ 99]
0012ffb8 00401abd seamonkey!__tmainCRTStartup(void)+0x1a6 [f:\rtm\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 586]
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\system32\kernel32.dll - 
0012ffc0 7c816fd7 seamonkey!mainCRTStartup(void)+0xd [f:\rtm\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 403]
(Reporter)

Comment 1

11 years ago
> I don't know how reproduce this (yet).

Insert "reliably" (and to :) in that sentence, in case this was not clear.
(Reporter)

Comment 2

11 years ago
bienvenu: Might Bug 391259 have caused this crash here (or at least involved in some way)?
(Assignee)

Comment 3

11 years ago
yes, definitely, those changes might have exposed an other problem - I'll poke around breakpad and see what I can figure out. I have not seen this crash myself.
(Assignee)

Comment 4

11 years ago
Created attachment 282442 [details] [diff] [review]
possible fix

this might fix it - I'll run with it a bit to make sure it doesn't introduce any hangs...

going forward, instead of protecting all the code that needs to grab the monitor, it might be better to grab the monitor at the start and just release and regrab the monitor around the code that was causing the deadlock with bz's previous patch.
Attachment #282442 - Flags: superreview?(mscott)

Updated

11 years ago
Attachment #282442 - Flags: superreview?(mscott) → superreview+
(Assignee)

Updated

11 years ago
Status: NEW → RESOLVED
Last Resolved: 11 years ago
Resolution: --- → FIXED
Product: Core → MailNews Core
Crash Signature: [@ nsImapProtocol::GetFolderPathString]
You need to log in before you can comment on or make changes to this bug.