Closed Bug 694196 Opened 13 years ago Closed 11 years ago

crash [@ MsgGetHeadersFromKeys(nsIMsgDatabase*, nsTArray<unsigned int, nsTArrayDefaultAllocator> const&, nsIMutableArray*) ]

Categories

(MailNews Core :: Backend, defect)

x86
All
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 23.0

People

(Reporter: wsmwk, Assigned: m_kato)

References

Details

(Keywords: crash)

Crash Data

Attachments

(1 file)

crash [@ MsgGetHeadersFromKeys(nsIMsgDatabase*, nsTArray<unsigned int, nsTArrayDefaultAllocator> const&, nsIMutableArray*) ]

no useful crash comments
I think crashes prior to version 5 are MsgGetHeadersFromKeys(nsIMsgDatabase*, nsTArray<unsigned int> const&, nsIMutableArray*)

bp-78986e19-c53b-4f3d-be07-c35842110928 version 7 (lrtow)
EXCEPTION_ACCESS_VIOLATION_READ
0x0
0	xul.dll	MsgGetHeadersFromKeys	mailnews/base/util/nsMsgUtils.cpp:1989
1	xul.dll	nsMsgDBFolder::NotifyHdrsNotBeingClassified	mailnews/base/util/nsMsgDBFolder.cpp:2797
2	xul.dll	nsMsgDBFolder::CallFilterPlugins	mailnews/base/util/nsMsgDBFolder.cpp:2729
3	xul.dll	nsPop3Sink::EndMailDelivery	mailnews/local/src/nsPop3Sink.cpp:437
4	xul.dll	nsPop3Protocol::GetMsg	mailnews/local/src/nsPop3Protocol.cpp:2912
5	xul.dll	nsPop3Protocol::ProcessProtocolState	mailnews/local/src/nsPop3Protocol.cpp:3987
6	xul.dll	nsMsgProtocol::OnDataAvailable	mailnews/base/util/nsMsgProtocol.cpp:387
7	xul.dll	nsInputStreamPump::OnStateTransfer	netwerk/base/src/nsInputStreamPump.cpp:510 

Mac bp-80a5eb15-0a85-4821-81fc-0e40e2111011 MsgGetHeadersFromKeys version 8 (hfiguiere)
It seems that mDatabase is null.  This is related to bug 688135...
Depends on: 688135
Attached patch fixSplinter Review
Assignee: nobody → m_kato
Attachment #744043 - Flags: review?(kent)
Comment on attachment 744043 [details] [diff] [review]
fix

Review of attachment 744043 [details] [diff] [review]:
-----------------------------------------------------------------

r=me with the one change.

::: mailnews/base/util/nsMsgUtils.cpp
@@ +2014,5 @@
>  
>  NS_MSG_BASE nsresult MsgGetHeadersFromKeys(nsIMsgDatabase *aDB, const nsTArray<nsMsgKey> &aMsgKeys,
>                                             nsIMutableArray *aHeaders)
>  {
> +  NS_ASSERTION(aDB, "aDB is null");

Yes I know NS_ASSERTION is frequently used in utils code, but what it means is "Halt the program if in debug mode, ignore in release mode". This is not really what you want, in particular you do not want to ignore in release mode. Please replace this with NS_ENSURE_SUCCESS(rv, rv);
Attachment #744043 - Flags: review?(kent) → review+
Oops, I mean replace with:

NS_ENSURE_ARG_POINTER(aDB);
https://hg.mozilla.org/comm-central/rev/7890f6b58058
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 23.0
need to recheck when TB23 goes beta or release.  unable to verify fixed via crash-stats because crash rate, though not zero, is too low in development builds to statistically get a read.

bp-84f4859b-ee01-4893-8fc7-ab4122130226 TB19.0 2013-02-26 03:52:55
bp-50f88988-6590-40d9-b43d-ee0ef2130116 TB18
bp-f5021d64-d0f5-4cf9-b48e-de2e82121228 TB18
You need to log in before you can comment on or make changes to this bug.