Open Bug 127309 Opened 23 years ago Updated 2 years ago

nsMsgThread::GetFirstUnreadChild code path returns NS_OK and *result=0

Categories

(MailNews Core :: Database, defect)

defect

Tracking

(Not tracked)

People

(Reporter: timeless, Unassigned)

References

(Blocks 1 open bug)

Details

the result is: ###!!! ASSERTION: couldn't get header for some reason: 'NS_SUCCEEDED(rv) && msgHdr', file /home/timeless/mozilla/mailnews/base/src/nsMsgThreadedDBView.cpp, line 391 File: nsMsgThread.cpp Status: Up-to-date Working revision: 1.59 at the end of nsMsgThread::GetFirstUnreadChild (gdb) p numChildren $24 = 8 (gdb) p rv $25 = 0 (gdb) p *result $26 = (nsIMsgDBHdr *) 0x0 (gdb) p *this $27 = {<nsIMsgThread> = {<nsISupports> = {_vptr$ = 0x2acaabc0}, <No data fields>}, mRefCnt = 3, _mOwningThread = 0x80b7380, m_mdbDB = 0x87be300, m_threadKey = 21451, m_numChildren = 8, m_numUnreadChildren = 2, m_flags = 0, m_mdbTable = 0x88ada34, m_metaRow = 0x8acd16c, m_cachedValuesInitialized = 1, m_threadRootKey = 21451} This happens most of the time when i run mozmail or select a folder. Here's the best gdb output i can get [note that (void*)this has changed] Breakpoint 3, nsMsgThread::GetFirstUnreadChild (this=0x8acd580, result=0xbfbf9650) at /home/timeless/mozilla/mailnews/db/msgdb/src/nsMsgThread.cpp:1056 1056 for (PRUint32 childIndex = 0; childIndex < numChildren; childIndex++) 6: this->m_numChildren = 1 5: this->m_numUnreadChildren = 1 1: rv = 3217004156 (gdb) Continuing. Breakpoint 5, nsMsgThread::GetFirstUnreadChild (this=0x8acd580, result=0xbfbf9650) at /home/timeless/mozilla/mailnews/db/msgdb/src/nsMsgThread.cpp:1066 1066 rv = m_mdbDB->IsRead(msgKey, &isRead); 6: this->m_numChildren = 1 5: this->m_numUnreadChildren = 1 2: child = {mRawPtr = 0x8a9a500} 1: rv = 0 (gdb) Continuing. Breakpoint 6, nsMsgKeySet::IsMember (this=0x89a2820, number=21464) at /home/timeless/mozilla/mailnews/base/util/nsMsgKeySet.cpp:669 669 return value; 4: value = 1 (gdb) Continuing. Breakpoint 2, nsMsgThread::GetFirstUnreadChild (this=0x8acd580, result=0xbfbf9650) at /home/timeless/mozilla/mailnews/db/msgdb/src/nsMsgThread.cpp:1076 1076 return rv; 6: this->m_numChildren = 1 5: this->m_numUnreadChildren = 1 1: rv = 0 (gdb) Continuing. ###!!! ASSERTION: couldn't get header for some reason: 'NS_SUCCEEDED(rv) && msgHdr', file /home/timeless/mozilla/mailnews/base/src/nsMsgThreadedDBView.cpp, line 391 ###!!! Break: at file /home/timeless/mozilla/mailnews/base/src/nsMsgThreadedDBView.cpp, line 391
nothing to do with mscott as far as I can tell.
Assignee: mscott → bienvenu
is this still happening with today's trunk build?
the code path still exists. i've been rif'd so i no longer have access to all of those fun freebsd/qnx boxes. my audrey will arive eventually so i will still have an interest in QNX, but I don't have the profile and this fun stuff was on that freebsd box. Why don't we change the code path so that it won't return *result=0 & NS_OK at the same time?
Blocks: 236849
Product: MailNews → Core
QA Contact: esther → database
Product: Core → MailNews Core
Assignee: dbienvenu → nobody
hmm, is it likely this code still exists in this form?
Flags: needinfo?(Pidgeot18)
Very likely that it exists in the form. Whether or not it's actually still an issue is another question.
Flags: needinfo?(Pidgeot18)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.