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

RESOLVED FIXED in Thunderbird 19.0


MailNews Core
9 years ago
5 years ago


(Reporter: gkw, Assigned: rkent)



Thunderbird 19.0
Bug Flags:
in-testsuite -

Firefox Tracking Flags

(Not tracked)


(Whiteboard: [has backtrace])


(2 attachments)



9 years ago
Created attachment 323156 [details]
both normal and full backtraces

###!!! 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?

Comment 2

8 years ago
Possibly - though I can't say for sure. Maybe bienvenu knows what this assertion might mean?
perhaps comment 0 sheds light on these other bugs?

Component: Message Compose Window → Composition
Product: Thunderbird → MailNews Core
QA Contact: message-compose → composition
Whiteboard: [has backtrace]
I'm also seeing this pretty reliably in Beta (v10) after leaving a compose window up for a few minutes.

Comment 5

5 years ago
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");
339   // Skip if no draft id (probably a new draft msg).
340   if (NS_SUCCEEDED(rv) && mMsgSend && !curDraftIdURL.IsEmpty())

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.

Comment 6

5 years ago
Created attachment 669807 [details] [diff] [review]
Remove the assertion
Assignee: nobody → kent
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+

Comment 8

5 years ago
(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.

Comment 9

5 years ago
Checked in https://hg.mozilla.org/comm-central/rev/82d555dbf346
Last Resolved: 5 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.