Closed Bug 42109 Opened 24 years ago Closed 24 years ago

crash at shift-clicking a title in the messages list

Categories

(Core :: XUL, defect, P1)

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: tarahim, Assigned: bryner)

References

Details

(Keywords: crash, Whiteboard: [nsbeta3+][PDTP1])

Attachments

(1 file)

Currently, there are 7 messages in the trash folder of an mail account. When I select Trash, and the list of messages title are displayed but none of them are selected for displaying the message body. Then, at the instant I shift-click a title in the message list, Mozilla crashes with type 11 error.
Severity: blocker → critical
Is this for any message you have? Is this particular to just those messages?
Status: UNCONFIRMED → NEW
Ever confirmed: true
OK, I nailed it down. The crash occurs only when the last in the list is shift- clicked. It does not crash when there is only one message in the list. May be related to the shift-click bug No.30377. Shift-clicking others in the list before any selection shows some weird behavior, too.
similar type 11 crash after shift-click occured in Manage Bookmark window, too(2000060908-M17). Even more likely a duplicate of No.30377 with worse outcome in MacOS? If this is 30377, the priority for fix is disppointingly low for Mac version.
I'm not clear on what the steps to reproduce this crash are. Can you try to explain this again? I cannot get a crash for Mac with the build you mentioned, by shift-clicking on the last message in the mail thread pane, or in the bookmarks window. I doubt this is causally related to bug 30377. That's just some selection logic that is wrong in the UI sense, but not likely to cause a crash.
1)Start Mozilla (with Browser window in my case, I doubt it matters). 2)Open Mail window (at this point, Mozilla Mail Start message is displayed), select whatever box you have a message in, and display a message content by clicking one of the title. 3)Change the box to another where there are more than two messages by cliking in Mail Folders pane. 4)At this point no message content is displayed. This is the requirement for the crash to occur. 5)Shift-click the last title in the message list and you get a crash. Now I am getting type 2 crash instead of type 11 in build 2000060908M17. This is still very reproducible. I am not sure about the exact conditon for Bookmarks, yet. But the mechanism seems similar.
I believe this is related to selection logic. For Bookmarks, you select one and delete it. Then, you shift click the one at the bottom of the list, and you get type 11. The crash with Mail seems that since you have selected one message before moving to another box, the effect is like deleting the previously selected message in Bookmarks. No wonder they behave similarly.
FYI I remeber a similar "shift-clicking selection of deleted bookmark" crash bug was present in NScommunicator PRs.
Thank you. Most excellent descriptions. Certainly a selection bug in tree code. This code is all going under the knife as we 'speak', but I'll move this over to hyatt and I'll see if this is still a problem with the tree-is-a-grid-not-an-HTMLTable code. Thanks again. cc: claudius for the bookmark's test.
Assignee: putterman → hyatt
Component: Mail Window Front End → XP Toolkit/Widgets: Trees
Keywords: crash
OS: Mac System 8.6 → All
Product: MailNews → Browser
QA Contact: lchiang → jrgm
Hardware: Macintosh → All
This is the stack from the mail thread crash: Calling chain using A6/R1 links Back chain ISA Caller 00000000 PPC 1F504B04 0E710AC0 PPC 1F4EF718 main+00130 0E710A60 PPC 1F4EEC14 main1(int, char**, nsISupports*)+00944 0E7107A0 PPC 1F0EED34 nsAppShellService::Run()+00018 0E710760 PPC 1EC39D44 nsAppShell::Run()+00038 0E710710 PPC 1EC3A440 nsMacMessagePump::DoMessagePump()+0003C 0E7106C0 PPC 1EC3A944 nsMacMessagePump::DispatchEvent(int, EventRecord*)+00070 0E710670 PPC 1EC3B2AC nsMacMessagePump::DoMouseUp(EventRecord&)+0004C 0E710620 PPC 1EC3B840 nsMacMessagePump::DispatchOSEventToRaptor(EventRecord&, GrafPort*)+00044 0E7105D0 PPC 1EC371E4 nsMacMessageSink::DispatchOSEvent(EventRecord&, GrafPort*)+00038 0E710590 PPC 1EC32488 nsMacWindow::HandleOSEvent(EventRecord&)+00020 0E710550 PPC 1EC331D4 nsMacEventHandler::HandleOSEvent(EventRecord&)+000D0 0E710500 PPC 1EC34990 nsMacEventHandler::HandleMouseUpEvent(EventRecord&)+00048 0E710470 PPC 1EC18368 nsWindow::DispatchMouseEvent(nsMouseEvent&)+00054 0E710410 PPC 1EC18224 nsWindow::DispatchWindowEvent(nsGUIEvent&)+00018 0E7103D0 PPC 1EC18150 nsWindow::DispatchEvent(nsGUIEvent*, nsEventStatus&)+00094 0E710380 PPC 1CD2A4DC HandleEvent(nsGUIEvent*)+00058 0E710330 PPC 1CD33834 nsViewManager2::DispatchEvent(nsGUIEvent*, nsEventStatus*)+005EC 0E710200 PPC 1CD2BE8C nsView::HandleEvent(nsGUIEvent*, unsigned int, nsEventStatus*, int&)+0015C 0E710180 PPC 1CD2BF18 nsView::HandleEvent(nsGUIEvent*, unsigned int, nsEventStatus*, int&)+001E8 0E710100 PPC 1DFF52B8 PresShell::HandleEvent(nsIView*, nsGUIEvent*, nsEventStatus*, int&)+002E4 0E710090 PPC 1DFF55F4 PresShell::HandleEventInternal(nsEvent*, nsIView*, nsEventStatus*)+001C8 0E710030 PPC 1E0AD294 nsEventStateManager::PostHandleEvent(nsIPresContext*, nsEvent*, nsIFrame*, nsEventStatus*, nsIView*)+00398 0E70FEC0 PPC 1E0AF18C nsEventStateManager::CheckForAndDispatchClick(nsIPresContext*, nsMouseEvent*, nsEventStatus*)+00158 0E70FDE0 PPC 1DFF539C PresShell::HandleEventWithTarget(nsEvent*, nsIFrame*, nsIContent*, nsEventStatus*)+00038 0E70FD90 PPC 1DFF54E8 PresShell::HandleEventInternal(nsEvent*, nsIView*, nsEventStatus*)+000BC 0E70FD30 PPC 1F054E50 nsXULElement::HandleDOMEvent(nsIPresContext*, nsEvent*, nsIDOMEvent**, unsigned int, nsEventStatus*)+005A4 0E70FAE0 PPC 1F054E50 nsXULElement::HandleDOMEvent(nsIPresContext*, nsEvent*, nsIDOMEvent**, unsigned int, nsEventStatus*)+005A4 0E70F890 PPC 1F054E50 nsXULElement::HandleDOMEvent(nsIPresContext*, nsEvent*, nsIDOMEvent**, unsigned int, nsEventStatus*)+005A4 0E70F640 PPC 1F054D74 nsXULElement::HandleDOMEvent(nsIPresContext*, nsEvent*, nsIDOMEvent**, unsigned int, nsEventStatus*)+004C8 0E70F3F0 PPC 1E0A7968 nsEventListenerManager::HandleEvent(nsIPresContext*, nsEvent*, nsIDOMEvent**, nsIDOMEventTarget*, unsigned int, nsEventStatus*)+002C8 0E70F210 PPC 1E35BA04 nsXBLEventHandler::MouseClick(nsIDOMEvent*)+000BC 0E70F110 PPC 1E35D944 nsXBLEventHandler::ExecuteHandler(const nsString&, nsIDOMEvent*)+003C8 0E70EDD0 PPC 1F1BC9A0 nsJSEventListener::HandleEvent(nsIDOMEvent*)+00268 0E70ECB0 PPC 1F15FB9C nsJSContext::CallEventHandler(void*, void*, unsigned int, void*, int*, int)+001E0 0E70EBF0 PPC 1EE2C520 JS_CallFunctionValue+00028 0E70EBB0 PPC 1EE4578C js_InternalInvoke+000C0 0E70EAF0 PPC 1EE45558 js_Invoke+004C4 0E70EA10 PPC 1EE4C58C js_Interpret+06528 0E70E7D0 PPC 1EE45500 js_Invoke+0046C 0E70E6F0 PPC 1F039AE8 XULTreeElementSelectItemRange(JSContext*, JSObject*, unsigned int, long*, long*)+002D8 0E70E510 PPC 1F03B92C nsXULTreeElement::SelectItemRange(nsIDOMXULElement*, nsIDOMXULElement*)+00228 0E70E170 PPC 1EC7CE24 nsCOMPtr_base::assign_from_helper(const nsCOMPtr_helper&, const nsID&)+00028 0E70E120 PPC 1EC7CC50 nsQueryInterface::operator()(const nsID&, void**) const+00028 This is the code from the bookmark crash: Calling chain using A6/R1 links Back chain ISA Caller 00000000 PPC 1F504B04 0E710AC0 PPC 1F4EF718 main+00130 0E710A60 PPC 1F4EEC14 main1(int, char**, nsISupports*)+00944 0E7107A0 PPC 1F0AED34 nsAppShellService::Run()+00018 0E710760 PPC 1ED8BD44 nsAppShell::Run()+00038 0E710710 PPC 1ED8C440 nsMacMessagePump::DoMessagePump()+0003C 0E7106C0 PPC 1ED8C944 nsMacMessagePump::DispatchEvent(int, EventRecord*)+00070 0E710670 PPC 1ED8D2AC nsMacMessagePump::DoMouseUp(EventRecord&)+0004C 0E710620 PPC 1ED8D840 nsMacMessagePump::DispatchOSEventToRaptor(EventRecord&, GrafPort*)+00044 0E7105D0 PPC 1ED891E4 nsMacMessageSink::DispatchOSEvent(EventRecord&, GrafPort*)+00038 0E710590 PPC 1ED84488 nsMacWindow::HandleOSEvent(EventRecord&)+00020 0E710550 PPC 1ED851D4 nsMacEventHandler::HandleOSEvent(EventRecord&)+000D0 0E710500 PPC 1ED86990 nsMacEventHandler::HandleMouseUpEvent(EventRecord&)+00048 0E710470 PPC 1ED6A368 nsWindow::DispatchMouseEvent(nsMouseEvent&)+00054 0E710410 PPC 1ED6A224 nsWindow::DispatchWindowEvent(nsGUIEvent&)+00018 0E7103D0 PPC 1ED6A150 nsWindow::DispatchEvent(nsGUIEvent*, nsEventStatus&)+00094 0E710380 PPC 1CD2A4DC HandleEvent(nsGUIEvent*)+00058 0E710330 PPC 1CD33834 nsViewManager2::DispatchEvent(nsGUIEvent*, nsEventStatus*)+005EC 0E710200 PPC 1CD2BE8C nsView::HandleEvent(nsGUIEvent*, unsigned int, nsEventStatus*, int&)+0015C 0E710180 PPC 1CD2BF18 nsView::HandleEvent(nsGUIEvent*, unsigned int, nsEventStatus*, int&)+001E8 0E710100 PPC 1DFF52B8 PresShell::HandleEvent(nsIView*, nsGUIEvent*, nsEventStatus*, int&)+002E4 0E710090 PPC 1DFF55F4 PresShell::HandleEventInternal(nsEvent*, nsIView*, nsEventStatus*)+001C8 0E710030 PPC 1E0AD294 nsEventStateManager::PostHandleEvent(nsIPresContext*, nsEvent*, nsIFrame*, nsEventStatus*, nsIView*)+00398 0E70FEC0 PPC 1E0AF18C nsEventStateManager::CheckForAndDispatchClick(nsIPresContext*, nsMouseEvent*, nsEventStatus*)+00158 0E70FDE0 PPC 1DFF539C PresShell::HandleEventWithTarget(nsEvent*, nsIFrame*, nsIContent*, nsEventStatus*)+00038 0E70FD90 PPC 1DFF54E8 PresShell::HandleEventInternal(nsEvent*, nsIView*, nsEventStatus*)+000BC 0E70FD30 PPC 1F014E50 nsXULElement::HandleDOMEvent(nsIPresContext*, nsEvent*, nsIDOMEvent**, unsigned int, nsEventStatus*)+005A4 0E70FAE0 PPC 1F014E50 nsXULElement::HandleDOMEvent(nsIPresContext*, nsEvent*, nsIDOMEvent**, unsigned int, nsEventStatus*)+005A4 0E70F890 PPC 1F014E50 nsXULElement::HandleDOMEvent(nsIPresContext*, nsEvent*, nsIDOMEvent**, unsigned int, nsEventStatus*)+005A4 0E70F640 PPC 1F014E50 nsXULElement::HandleDOMEvent(nsIPresContext*, nsEvent*, nsIDOMEvent**, unsigned int, nsEventStatus*)+005A4 0E70F3F0 PPC 1F014E50 nsXULElement::HandleDOMEvent(nsIPresContext*, nsEvent*, nsIDOMEvent**, unsigned int, nsEventStatus*)+005A4 0E70F1A0 PPC 1F014D74 nsXULElement::HandleDOMEvent(nsIPresContext*, nsEvent*, nsIDOMEvent**, unsigned int, nsEventStatus*)+004C8 0E70EF50 PPC 1E0A7968 nsEventListenerManager::HandleEvent(nsIPresContext*, nsEvent*, nsIDOMEvent**, nsIDOMEventTarget*, unsigned int, nsEventStatus*)+002C8 0E70ED70 PPC 1E35BA04 nsXBLEventHandler::MouseClick(nsIDOMEvent*)+000BC 0E70EC70 PPC 1E35D944 nsXBLEventHandler::ExecuteHandler(const nsString&, nsIDOMEvent*)+003C8 0E70E930 PPC 1F17C9A0 nsJSEventListener::HandleEvent(nsIDOMEvent*)+00268 0E70E810 PPC 1F11FB9C nsJSContext::CallEventHandler(void*, void*, unsigned int, void*, int*, int)+001E0 0E70E750 PPC 1EE2C520 JS_CallFunctionValue+00028 0E70E710 PPC 1EE4578C js_InternalInvoke+000C0 0E70E650 PPC 1EE45558 js_Invoke+004C4 0E70E570 PPC 1EE4C58C js_Interpret+06528 0E70E330 PPC 1EE45500 js_Invoke+0046C 0E70E250 PPC 1EFF9AE8 XULTreeElementSelectItemRange(JSContext*, JSObject*, unsigned int, long*, long*)+002D8
nominate nsbeta3.
Keywords: nsbeta3
Oh yes. Very reproducible in the bookmarks context. Simply delete bookmark and shift+click on the last bookmark and you crash immediately. Reproduced with the 2000061109 Rh 6.1 Linux build
I wonder if I should nominate for nsbeta2 instead. Will your new tree rewrite address this, hyatt?
Summary: type 11 crash at shift-clicking a title in the messages list → crash at shift-clicking a title in the messages list
*** Bug 42807 has been marked as a duplicate of this bug. ***
fixed.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
(grumble, I suck, reopening ...) I can reproduce this crash in 3pane mail, using the steps provided by hirata masakazu on 06/10. (reproduced on mac/linux/win32 20000719nn builds). (Note: I cannot reproduce this using the steps in the dup of this bug (Bug 42807), and bug 42013, which could generate the same stack trace is also no longer crashable. However, this bug can still trigger the required code path).
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
This is a result of not updating the current item when a tree item is deleted. I've been working on this.
Assignee: hyatt → bryner
Status: REOPENED → NEW
Status: NEW → ASSIGNED
Whiteboard: nsbeta3+
Whiteboard: nsbeta3+ → [nsbeta3+]
*** Bug 46426 has been marked as a duplicate of this bug. ***
Target Milestone: --- → M18
Keywords: mailtrack
P1
Priority: P3 → P1
*** Bug 49685 has been marked as a duplicate of this bug. ***
Checked in a fix.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → FIXED
Reopening. I can crash in mailnews using the steps provided by hirata masakazu 2000-06-10 20:02 -- note: this does not involve deleting any items, just doing a selection. It appears that currentItem is null prior to doing the shift-click (hence deref's a null pointer). Crash on mac/linux/win32 2000090508 builds.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Note: this _is_ fixed for the bookmark case (deleting, then doing shift-click).
I see this all the time. I think I'm doing the steps here. I'll attach the talkback report I have.
Attached file talkback report
Ok, I must have missed something...
Status: REOPENED → ASSIGNED
PDT agrees P1
Whiteboard: [nsbeta3+] → [nsbeta3+][PDTP1]
Fixed for good, I hope.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → FIXED
Verified fixed 2000080708 win32/mac/linux builds -- no mo crash on the shift click. bryner is the man ...
Status: RESOLVED → VERIFIED
Component: XP Toolkit/Widgets: Trees → XUL
QA Contact: jrgmorrison → xptoolkit.widgets
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: