Closed Bug 436606 Opened 13 years ago Closed 8 years ago

"ASSERTION: RemoveCurrentDraftMessage can't get draft id" involving message compose window

Categories

(MailNews Core :: Composition, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 19.0

People

(Reporter: gkw, Assigned: rkent)

Details

(Keywords: assertion, Whiteboard: [has backtrace])

Attachments

(2 files)

###!!! ASSERTION: RemoveCurrentDraftMessage can't get draft id: '(NS_SUCCEEDED(rv) && (!curDraftIdURL.IsEmpty()))', file /Users/skywalker/Desktop/Mozilla/cvs/mozilla/mailnews/compose/src/nsMsgCompose.cpp, line 393

The assertion fires when I open a message compose window (or reply to a message), not typing anything, and shifting focus to do something else. After awhile, the assertion will be caught in Terminal.
Gary, could this be related to multiple drafts being saved?
Possibly - though I can't say for sure. Maybe bienvenu knows what this assertion might mean?
I'm also seeing this pretty reliably in Beta (v10) after leaving a compose window up for a few minutes.
The code where this happens is:

336   rv = m_compFields->GetDraftId(getter_Copies(curDraftIdURL));
337   NS_ASSERTION((NS_SUCCEEDED(rv) && (!curDraftIdURL.IsEmpty())), "RemoveCurrentDraftMessage can't get draft id");
338 
339   // Skip if no draft id (probably a new draft msg).
340   if (NS_SUCCEEDED(rv) && mMsgSend && !curDraftIdURL.IsEmpty())
341   

That is, the comment claims that new drafts will have curDraftIdURL.IsEmpty() and it behaves correctly. This is no place for an assertion.

I can get this simply by composing a new message, and trying to save it.

I say we just delete the assertion. It was added with the code for the entire method in Bug 319818.
Assignee: nobody → kent
Status: NEW → ASSIGNED
Attachment #669807 - Flags: review?(irving)
Comment on attachment 669807 [details] [diff] [review]
Remove the assertion

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

There's lots of silent discarding of nsresults in this method, but I'm happy to leave that to another bug unless you want to take it on.
Attachment #669807 - Flags: review?(irving) → review+
(In reply to Irving Reid (:irving) from comment #7)
> 
> There's lots of silent discarding of nsresults in this method, but I'm happy
> to leave that to another bug unless you want to take it on.

I'm starting to figure out that that is a hot issue for you. For this bug though, I simply encountered the Assertion myself in some code work I was doing, analyzed it enough to figure out it was a false positive, then decided I would go ahead and do that narrow fix. I'm reluctant to do much more at the moment.
Checked in https://hg.mozilla.org/comm-central/rev/82d555dbf346
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Flags: in-testsuite-
OS: Mac OS X → All
Hardware: x86 → All
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 19.0
You need to log in before you can comment on or make changes to this bug.