v12 regression - all crashes in past 8 mmonths are v12. earliest is bp-c6443679-2e5d-4f09-9d04-4a1f72120308 v12.0a2
This bug was filed from the Socorro interface and is
report bp-9ed5fa82-c9d9-40e0-9286-e1f552120428 v12.0
0 xul.dll nsPop3Sink::FindPartialMessages mailnews/local/src/nsPop3Sink.cpp:226
1 xul.dll nsPop3Sink::BeginMailDelivery mailnews/local/src/nsPop3Sink.cpp:296
2 xul.dll nsPop3Protocol::GetStat mailnews/local/src/nsPop3Protocol.cpp:2415
3 xul.dll nsPop3Protocol::ProcessProtocolState mailnews/local/src/nsPop3Protocol.cpp:3962
4 xul.dll nsMsgProtocol::OnDataAvailable mailnews/base/util/nsMsgProtocol.cpp:389
5 xul.dll nsInputStreamPump::OnStateTransfer netwerk/base/src/nsInputStreamPump.cpp:514
6 xul.dll nsInputStreamPump::OnInputStreamReady netwerk/base/src/nsInputStreamPump.cpp:402
Created attachment 665523 [details] [diff] [review]
// Open the various streams we need to seek and read from the mailbox
rv = localFolder->GetFolderScanState(&folderScanState);
isOpen = true;
rv = localFolder->GetUidlFromFolder(&folderScanState, msgDBHdr);
All that GetFolderScanState does it set get the message store, and set it on folderScanState. The stream is set in GetUidlFromFolder. So isOpen is not a sufficient check to ensure that the stream exists. A failure in GetUidlFromFolder would result in isOpen == true, but null folderScanState.m_inputStream and a crash. So I extended that check.
Landed as http://hg.mozilla.org/comm-central/rev/5a8a3047b540
This is a class of bugs that is not critical to land before TB 17.0.0 ships, but should really be considered for pushing to TB 17* updates at some point since it is a low risk bugfix. Not sure how to flag this, but for now I'm using the tracking-thunderbird-17 flag.
Comment on attachment 665523 [details] [diff] [review]
For bugs such as these, just requesting approval-comm-aurora (or the appropriate branch flag) is enough, we wouldn't explicitly track these (unless they were super top-crash).