Closed Bug 529429 Opened 15 years ago Closed 13 years ago

crash [@ morkTable::CutRow(nsIMdbEnv*, nsIMdbRow*)]

Categories

(MailNews Core :: Database, defect)

x86
All
defect
Not set
critical

Tracking

(blocking-thunderbird5.0 -, thunderbird7- fixed)

RESOLVED FIXED
Thunderbird 8.0
Tracking Status
blocking-thunderbird5.0 --- -
thunderbird7 - fixed

People

(Reporter: wsmwk, Assigned: m_kato)

Details

(Keywords: crash, topcrash)

Crash Data

Attachments

(1 file, 1 obsolete file)

crash [@ morkTable::CutRow(nsIMdbEnv*, nsIMdbRow*)] low rank crasher from crash-stats. two typical examples: 3.0 20091112084939 bp-7e45f0f7-ffff-46a7-af32-49dfb2091117 0 thunderbird.exe morkTable::CutRow db/mork/src/morkTable.cpp:698 1 thunderbird.exe nsMsgDatabase::RemoveHeaderFromDB mailnews/db/msgdb/src/nsMsgDatabase.cpp:1852 2 thunderbird.exe nsMsgDatabase::DeleteHeader mailnews/db/msgdb/src/nsMsgDatabase.cpp:1795 3 thunderbird.exe nsMsgLocalMailFolder::DeleteMessage mailnews/local/src/nsLocalMailFolder.cpp:2265 4 thunderbird.exe nsMsgLocalMailFolder::DeleteMessages mailnews/local/src/nsLocalMailFolder.cpp:1504 5 thunderbird.exe nsMsgSendLater::DeleteCurrentMessage mailnews/compose/src/nsMsgSendLater.cpp:893 6 thunderbird.exe nsMsgSendLater::OnSendStepFinished mailnews/compose/src/nsMsgSendLater.cpp:1360 7 thunderbird.exe SendOperationListener::OnStopSending mailnews/compose/src/nsMsgSendLater.cpp:470 8 thunderbird.exe nsMsgComposeAndSend::NotifyListenerOnStopSending mailnews/compose/src/nsMsgSend.cpp:4066 9 thunderbird.exe nsMsgComposeAndSend::DoDeliveryExitProcessing mailnews/compose/src/nsMsgSend.cpp:3915 10 thunderbird.exe nsMsgComposeAndSend::DeliverAsMailExit mailnews/compose/src/nsMsgSend.cpp:3948 11 thunderbird.exe nsMsgComposeAndSend::SendDeliveryCallback mailnews/compose/src/nsMsgSend.cpp:3502 12 thunderbird.exe MsgDeliveryListener::OnStopRunningUrl mailnews/compose/src/nsMsgSend.cpp:276 13 thunderbird.exe nsMsgMailNewsUrl::SetUrlState mailnews/base/util/nsMsgMailNewsUrl.cpp:135 14 thunderbird.exe nsSmtpProtocol::ProcessProtocolState mailnews/compose/src/nsSmtpProtocol.cpp:1805 3.0b3 bp-b35b0abd-e242-4fc9-84e1-d2d1a2090908 hit "delete junk mail".. one junk mail was in teh inbox 0 thunderbird.exe morkTable::CutRow db/mork/src/morkTable.cpp:698 1 thunderbird.exe nsMsgDatabase::RemoveHeaderFromDB mailnews/db/msgdb/src/nsMsgDatabase.cpp:1841 2 thunderbird.exe nsMsgDatabase::DeleteHeader mailnews/db/msgdb/src/nsMsgDatabase.cpp:1784 3 thunderbird.exe nsMsgLocalMailFolder::DeleteMessage mailnews/local/src/nsLocalMailFolder.cpp:2217 4 thunderbird.exe nsMsgLocalMailFolder::DeleteMessages mailnews/local/src/nsLocalMailFolder.cpp:1500 5 thunderbird.exe nsMsgLocalMailFolder::EndMove mailnews/local/src/nsLocalMailFolder.cpp:2786 6 thunderbird.exe nsCopyMessageStreamListener::EndCopy mailnews/base/src/nsCopyMessageStreamListener.cpp:179 7 thunderbird.exe nsCopyMessageStreamListener::OnStopRequest mailnews/base/src/nsCopyMessageStreamListener.cpp:190 8 thunderbird.exe nsMsgProtocol::OnStopRequest mailnews/base/util/nsMsgProtocol.cpp:393 9 thunderbird.exe nsMailboxProtocol::OnStopRequest mailnews/local/src/nsMailboxProtocol.cpp:380 10 thunderbird.exe nsInputStreamPump::OnStateStop netwerk/base/src/nsInputStreamPump.cpp:576 11 thunderbird.exe nsInputStreamPump::OnInputStreamReady netwerk/base/src/nsInputStreamPump.cpp:401 12 xpcom_core.dll nsInputStreamReadyEvent::Run xpcom/io/nsStreamUtils.cpp:111 13 xpcom_core.dll nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:510 some eudora, eg bp-4367240c-9707-4d22-9675-865382090722 some SM eg bp-21cb62a6-450c-459c-87d4-ce7382091112
* was veiwing email messages and it just disapeared * In search filter for rss, select all message and delete permanently (keyboard shift + delete), pop up reports message in use. After clicking OK of the pop up messagebox, thunderbird crash. Can be reproduced but not always. * This crash happens when I have just sent it a message, it's still in the outbox, and I delete messages in my inbox before the message has completed background sending. * Compacted local inbox while receiving mail and rules were executing.
careful: 160 NS_IMETHODIMP nsImapMailDatabase::UpdatePendingAttributes(nsIMsgDBHdr* aNewHdr) 193 nsIMdbRow *row = msgHdr->GetMDBRow(); ... 202 if (row) 203 row->AddColumn(GetEnv(), cellColumn, &cellYarn); 3427 NS_IMETHODIMP nsMsgDatabase::CopyHdrFromExistingHdr(nsMsgKey key, nsIMsgDBHdr *existingHdr, PRBool addHdrToDB, nsIMsgDBHdr **newHdr) 3439 nsIMdbRow *sourceRow = sourceMsgHdr->GetMDBRow(); 3440 if (!destMsgHdr || !sourceRow) 3441 return NS_MSG_MESSAGE_NOT_FOUND; 1140 nsMsgPropertyEnumerator::nsMsgPropertyEnumerator(nsMsgHdr* aHdr) 1147 if (aHdr && 1148 (mdbRow = aHdr->GetMDBRow()) && callee checks: 330 NS_IMETHODIMP nsMsgHdr::GetNumReferences(PRUint16 *result) 335 if (NS_SUCCEEDED(m_mdb->RowCellColumnToConstCharPtr(GetMDBRow(), 690 NS_IMETHODIMP nsMsgHdr::GetAuthor(char* *resultAuthor) 692 return m_mdb->RowCellColumnToCharPtr(GetMDBRow(), m_mdb->m_senderColumnToken, resultAuthor); 695 NS_IMETHODIMP nsMsgHdr::GetSubject(char* *resultSubject) 697 return m_mdb->RowCellColumnToCharPtr(GetMDBRow(), m_mdb->m_subjectColumnToken, resultSubject); 700 NS_IMETHODIMP nsMsgHdr::GetRecipients(char* *resultRecipients) 702 return m_mdb->RowCellColumnToCharPtr(GetMDBRow(), m_mdb->m_recipientsColumnToken, resultRecipients); 705 NS_IMETHODIMP nsMsgHdr::GetCcList(char * *resultCCList) 707 return m_mdb->RowCellColumnToCharPtr(GetMDBRow(), m_mdb->m_ccListColumnToken, resultCCList); 710 NS_IMETHODIMP nsMsgHdr::GetBccList(char * *resultBCCList) 712 return m_mdb->RowCellColumnToCharPtr(GetMDBRow(), m_mdb->m_bccListColumnToken, resultBCCList); 715 NS_IMETHODIMP nsMsgHdr::GetMessageId(char * *resultMessageId) 717 return m_mdb->RowCellColumnToCharPtr(GetMDBRow(), m_mdb->m_messageIdColumnToken, resultMessageId); 720 NS_IMETHODIMP nsMsgHdr::GetMime2DecodedAuthor(nsAString &resultAuthor) 722 return m_mdb->RowCellColumnToMime2DecodedString(GetMDBRow(), m_mdb->m_senderColumnToken, resultAuthor); 725 NS_IMETHODIMP nsMsgHdr::GetMime2DecodedSubject(nsAString &resultSubject) 727 return m_mdb->RowCellColumnToMime2DecodedString(GetMDBRow(), m_mdb->m_subjectColumnToken, resultSubject); 730 NS_IMETHODIMP nsMsgHdr::GetMime2DecodedRecipients(nsAString &resultRecipients) 732 return m_mdb->RowCellColumnToMime2DecodedString(GetMDBRow(), m_mdb->m_recipientsColumnToken, resultRecipients); 736 NS_IMETHODIMP nsMsgHdr::GetAuthorCollationKey(PRUint8 **resultAuthor, PRUint32 *len) 738 return m_mdb->RowCellColumnToAddressCollationKey(GetMDBRow(), m_mdb->m_senderColumnToken, resultAuthor, len); 741 NS_IMETHODIMP nsMsgHdr::GetSubjectCollationKey(PRUint8 **resultSubject, PRUint32 *len) 743 return m_mdb->RowCellColumnToCollationKey(GetMDBRow(), m_mdb->m_subjectColumnToken, resultSubject, len); 746 NS_IMETHODIMP nsMsgHdr::GetRecipientsCollationKey(PRUint8 **resultRecipients, PRUint32 *len) 748 return m_mdb->RowCellColumnToCollationKey(GetMDBRow(), m_mdb->m_recipientsColumnToken, resultRecipients, len); 751 NS_IMETHODIMP nsMsgHdr::GetCharset(char **aCharset) 753 return m_mdb->RowCellColumnToCharPtr(GetMDBRow(), m_mdb->m_messageCharSetColumnToken, aCharset); carefree: 516 NS_IMETHODIMP nsMailDatabase::RemoveOfflineOp(nsIMsgOfflineImapOperation *op) 525 nsIMdbRow* row = offlineOp->GetMDBRow(); 526 rv = m_mdbAllOfflineOpsTable->CutRow(GetEnv(), row); 527 row->CutAllColumns(GetEnv()); <you are here> 1996 nsresult nsMsgDatabase::RemoveHeaderFromDB(nsMsgHdr *msgHdr) 2005 nsIMdbRow* row = msgHdr->GetMDBRow(); 2006 ret = m_mdbAllMsgHeadersTable->CutRow(GetEnv(), row); 3375 NS_IMETHODIMP nsMsgDatabase::AddNewHdrToDB(nsIMsgDBHdr *newHdr, PRBool notify) 3411 err = m_mdbAllMsgHeadersTable->AddRow(GetEnv(), hdr->GetMDBRow()); 3427 NS_IMETHODIMP nsMsgDatabase::CopyHdrFromExistingHdr(nsMsgKey key, nsIMsgDBHdr *existingHdr, PRBool addHdrToDB, nsIMsgDBHdr **newHdr) 3443 nsIMdbRow *destRow = destMsgHdr->GetMDBRow(); 3444 err = destRow->SetRow(GetEnv(), sourceRow); 189 nsresult nsMsgThread::RerootThread(nsIMsgDBHdr *newParentOfOldRoot, nsIMsgDBHdr *oldRoot, nsIDBChangeAnnouncer *announcer) 219 nsIMdbRow *newRootHdrRow = rootMsgHdr->GetMDBRow(); 221 m_mdbTable->MoveRow(m_mdbDB->GetEnv(), newRootHdrRow, -1, 0, &outPos); 227 NS_IMETHODIMP nsMsgThread::AddChild(nsIMsgDBHdr *child, nsIMsgDBHdr *inReplyTo, PRBool threadInThread, 237 nsIMdbRow *hdrRow = hdr->GetMDBRow(); 267 if (m_mdbTable) 269 m_mdbTable->AddRow(m_mdbDB->GetEnv(), hdrRow); 3375 NS_IMETHODIMP nsMsgDatabase::AddNewHdrToDB(nsIMsgDBHdr *newHdr, PRBool notify) 3411 err = m_mdbAllMsgHeadersTable->AddRow(GetEnv(), hdr->GetMDBRow());
bienvenu, does this make sense? do you need anything else? note: most crashes have significant uptime topcrash in 3.1.6
Keywords: topcrash
#46 in v3.1.7 unfortunately almost no comments and no addresses: bp-dbf319a7-8b12-43b6-b233-4dfa32101225 is shortest uptime bp-cf30074b-2aa1-41e6-9215-510492101231 (josem) emailed
blocking-thunderbird5.0: --- → ?
OS: Windows XP → All
Not blocking 3.3 on this, especially as it isn't near the top of the crash stats.
blocking-thunderbird5.0: ? → -
Flags: wanted-thunderbird+
Crash Signature: [@ morkTable::CutRow(nsIMdbEnv*, nsIMdbRow*)]
Attached patch fix (obsolete) — Splinter Review
Assignee: nobody → m_kato
Status: NEW → ASSIGNED
about comment #3, we should handle another separated bugs.
Attachment #548700 - Flags: review?(dbienvenu)
Comment on attachment 548700 [details] [diff] [review] fix thx for working on this. this: + NS_ENSURE_TRUE(row, NS_MSG_MESSAGE_NOT_FOUND); means we'll skip this: msgHdr->m_initedValues = 0; // invalidate cached values. which I'd rather not do. Can you rework it so we still clear that flag even when we can't find a row?
Attachment #548700 - Flags: review?(dbienvenu) → review-
Attached patch fix v2Splinter Review
Attachment #548700 - Attachment is obsolete: true
Attachment #549741 - Flags: review?(dbienvenu)
Comment on attachment 549741 [details] [diff] [review] fix v2 thx for the patch, r=me, but can you fix the braces to match the prevailing style in the file before checkin in? Thx!
Attachment #549741 - Flags: review?(dbienvenu) → review+
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 8.0
At #46 for TB5 this is probably high and simple enough to want for version 7. But we are not going to be able to tell from crash-stats whether the patch squashed the crash in v8 or v7 betas/alphas. Only v7 release stats can tell us.
At 150 crashes per week, we're definitely not going to track this. Nominate it for approval-comm-aurora if you want it to get into 7.
Comment on attachment 549741 [details] [diff] [review] fix v2 sorry, yeah, that was wrong flag
Attachment #549741 - Flags: approval-mozilla-aurora?
Comment on attachment 549741 [details] [diff] [review] fix v2 We're comm, not mozilla ;-)
Attachment #549741 - Flags: approval-mozilla-aurora? → approval-comm-aurora?
Attachment #549741 - Flags: approval-comm-aurora? → approval-comm-aurora+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: