Closed
Bug 43074
Opened 26 years ago
Closed 26 years ago
minimizing mailnews window causes CPU to peg
Categories
(Core :: XUL, defect, P3)
Tracking
()
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()
Comment 1•26 years ago
|
||
We used to have this bug before and it was a box problem. Eric fixed it for us.
I wonder if it's back?
Comment 2•26 years ago
|
||
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
Comment 3•26 years ago
|
||
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.
Comment 5•26 years ago
|
||
*** This bug has been marked as a duplicate of 40574 ***
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•