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?
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
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.
Created attachment 669807 [details] [diff] [review] Remove the assertion
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.
(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.