Closed Bug 43074 Opened 26 years ago Closed 26 years ago

minimizing mailnews window causes CPU to peg

Categories

(Core :: XUL, defect, P3)

x86
Windows NT
defect

Tracking

()

VERIFIED DUPLICATE of bug 40574

People

(Reporter: waterson, Assigned: eric)

Details

(Keywords: perf, Whiteboard: [nsbeta2+])

To reproduce: 1. Open mailnews. 2. Minimize mailnews. Observe that the CPU utilization goes to 100%. Turns out we're reflowing like gangbusters. Here's a typical stack trace: USER32! 77e71c84() nsWindow::OnResize(nsWindow * const 0x000a6001, nsRect & {x=0x00000000 y= 0x00000178 width=0x000000a2 height=0x0000013a}) line 3538 nsWindow::ProcessMessage(nsWindow * const 0x000a6001, unsigned int 0x00000047, unsigned int 0x0012edf8, long 0x0012edf8, long * 0x0012edac) line 2961 nsWindow::WindowProc(HWND__ * 0x003c03a0, unsigned int 0x00000047, unsigned int 0x00000000, long 0x00000000) line 829 + 18 bytes USER32! 77e71ab7() USER32! 77e72fbe() NTDLL! 77f7624f() nsView::SetDimensions(nsView * const 0x00000000, int 0x0000097e, int 0x0000126d, int 0x00000001) line 1009 nsViewManager2::ResizeView(nsViewManager2 * const 0x023b80d0, nsIView * 0x023b70e0, int 0x00000000, int 0x0000126d) line 1630 nsContainerFrame::SyncFrameViewAfterReflow(nsIPresContext * 0x023b82f0, nsIFrame * 0x023b70e0, nsIView * 0x02f8d0b0, const nsRect * 0x0012f064 {x=0x00000000 y= 0x00000000 width=0x00000000 height=0x00000000}, unsigned int 0x00000000) line 475 nsContainerFrame::FinishReflowChild(nsIFrame * 0x028c15b0, nsIPresContext * 0x023b82f0, nsHTMLReflowMetrics & {...}, int 0x02f8d0b0, int 0x00000000, unsigned int 0x00000000) line 810 + 19 bytes nsHTMLFrameOuterFrame::Reflow(nsHTMLFrameOuterFrame * const 0x028ad39c, nsIPresContext * 0x023b82f0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 384 + 23 bytes nsBoxToBlockAdaptor::Reflow(nsBoxToBlockAdaptor * const 0x000a6001, nsBoxLayoutState & {...}, nsIPresContext * 0x023b82f0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000, int 0x00000000, int 0x00000000, int 0x0000097e, int 0x0000126d, int 0x01dd64a4) line 799 nsBoxToBlockAdaptor::Layout(nsBoxToBlockAdaptor * const 0x00000000, nsBoxLayoutState & {...}) line 467 + 40 bytes nsSprocketLayout::Layout(nsSprocketLayout * const 0x009cae00, nsIBox * 0x028ad0dc, nsBoxLayoutState & {...}) line 408 nsContainerBox::Layout(nsContainerBox * const 0x00000000, nsBoxLayoutState & {...}) line 552 + 8 bytes nsBoxFrame::Layout(nsBoxFrame * const 0x028ad0dc, nsBoxLayoutState & {...}) line 797 + 10 bytes nsSprocketLayout::Layout(nsSprocketLayout * const 0x009cae00, nsIBox * 0x01dd6978, nsBoxLayoutState & {...}) line 408 nsContainerBox::Layout(nsContainerBox * const 0x00000000, nsBoxLayoutState & {...}) line 552 + 8 bytes nsBoxFrame::Layout(nsBoxFrame * const 0x01dd6978, nsBoxLayoutState & {...}) line 797 + 10 bytes nsSprocketLayout::Layout(nsSprocketLayout * const 0x009cae00, nsIBox * 0x01dd62e0, nsBoxLayoutState & {...}) line 408 nsContainerBox::Layout(nsContainerBox * const 0x00000000, nsBoxLayoutState & {...}) line 552 + 8 bytes nsBoxFrame::Layout(nsBoxFrame * const 0x01dd62e0, nsBoxLayoutState & {...}) line 797 + 10 bytes nsSprocketLayout::ChildResized(nsSprocketLayout * const 0x000a6001, nsIBox * 0x01dd6258, nsBoxLayoutState & {...}, nsIBox * 0x01dd62e0, nsBoxSize * 0x01db1868, nsComputedBoxSize * 0x01db18e0, nsBoxSize * 0x01db1868, nsComputedBoxSize * 0x01db18e0, const nsRect & {x=0x0000097e y=0x00002607 width= 0x20c01034 height=0x00000000}, nsRect & ...) line 963 + 9 bytes nsSprocketLayout::Layout(nsSprocketLayout * const 0x009cae00, nsIBox * 0x01dd6258, nsBoxLayoutState & {...}) line 435 nsContainerBox::Layout(nsContainerBox * const 0x00000000, nsBoxLayoutState & {...}) line 552 + 8 bytes nsBoxFrame::Layout(nsBoxFrame * const 0x01dd6258, nsBoxLayoutState & {...}) line 797 + 10 bytes nsSprocketLayout::Layout(nsSprocketLayout * const 0x009cae00, nsIBox * 0x01d68d4c, nsBoxLayoutState & {...}) line 408 nsContainerBox::Layout(nsContainerBox * const 0x00000000, nsBoxLayoutState & {...}) line 552 + 8 bytes nsBoxFrame::Layout(nsBoxFrame * const 0x01d68d4c, nsBoxLayoutState & {...}) line 797 + 10 bytes nsStackLayout::Layout(nsStackLayout * const 0x009c8b10, nsIBox * 0x01d68d4c, nsBoxLayoutState & {...}) line 245 nsContainerBox::Layout(nsContainerBox * const 0x00000000, nsBoxLayoutState & {...}) line 552 + 8 bytes nsBoxFrame::Layout(nsBoxFrame * const 0x01d68cc4, nsBoxLayoutState & {...}) line 797 + 10 bytes nsBoxFrame::Reflow(nsBoxFrame * const 0x01d68c90, nsIPresContext * 0x023b82f0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 651 nsRootBoxFrame::Reflow(nsRootBoxFrame * const 0x01d68c90, nsIPresContext * 0x023b82f0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 211 nsContainerFrame::ReflowChild(nsContainerFrame * const 0x000a6001, nsIFrame * 0x01d68c90, nsIPresContext * 0x023b82f0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 716 ViewportFrame::Reflow(ViewportFrame * const 0x01d68c58, nsIPresContext * 0x023b82f0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 546 nsHTMLReflowCommand::Dispatch(nsHTMLReflowCommand * const 0x023b70e0, nsIPresContext * 0x023b82f0, nsHTMLReflowMetrics & {...}, const nsSize & {width= 0x00000000 height=0x00000000}, nsIRenderingContext & {...}) line 145 PresShell::ProcessReflowCommands(PresShell * const 0x000a6001, int 0x00000001) line 3921 ReflowEvent::HandleEvent(ReflowEvent * const 0x000a6001) line 3810 PL_HandleEvent(PLEvent * 0x021ff030) line 576 PL_ProcessPendingEvents(PLEventQueue * 0x009b4890) line 520 + 6 bytes _md_EventReceiverProc(HWND__ * 0x050a0276, unsigned int 0x0000c090, unsigned int 0x00000000, long 0x009b4890) line 1032 + 10 bytes USER32! 77e71250() 009b4890()
Severity: normal → major
Keywords: perf
We used to have this bug before and it was a box problem. Eric fixed it for us. I wonder if it's back?
Also happens using today's NS verification bits on Win98. reassigning to evaughan, nominating for nsbeta2+. Computer is of little use when cpu is pegged trying to reflow an invisible app.
Assignee: trudelle → evaughan
Keywords: nsbeta2
Just found out that it is also possible to get into a state where the app is essentially hung, and the task must be ended to recover.
nsbeta2+
Whiteboard: [nsbeta2+]
*** This bug has been marked as a duplicate of 40574 ***
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → DUPLICATE
verified duplicate.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.