The default bug view has changed. See this FAQ.

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

RESOLVED FIXED in Thunderbird 19.0

Status

MailNews Core
Composition
RESOLVED FIXED
9 years ago
5 years ago

People

(Reporter: gkw, Assigned: rkent)

Tracking

({assertion})

Trunk
Thunderbird 19.0
assertion
Bug Flags:
in-testsuite -

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [has backtrace])

Attachments

(2 attachments)

(Reporter)

Description

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?
(Reporter)

Comment 2

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

https://bugzilla.mozilla.org/buglist.cgi?type1-0-0=anywordssubstr&short_desc=local&field0-0-0=short_desc&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&type1-0-1=substring&resolution=---&query_format=advanced&value1-0-0=folder&short_desc_type=allwordssubstr&type0-0-0=anywordssubstr&value0-0-0=draft%20&field1-0-0=short_desc&product=MailNews%20Core&product=Thunderbird&field1-0-1=component
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.
(Assignee)

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");
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)

Comment 6

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

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.
(Assignee)

Comment 9

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