Closed
Bug 457052
Opened 17 years ago
Closed 17 years ago
try to repair cause of assertion - Borked message header
Categories
(MailNews Core :: Database, defect)
MailNews Core
Database
Tracking
(Not tracked)
RESOLVED
FIXED
Thunderbird 3.0b1
People
(Reporter: Bienvenu, Assigned: Bienvenu)
References
Details
Attachments
(2 files, 1 obsolete file)
|
5.48 KB,
patch
|
standard8
:
review+
dmosedale
:
superreview+
|
Details | Diff | Splinter Review |
|
4.61 KB,
patch
|
standard8
:
review+
neil
:
superreview+
|
Details | Diff | Splinter Review |
Dan, especially, has been seeing a lot of these. The problem is that a message's thread parent isn't valid, i.e., it's not in the thread. The upcoming patch attempts to repair this situation, and changes the assertion to a warning.
The assertion appears harmless, but I think in some situations it could cause us not to display sub-messages in threaded view (not sure, though).
This patch repairs the problem for me. I still have to figure out why this is happening, however.
Attachment #340385 -
Flags: superreview?(dmose)
Attachment #340385 -
Flags: review?(bugzilla)
Comment 1•17 years ago
|
||
I believe we decided we wanted this for 3.0b1; marking as such.
Flags: blocking-thunderbird3.0b1+
Target Milestone: --- → Thunderbird 3.0b1
Comment 2•17 years ago
|
||
Running with this patch, I'm seeing a small number of the "Thread is a parent of itself" assertions (I was seeing them before, too, I think). Should that really be an assertion, or should it be similar to the problem already solved in this patch and warn and rebuild the index instead...
Comment 3•17 years ago
|
||
Comment on attachment 340385 [details] [diff] [review]
proposed fix
This is making the method big enough that it's becoming difficult to digest. How about splitting it apart?
Attachment #340385 -
Flags: superreview?(dmose) → superreview-
Updated•17 years ago
|
Whiteboard: [needs new patch]
| Assignee | ||
Comment 4•17 years ago
|
||
ok, this moves the code into a new method. I don't have a test case anymore, though, so I can't swear that this works. Dan, can you try this out and see if you hit the code, and it fixes the problem?
Attachment #340385 -
Attachment is obsolete: true
Attachment #340749 -
Flags: superreview?(dmose)
Attachment #340749 -
Flags: review?(bugzilla)
Attachment #340385 -
Flags: review?(bugzilla)
Comment 5•17 years ago
|
||
(In reply to comment #1)
> I believe we decided we wanted this for 3.0b1; marking as such.
Correcting flag to get it onto the right radar.
Flags: blocking-thunderbird3.0b1+ → blocking-thunderbird3+
Comment 6•17 years ago
|
||
Comment on attachment 340749 [details] [diff] [review]
proposed fix - checked in
This looks ok to me.
Attachment #340749 -
Flags: review?(bugzilla) → review+
Updated•17 years ago
|
Whiteboard: [needs new patch] → [needs review dmose]
Comment 7•17 years ago
|
||
Comment on attachment 340749 [details] [diff] [review]
proposed fix - checked in
* It would be good to track stuff that should just warn and trigger database rebuilds once rkent's lossless-database-rebuild stuff is in, such as presumably the "Thread is parent of itself" assertion (and maybe the "no root hdr" assertion too?). Please file a spinoff bug, if you would...
>+ nsMsgHdr* curMsgHdr = static_cast<nsMsgHdr*>(curHdr.get()); // closed system, cast ok
Please reformat so that this wraps at 80 columns.
sr=dmose
Attachment #340749 -
Flags: superreview?(dmose) → superreview+
| Assignee | ||
Comment 8•17 years ago
|
||
fix checked in.
I'll file a spin-off bug, but I'm leaning towards repair as opposed to rebuilding.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
| Assignee | ||
Comment 9•17 years ago
|
||
This fixes a few other borked thread issues:
1. If a message is marked as the thread root key, but doesn't have a thread parent of -1, make GetRootHdr return the correct header (which will correct the thread root key)
2. If a message is in a thread object, but doesn't have its thread id set to the thread, correct it.
3. If a message is its own parent, reparent it in the thread.
4. In nsMsgThread::ReparentMsgsWithInvalidParent, make sure we don't set our parent to ourselves.
I'm not sure the last change is actually needed. The other changes fix the test cases I've got, I believe. I'll double check that.
Attachment #343621 -
Flags: superreview?(neil)
Attachment #343621 -
Flags: review?(bugzilla)
| Assignee | ||
Comment 10•17 years ago
|
||
re-opening, and putting in beta 1.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: Thunderbird 3.0a3 → Thunderbird 3.0b1
Comment 11•17 years ago
|
||
See bug 272527, which bienvenu thinks is fixed by the patch here.
There's an old attachment with an INBOX.msf, too.
Blocks: 272527
Updated•17 years ago
|
Attachment #343621 -
Flags: superreview?(neil) → superreview+
Comment 12•17 years ago
|
||
Comment on attachment 343621 [details] [diff] [review]
fix some other related issues - checked in
>+ PRInt32 resultIndex;
>+ nsMsgKey rootKey;
>+ nsCOMPtr <nsIMsgDBHdr> root;
>+ GetRootHdr(&resultIndex, getter_AddRefs(root));
>+ root->GetMessageKey(&rootKey);
sr=me if you replace this and just use m_threadRootKey instead.
Updated•17 years ago
|
Attachment #343621 -
Flags: review?(bugzilla) → review+
Updated•17 years ago
|
Whiteboard: [needs review dmose] → [needs comment addressing & landing]
| Assignee | ||
Comment 13•17 years ago
|
||
fix checked in.
Status: REOPENED → RESOLVED
Closed: 17 years ago → 17 years ago
Resolution: --- → FIXED
| Assignee | ||
Updated•17 years ago
|
Attachment #340749 -
Attachment description: prposed fix → proposed fix - checked in
| Assignee | ||
Updated•17 years ago
|
Attachment #343621 -
Attachment description: fix some other related issues → fix some other related issues - checked in
Updated•17 years ago
|
OS: Windows XP → All
Hardware: PC → All
Whiteboard: [needs comment addressing & landing]
You need to log in
before you can comment on or make changes to this bug.
Description
•