Closed Bug 23657 Opened 25 years ago Closed 25 years ago

[DOGFOOD] Mail freezes in infinite loop after minimizing window

Categories

(SeaMonkey :: MailNews: Message Display, defect, P3)

x86
Windows NT
defect

Tracking

(Not tracked)

VERIFIED WORKSFORME

People

(Reporter: kinmoz, Assigned: troy)

Details

(Whiteboard: [PDT+])

In the 01/10/2000 and 01/11/2000 Seamonkey builds. The mail window will freeze the entire application if you: 1. Select a subject in the subject pane and wait for the message to load. 2. Press the '_' button on the window's title bar to iconify/minimize the window so that it only appears on the WindowsNT application/status bar at the bottom of the screen. 3. Click on the Mail window's button in the WindowsNT application/status bar to maximize it again. When I break in the debugger to see where it is at, it keeps cycling through the following stack trace: USER32! 77e74a2c() nsWindow::OnResize(nsRect & {...}) line 3337 nsWindow::ProcessMessage(unsigned int 71, unsigned int 0, long 1236916, long * 0x0012df44) line 2894 + 24 bytes nsWindow::WindowProc(HWND__ * 0x0aff061e, unsigned int 71, unsigned int 0, long 1236916) line 689 + 27 bytes USER32! 77e719d0() USER32! 77e730a3() NTDLL! 77f763a3() nsWebShell::SetPositionAndSize(nsWebShell * const 0x034f1e2c, int 0, int 0, int 162, int 10, int 0) line 3690 nsHTMLFrameInnerFrame::Reflow(nsHTMLFrameInnerFrame * const 0x011e1e2c, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 925 nsContainerFrame::ReflowChild(nsIFrame * 0x011e1e2c, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0, int 0, unsigned int 0, unsigned int & 0) line 621 + 31 bytes nsHTMLFrameOuterFrame::Reflow(nsHTMLFrameOuterFrame * const 0x011dc9ac, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 372 nsBoxFrame::FlowChildAt(nsIFrame * 0x011dc9ac, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsCalculatedBoxInfo & {...}, int & 1, nsString & {...}) line 1139 nsBoxFrame::FlowChildren(nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsRect & {...}) line 687 nsBoxFrame::Reflow(nsBoxFrame * const 0x011dc300, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 578 nsBoxFrame::FlowChildAt(nsIFrame * 0x011dc300, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsCalculatedBoxInfo & {...}, int & 0, nsString & {...}) line 1139 nsBoxFrame::FlowChildren(nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsRect & {...}) line 687 nsBoxFrame::Reflow(nsBoxFrame * const 0x011dc2c0, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 578 nsBoxFrame::FlowChildAt(nsIFrame * 0x011dc2c0, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsCalculatedBoxInfo & {...}, int & 0, nsString & {...}) line 1139 nsBoxFrame::FlowChildren(nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsRect & {...}) line 687 nsBoxFrame::Reflow(nsBoxFrame * const 0x011da018, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 578 nsContainerFrame::ReflowChild(nsIFrame * 0x011da018, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0, int 0, unsigned int 0, unsigned int & 0) line 621 + 31 bytes RootFrame::Reflow(RootFrame * const 0x011d9fdc, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 331 nsContainerFrame::ReflowChild(nsIFrame * 0x011d9fdc, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0, int 0, unsigned int 0, unsigned int & 0) line 621 + 31 bytes ViewportFrame::Reflow(ViewportFrame * const 0x011d9fa0, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 527 nsHTMLReflowCommand::Dispatch(nsHTMLReflowCommand * const 0x0399bdd0, nsIPresContext * 0x031204b0, nsHTMLReflowMetrics & {...}, const nsSize & {...}, nsIRenderingContext & {...}) line 145 PresShell::ProcessReflowCommands(PresShell * const 0x031219b0) line 1904 PresShell::ExitReflowLock(PresShell * const 0x031219b0, int 1, int 1) line 828 PresShell::ResizeReflow(PresShell * const 0x031219b0, int 0, int 0) line 1264 PresShell::ResizeReflow(PresShell * const 0x031219b4, nsIView * 0x03121f40, int 0, int 0) line 2782 nsViewManager::SetWindowDimensions(nsViewManager * const 0x031201a0, int 0, int 0) line 378 nsViewManager::DispatchEvent(nsViewManager * const 0x031201a0, nsGUIEvent * 0x0012f444, nsEventStatus * 0x0012f3b0) line 1538 HandleEvent(nsGUIEvent * 0x0012f444) line 69 nsWindow::DispatchEvent(nsWindow * const 0x03121e14, nsGUIEvent * 0x0012f444, nsEventStatus & nsEventStatus_eIgnore) line 502 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f444) line 523 nsWindow::OnResize(nsRect & {...}) line 3347 + 15 bytes nsWindow::ProcessMessage(unsigned int 71, unsigned int 0, long 1242860, long * 0x0012f67c) line 2894 + 24 bytes nsWindow::WindowProc(HWND__ * 0x10df060c, unsigned int 71, unsigned int 0, long 1242860) line 689 + 27 bytes USER32! 77e719d0() USER32! 77e730a3() NTDLL! 77f763a3() DocumentViewerImpl::SetBounds(DocumentViewerImpl * const 0x030d3b90, const nsRect & {...}) line 526 nsWebShell::SetPositionAndSize(nsWebShell * const 0x02a9f1bc, int 0, int 0, int 0, int 0, int 0) line 3698 nsWebShellWindow::HandleEvent(nsGUIEvent * 0x0012f8a0) line 485 nsWindow::DispatchEvent(nsWindow * const 0x02a9f624, nsGUIEvent * 0x0012f8a0, nsEventStatus & nsEventStatus_eIgnore) line 502 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f8a0) line 523 nsWindow::OnResize(nsRect & {...}) line 3347 + 15 bytes nsWindow::ProcessMessage(unsigned int 71, unsigned int 0, long 1243976, long * 0x0012fad8) line 2894 + 24 bytes nsWindow::WindowProc(HWND__ * 0x143d0562, unsigned int 71, unsigned int 0, long 1243976) line 689 + 27 bytes USER32! 77e719d0() USER32! 77e730a3() NTDLL! 77f763a3() USER32! 77e718d2() nsWindow::DefaultWindowProc(HWND__ * 0x143d0562, unsigned int 274, unsigned int 61472, long 4064408) line 716 USER32! 77e727fe() USER32! 77e72889() nsWindow::WindowProc(HWND__ * 0x143d0562, unsigned int 274, unsigned int 61472, long 4064408) line 696 + 31 bytes USER32! 77e719d0() USER32! 77e71982() NTDLL! 77f763a3() USER32! 77e718d2() nsWindow::DefaultWindowProc(HWND__ * 0x143d0562, unsigned int 161, unsigned int 8, long 4064408) line 716 USER32! 77e727fe() USER32! 77e72889() nsWindow::WindowProc(HWND__ * 0x143d0562, unsigned int 161, unsigned int 8, long 4064408) line 696 + 31 bytes USER32! 77e71820() 003e0498()
Severity: normal → critical
Summary: Mail freezes in infinite loop. → [DOGFOOD] Mail freezes in infinite loop after minimizing window
This is in the release build as well.
I'm guessing a layout change caused this, and the only related-looking thing in yesterday's bonsai log is troy's stuff. Troy or RickG, to whom should this be assigned?
Assignee: phil → evaughan
troy sez this is a box bug for evaughan
That's not what I said. I said that there wa lots of stuff like framesets and boxes on the stack.
Whiteboard: [PDT+]
PDT+
For the record: I don't see tables on the stack, and my change yesterday involved incremental reflow and table cells. Looking at this stack, I don't see any indication that it is related to my change
targetting M13
Assignee: evaughan → hangas
Ok. If you minimize the navigator window it works fine. If you minimize the mail window it crashes in the tree code with an assertion: "Reflowing row group with unconstrained height at line 995. I talked to hyatt and he says this will happens if trees are put in div tags. The solution is to remove trees from any div tag their in the mail news dialog. So I'm reassigning this to the owner of mail news.
Target Milestone: M14
M14, cc alecf
Status: NEW → ASSIGNED
Target Milestone: M14 → M13
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → WORKSFORME
Seems to work ok now.
Linux (2000-01-21-08 M13) Win32 (2000-01-21-09 M13) I try it, Mail does not freeze any more. But I do not have a debugger to check though. Mark it verified. If anyone disagree, please re-open.
Status: RESOLVED → VERIFIED
This is happening again in my 01/26/2000 WinNt build. The stack trace is different everytime I break in the debugger and then continue, but it is always in the resize/reflow code. USER32! 77e75d8d() USER32! 77e718d2() nsWindow::DefaultWindowProc(HWND__ * 0x06980398, unsigned int 131, unsigned int 1, long 1235944) line 720 USER32! 77e727fe() USER32! 77e72889() nsWindow::WindowProc(HWND__ * 0x06980398, unsigned int 131, unsigned int 1, long 1235944) line 700 + 31 bytes USER32! 77e719d0() USER32! 77e75dbc() NTDLL! 77f763a3() nsView::SetDimensions(nsView * const 0x036ed210, int 2430, int 1422, int 1) line 914 nsViewManager::ResizeView(nsViewManager * const 0x0328d790, nsIView * 0x036ed210, int 2430, int 1422) line 1915 nsContainerFrame::SyncFrameViewAfterReflow(nsIPresContext * 0x0328da20, nsIFrame * 0x01203700, nsIView * 0x036ed210, const nsRect * 0x0012dde8, unsigned int 0) line 467 nsContainerFrame::FinishReflowChild(nsIFrame * 0x01203700, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, int 0, int 0, unsigned int 0) line 754 + 28 bytes nsHTMLFrameOuterFrame::Reflow(nsHTMLFrameOuterFrame * const 0x02a1e90c, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 376 + 30 bytes nsBoxFrame::FlowChildAt(nsIFrame * 0x02a1e90c, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsCalculatedBoxInfo & {...}, int & 0, nsString & {...}) line 1149 nsBoxFrame::FlowChildren(nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsRect & {...}) line 689 nsBoxFrame::Reflow(nsBoxFrame * const 0x02a1e88c, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 580 nsBoxFrame::FlowChildAt(nsIFrame * 0x02a1e88c, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsCalculatedBoxInfo & {...}, int & 1, nsString & {...}) line 1149 nsBoxFrame::FlowChildren(nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsRect & {...}) line 689 nsBoxFrame::Reflow(nsBoxFrame * const 0x02a1e22c, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 580 nsBoxFrame::FlowChildAt(nsIFrame * 0x02a1e22c, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsCalculatedBoxInfo & {...}, int & 1, nsString & {...}) line 1149 nsBoxFrame::FlowChildren(nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsRect & {...}) line 689 nsBoxFrame::Reflow(nsBoxFrame * const 0x02a1e1ec, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 580 nsBoxFrame::FlowChildAt(nsIFrame * 0x02a1e1ec, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsCalculatedBoxInfo & {...}, int & 1, nsString & {...}) line 1149 nsBoxFrame::FlowChildren(nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, nsRect & {...}) line 689 nsBoxFrame::Reflow(nsBoxFrame * const 0x02ad22c8, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 580 nsContainerFrame::ReflowChild(nsIFrame * 0x02ad22c8, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0, int 0, unsigned int 0, unsigned int & 0) line 637 + 31 bytes RootFrame::Reflow(RootFrame * const 0x02ad228c, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 331 nsContainerFrame::ReflowChild(nsIFrame * 0x02ad228c, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0, int 0, unsigned int 0, unsigned int & 0) line 637 + 31 bytes ViewportFrame::Reflow(ViewportFrame * const 0x02ad2250, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 531 nsHTMLReflowCommand::Dispatch(nsHTMLReflowCommand * const 0x0324b7f0, nsIPresContext * 0x0328da20, nsHTMLReflowMetrics & {...}, const nsSize & {...}, nsIRenderingContext & {...}) line 145 PresShell::ProcessReflowCommands(PresShell * const 0x0328ee70, int 0) line 1940 PresShell::ExitReflowLock(PresShell * const 0x0328ee70, int 1) line 848 PresShell::ResizeReflow(PresShell * const 0x0328ee70, int 0, int 0) line 1283 PresShell::ResizeReflow(PresShell * const 0x0328ee74, nsIView * 0x0328d4a0, int 0, int 0) line 2862 nsViewManager::SetWindowDimensions(nsViewManager * const 0x0328d790, int 0, int 0) line 378 nsViewManager::DispatchEvent(nsViewManager * const 0x0328d790, nsGUIEvent * 0x0012f38c, nsEventStatus * 0x0012f2f8) line 1546 HandleEvent(nsGUIEvent * 0x0012f38c) line 69 nsWindow::DispatchEvent(nsWindow * const 0x0328d374, nsGUIEvent * 0x0012f38c, nsEventStatus & nsEventStatus_eIgnore) line 507 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f38c) line 528 nsWindow::OnResize(nsRect & {...}) line 3396 + 15 bytes nsWindow::ProcessMessage(unsigned int 71, unsigned int 0, long 1242740, long * 0x0012f604) line 2943 + 24 bytes nsWindow::WindowProc(HWND__ * 0x0b7203ec, unsigned int 71, unsigned int 0, long 1242740) line 693 + 27 bytes USER32! 77e719d0() USER32! 77e730a3() NTDLL! 77f763a3() DocumentViewerImpl::SetBounds(DocumentViewerImpl * const 0x0328c9f0, const nsRect & {...}) line 549 nsWebShell::SetPositionAndSize(nsWebShell * const 0x0322c7cc, int 0, int 0, int 0, int 0, int 0) line 3927 nsWebShellWindow::HandleEvent(nsGUIEvent * 0x0012f838) line 480 nsWindow::DispatchEvent(nsWindow * const 0x0322b994, nsGUIEvent * 0x0012f838, nsEventStatus & nsEventStatus_eIgnore) line 507 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f838) line 528 nsWindow::OnResize(nsRect & {...}) line 3396 + 15 bytes nsWindow::ProcessMessage(unsigned int 71, unsigned int 0, long 1243936, long * 0x0012fab0) line 2943 + 24 bytes nsWindow::WindowProc(HWND__ * 0x18fd02ba, unsigned int 71, unsigned int 0, long 1243936) line 693 + 27 bytes USER32! 77e719d0() USER32! 77e730a3() NTDLL! 77f763a3() USER32! 77e718d2() nsWindow::DefaultWindowProc(HWND__ * 0x18fd02ba, unsigned int 274, unsigned int 61472, long 1836122) line 720 USER32! 77e727fe() USER32! 77e72889() nsWindow::WindowProc(HWND__ * 0x18fd02ba, unsigned int 274, unsigned int 61472, long 1836122) line 700 + 31 bytes USER32! 77e719d0() USER32! 77e71982() NTDLL! 77f763a3() USER32! 77e718d2() nsWindow::DefaultWindowProc(HWND__ * 0x18fd02ba, unsigned int 161, unsigned int 8, long 1836122) line 720 USER32! 77e727fe() USER32! 77e72889() nsWindow::WindowProc(HWND__ * 0x18fd02ba, unsigned int 161, unsigned int 8, long 1836122) line 700 + 31 bytes USER32! 77e71820()
Status: VERIFIED → REOPENED
Adding evaughan to the cc list, clearing worksforme resolution.
Resolution: WORKSFORME → ---
Reassign to rickg. Seems like lots of Gecko code in this stack trace.
Assignee: hangas → rickg
Status: REOPENED → NEW
Target Milestone: M13
Putting dogfood in the keyword field.
Keywords: dogfood
Troy -- I hate to add burden to your list, but I could really use your expertise to kill this puppy.
Assignee: rickg → troy
I can't reproduce the problem using today's build. Maybe it's been fixed between 1/26 and today If this is really a generic layout problem, then it should be able to be reproduced using an HTML or XML example that I can run in viewer. That would make debugging of things like this much easier
Status: NEW → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → WORKSFORME
1) I have only seen this problem on linux, ducarroz said he's only seen it on mac 2) it took us months to write the compose window, it would probably take just as long to distill it down to a similar example.
The bug says it happens on NT, and I'm running NT and it doesn't happen for me. That suggests either it's no longer a problem or it's platform specific. If it's platform specific, then it's most likely not a layout problem and there is probably a widget interaction
QA Contact: lchiang → laurel
I'm not able to reproduce a freeze using today's builds on linux, mac or NT. I tried both minimize|Quit|restore and minimize|restore within session. I am, however, seeing a repaint problem with the folder pane/sidebar in the mail window after restoring from minimized state, only seeing this on NT 4.0. I'll log this separately. Will mark this bug verified worksforme. If someone sees this, they can reopen.
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.