Closed
Bug 27269
Opened 25 years ago
Closed 25 years ago
infinite reflow in mail compose
Categories
(MailNews Core :: Composition, defect, P3)
Tracking
(Not tracked)
M14
People
(Reporter: alecf, Assigned: hyatt)
Details
On Linux, in the mail compose window, I'm getting some kind of infinite reflow
loop whenever I enter a second address.. the CPU shoots to 100% utilization.
Stack trace below.
To reproduce:
- start mail
- open a compose window
- type in one address and hit enter
- type in a second address and hit enter
everything locks up at this point, and never comes back.
I interrupted in it in the debugger and took this stack trace snapshot:
(I've tried a few times - the top few frames are always different, and it seems
like the stack is always at least 50 frames deep)
This was happening before evaughan's box landing on 9-Feb-2000
(gdb) where
#0 0x40303df4 in __libc_write ()
#1 0x401d4a7c in __DTOR_END__ ()
#2 0x407fd664 in _X11TransSocketWrite ()
#3 0x407fe224 in _X11TransWrite ()
#4 0x407e2d3a in _XFlushInt ()
#5 0x407e40cc in _XReply ()
#6 0x407e124b in XTranslateCoordinates ()
#7 0x4077484f in gdk_window_get_origin ()
#8 0x40604fc6 in nsWindow::WidgetToScreen (this=0x93ac900,
aOldRect=@0xbfffc408, aNewRect=@0xbfffc3f8) at nsWindow.cpp:190
#9 0x40608585 in nsWindow::Move (this=0x9713478, aX=19, aY=127)
at nsWindow.cpp:2325
#10 0x410c03b8 in ?? ()
from /home1/alecf/seamonkey/mozilla/dist/bin/components/libraptorview.so
#11 0x410c2908 in ?? ()
from /home1/alecf/seamonkey/mozilla/dist/bin/components/libraptorview.so
#12 0x410ca818 in ?? ()
from /home1/alecf/seamonkey/mozilla/dist/bin/components/libraptorview.so
#13 0x40cff438 in nsContainerFrame::PositionFrameView (aPresContext=0x949a1e8,
aKidFrame=0x9705a58, aView=0x97133b8) at nsContainerFrame.cpp:407
#14 0x40cffa6a in nsContainerFrame::PositionChildViews (
aPresContext=0x949a1e8, aFrame=0x9705998) at nsContainerFrame.cpp:697
#15 0x40cffa79 in nsContainerFrame::PositionChildViews (
---Type <return> to continue, or q <return> to quit---
aPresContext=0x949a1e8, aFrame=0x9705950) at nsContainerFrame.cpp:701
#16 0x40cffa79 in nsContainerFrame::PositionChildViews (
aPresContext=0x949a1e8, aFrame=0x97058e4) at nsContainerFrame.cpp:701
#17 0x40e85dfb in nsTableRowFrame::ResizeReflow (this=0x9705884,
aPresContext=0x949a1e8, aDesiredSize=@0xbfffca38,
aReflowState=@0xbfffc7fc, aStatus=@0xbffff2fc, aDirtyOnly=0)
at nsTableRowFrame.cpp:860
#18 0x40e86ccd in nsTableRowFrame::Reflow (this=0x9705884,
aPresContext=0x949a1e8, aDesiredSize=@0xbfffca38,
aReflowState=@0xbfffc998, aStatus=@0xbffff2fc) at nsTableRowFrame.cpp:1372
#19 0x40ebd704 in nsTreeRowFrame::Reflow (this=0x9705884,
aPresContext=0x949a1e8, aDesiredSize=@0xbfffca38,
aReflowState=@0xbfffc998, aStatus=@0xbffff2fc) at nsTreeRowFrame.cpp:216
#20 0x40cff8cd in nsContainerFrame::ReflowChild (this=0x97057f4,
aKidFrame=0x9705884, aPresContext=0x949a1e8, aDesiredSize=@0xbfffca38,
aReflowState=@0xbfffc998, aX=0, aY=0, aFlags=0, aStatus=@0xbffff2fc)
at nsContainerFrame.cpp:638
#21 0x40e87da3 in nsTableRowGroupFrame::ReflowMappedChildren (this=0x97057f4,
aPresContext=0x949a1e8, aDesiredSize=@0xbfffcd40,
aReflowState=@0xbfffcb24, aStatus=@0xbffff2fc, aStartFrame=0x0,
aReason=eReflowReason_Resize, aDoSiblings=1, aDirtyOnly=0)
at nsTableRowGroupFrame.cpp:437
#22 0x40e89708 in nsTableRowGroupFrame::Reflow (this=0x97057f4,
aPresContext=0x949a1e8, aDesiredSize=@0xbfffcd40,
aReflowState=@0xbfffcca0, aStatus=@0xbffff2fc)
at nsTableRowGroupFrame.cpp:1090
#23 0x40cff8cd in nsContainerFrame::ReflowChild (this=0x96d95e0,
aKidFrame=0x97057f4, aPresContext=0x949a1e8, aDesiredSize=@0xbfffcd40,
aReflowState=@0xbfffcca0, aX=0, aY=0, aFlags=0, aStatus=@0xbffff2fc)
at nsContainerFrame.cpp:638
#24 0x40e87da3 in nsTableRowGroupFrame::ReflowMappedChildren (this=0x96d95e0,
aPresContext=0x949a1e8, aDesiredSize=@0xbfffd09c,
aReflowState=@0xbfffce2c, aStatus=@0xbffff2fc, aStartFrame=0x0,
aReason=eReflowReason_Resize, aDoSiblings=1, aDirtyOnly=0)
at nsTableRowGroupFrame.cpp:437
#25 0x40e89708 in nsTableRowGroupFrame::Reflow (this=0x96d95e0,
aPresContext=0x949a1e8, aDesiredSize=@0xbfffd09c,
aReflowState=@0xbfffcfdc, aStatus=@0xbffff2fc)
at nsTableRowGroupFrame.cpp:1090
#26 0x40cff8cd in nsContainerFrame::ReflowChild (this=0x96d93fc,
aKidFrame=0x96d95e0, aPresContext=0x949a1e8, aDesiredSize=@0xbfffd09c,
aReflowState=@0xbfffcfdc, aX=15, aY=15, aFlags=0, aStatus=@0xbffff2fc)
at nsContainerFrame.cpp:638
#27 0x40e7ecd4 in nsTableFrame::ReflowMappedChildren (this=0x96d93fc,
aPresContext=0x949a1e8, aDesiredSize=@0xbfffd488,
aReflowState=@0xbfffd118, aStatus=@0xbffff2fc) at nsTableFrame.cpp:2915
#28 0x40e7ce54 in nsTableFrame::ResizeReflowPass2 (this=0x96d93fc,
aPresContext=0x949a1e8, aDesiredSize=@0xbfffd488,
aReflowState=@0xbfffd1ac, aStatus=@0xbffff2fc) at nsTableFrame.cpp:1907
#29 0x40e7c448 in nsTableFrame::Reflow (this=0x96d93fc,
aPresContext=0x949a1e8, aDesiredSize=@0xbfffd488,
aReflowState=@0xbfffd4b8, aStatus=@0xbffff2fc) at nsTableFrame.cpp:1575
#30 0x40eb1962 in nsTreeFrame::Reflow (this=0x96d93fc, aPresContext=0x949a1e8,
aDesiredSize=@0xbfffd488, aReflowState=@0xbfffd4b8, aStatus=@0xbffff2fc)
at nsTreeFrame.cpp:396
#31 0x40cff8cd in nsContainerFrame::ReflowChild (this=0x96d93a0,
aKidFrame=0x96d93fc, aPresContext=0x949a1e8, aDesiredSize=@0xbfffd488,
aReflowState=@0xbfffd4b8, aX=0, aY=0, aFlags=0, aStatus=@0xbffff2fc)
at nsContainerFrame.cpp:638
#32 0x40e840a0 in nsTableOuterFrame::Reflow (this=0x96d93a0,
aPresContext=0x949a1e8, aDesiredSize=@0xbffff06c,
aReflowState=@0xbfffd6e4, aStatus=@0xbffff2fc)
at nsTableOuterFrame.cpp:1013
#33 0x40eaf3b7 in nsTreeOuterFrame::Reflow (this=0x96d93a0,
aPresContext=0x949a1e8, aDesiredSize=@0xbffff06c,
aReflowState=@0xbfffd6e4, aStatus=@0xbffff2fc) at nsTreeOuterFrame.cpp:136
#34 0x40ea2b65 in nsBoxFrameInner::FlowChildAt (this=0x96dad70,
childFrame=0x96d93a0, aPresContext=0x949a1e8, desiredSize=@0xbffff06c,
aReflowState=@0xbfffdad8, aStatus=@0xbffff2fc, aInfo=@0x96dc5e8, aX=0,
aY=0, aMoveFrame=1, aIncrementalChild=@0xbfffd9c0, aRedraw=@0xbfffd834,
aReason=@0xbfffd8e0) at nsBoxFrame.cpp:1765
#35 0x40ea1f8c in nsBoxFrameInner::FlowChildren (this=0x96dad70,
aPresContext=0x949a1e8, aDesiredSize=@0xbffff06c,
aReflowState=@0xbfffdad8, aStatus=@0xbffff2fc,
aIncrementalChild=@0xbfffd9c0, aRect=@0xbfffda74) at nsBoxFrame.cpp:1135
#36 0x40ea1999 in nsBoxFrame::Reflow (this=0x96d9360, aPresContext=0x949a1e8,
aDesiredSize=@0xbffff06c, aReflowState=@0xbfffdad8, aStatus=@0xbffff2fc)
at nsBoxFrame.cpp:892
#37 0x40ea2b65 in nsBoxFrameInner::FlowChildAt (this=0x96d28c8,
childFrame=0x96d9360, aPresContext=0x949a1e8, desiredSize=@0xbffff06c,
aReflowState=@0xbfffdecc, aStatus=@0xbffff2fc, aInfo=@0x96df190, aX=0,
aY=485, aMoveFrame=1, aIncrementalChild=@0xbfffddb4, aRedraw=@0xbfffdc28,
aReason=@0xbfffdcd4) at nsBoxFrame.cpp:1765
#38 0x40ea1f8c in nsBoxFrameInner::FlowChildren (this=0x96d28c8,
aPresContext=0x949a1e8, aDesiredSize=@0xbffff06c,
aReflowState=@0xbfffdecc, aStatus=@0xbffff2fc,
aIncrementalChild=@0xbfffddb4, aRect=@0xbfffde68) at nsBoxFrame.cpp:1135
#39 0x40ea1999 in nsBoxFrame::Reflow (this=0x96d05d0, aPresContext=0x949a1e8,
aDesiredSize=@0xbffff06c, aReflowState=@0xbfffdecc, aStatus=@0xbffff2fc)
at nsBoxFrame.cpp:892
#40 0x40ea2b65 in nsBoxFrameInner::FlowChildAt (this=0x96d1a88,
childFrame=0x96d05d0, aPresContext=0x949a1e8, desiredSize=@0xbffff06c,
aReflowState=@0xbfffe2c0, aStatus=@0xbffff2fc, aInfo=@0x96e39f0, aX=85,
aY=0, aMoveFrame=1, aIncrementalChild=@0xbfffe1a8, aRedraw=@0xbfffe01c,
aReason=@0xbfffe0c8) at nsBoxFrame.cpp:1765
#41 0x40ea1f8c in nsBoxFrameInner::FlowChildren (this=0x96d1a88,
aPresContext=0x949a1e8, aDesiredSize=@0xbffff06c,
aReflowState=@0xbfffe2c0, aStatus=@0xbffff2fc,
aIncrementalChild=@0xbfffe1a8, aRect=@0xbfffe25c) at nsBoxFrame.cpp:1135
#42 0x40ea1999 in nsBoxFrame::Reflow (this=0x96d0548, aPresContext=0x949a1e8,
aDesiredSize=@0xbffff06c, aReflowState=@0xbfffe2c0, aStatus=@0xbffff2fc)
at nsBoxFrame.cpp:892
#43 0x40ea2b65 in nsBoxFrameInner::FlowChildAt (this=0x96d19c8,
childFrame=0x96d0548, aPresContext=0x949a1e8, desiredSize=@0xbffff06c,
aReflowState=@0xbfffe6b4, aStatus=@0xbffff2fc, aInfo=@0x96e3b10, aX=0,
aY=0, aMoveFrame=1, aIncrementalChild=@0xbfffe59c, aRedraw=@0xbfffe410,
aReason=@0xbfffe4bc) at nsBoxFrame.cpp:1765
#44 0x40ea1f8c in nsBoxFrameInner::FlowChildren (this=0x96d19c8,
aPresContext=0x949a1e8, aDesiredSize=@0xbffff06c,
aReflowState=@0xbfffe6b4, aStatus=@0xbffff2fc,
aIncrementalChild=@0xbfffe59c, aRect=@0xbfffe650) at nsBoxFrame.cpp:1135
#45 0x40ea1999 in nsBoxFrame::Reflow (this=0x96d04fc, aPresContext=0x949a1e8,
aDesiredSize=@0xbffff06c, aReflowState=@0xbfffe6b4, aStatus=@0xbffff2fc)
at nsBoxFrame.cpp:892
#46 0x40ea2b65 in nsBoxFrameInner::FlowChildAt (this=0x96ca5f8,
childFrame=0x96d04fc, aPresContext=0x949a1e8, desiredSize=@0xbffff06c,
aReflowState=@0xbfffead0, aStatus=@0xbffff2fc, aInfo=@0x96f7e18, aX=150,
aY=690, aMoveFrame=1, aIncrementalChild=@0xbfffe990, aRedraw=@0xbfffe804,
aReason=@0xbfffe8b0) at nsBoxFrame.cpp:1765
#47 0x40ea1f8c in nsBoxFrameInner::FlowChildren (this=0x96ca5f8,
aPresContext=0x949a1e8, aDesiredSize=@0xbffff06c,
aReflowState=@0xbfffead0, aStatus=@0xbffff2fc,
aIncrementalChild=@0xbfffe990, aRect=@0xbfffea44) at nsBoxFrame.cpp:1135
#48 0x40ea1999 in nsBoxFrame::Reflow (this=0x96c8498, aPresContext=0x949a1e8,
aDesiredSize=@0xbffff06c, aReflowState=@0xbfffead0, aStatus=@0xbffff2fc)
at nsBoxFrame.cpp:892
#49 0x40ead8cf in nsToolboxFrame::Reflow (this=0x96c8498,
aPresContext=0x949a1e8, aDesiredSize=@0xbffff06c,
aReflowState=@0xbfffead0, aStatus=@0xbffff2fc) at nsToolboxFrame.cpp:334
#50 0x40ea2b65 in nsBoxFrameInner::FlowChildAt (this=0x9662d68,
childFrame=0x96c8498, aPresContext=0x949a1e8, desiredSize=@0xbffff06c,
aReflowState=@0xbfffefcc, aStatus=@0xbffff2fc, aInfo=@0x96ffac8, aX=0,
aY=405, aMoveFrame=1, aIncrementalChild=@0xbfffedac, aRedraw=@0xbfffec20,
aReason=@0xbfffeccc) at nsBoxFrame.cpp:1765
#51 0x40ea1f8c in nsBoxFrameInner::FlowChildren (this=0x9662d68,
aPresContext=0x949a1e8, aDesiredSize=@0xbffff06c,
aReflowState=@0xbfffefcc, aStatus=@0xbffff2fc,
aIncrementalChild=@0xbfffedac, aRect=@0xbfffee60) at nsBoxFrame.cpp:1135
---Type <return> to continue, or q <return> to quit---
#52 0x40ea1999 in nsBoxFrame::Reflow (this=0x9660ca0, aPresContext=0x949a1e8,
aDesiredSize=@0xbffff06c, aReflowState=@0xbfffefcc, aStatus=@0xbffff2fc)
at nsBoxFrame.cpp:892
#53 0x40cff8cd in nsContainerFrame::ReflowChild (this=0x9660c64,
aKidFrame=0x9660ca0, aPresContext=0x949a1e8, aDesiredSize=@0xbffff06c,
aReflowState=@0xbfffefcc, aX=0, aY=0, aFlags=0, aStatus=@0xbffff2fc)
at nsContainerFrame.cpp:638
#54 0x40d1393e in RootFrame::Reflow (this=0x9660c64, aPresContext=0x949a1e8,
aDesiredSize=@0xbffff284, aReflowState=@0xbffff1dc, aStatus=@0xbffff2fc)
at nsHTMLFrame.cpp:326
#55 0x40cff8cd in nsContainerFrame::ReflowChild (this=0x9660c28,
aKidFrame=0x9660c64, aPresContext=0x949a1e8, aDesiredSize=@0xbffff284,
aReflowState=@0xbffff1dc, aX=0, aY=0, aFlags=0, aStatus=@0xbffff2fc)
at nsContainerFrame.cpp:638
#56 0x40d445ce in ViewportFrame::Reflow (this=0x9660c28,
aPresContext=0x949a1e8, aDesiredSize=@0xbffff414,
aReflowState=@0xbffff30c, aStatus=@0xbffff2fc) at nsViewportFrame.cpp:530
#57 0x40d14d1b in nsHTMLReflowCommand::Dispatch (this=0x9808150,
aPresContext=0x949a1e8, aDesiredSize=@0xbffff414, aMaxSize=@0xbffff40c,
aRendContext=@0x96a91d0) at nsHTMLReflowCommand.cpp:144
#58 0x40d2f404 in PresShell::ProcessReflowCommands (this=0x88133b0,
aInterruptible=1) at nsPresShell.cpp:1957
#59 0x40d2eefb in HandlePLEvent (aEvent=0x97f4fe0) at nsPresShell.cpp:1857
#60 0x40124656 in PL_HandleEvent (self=0x97f4fe0) at plevent.c:526
#61 0x401245a8 in PL_ProcessPendingEvents (self=0x80aac48) at plevent.c:487
#62 0x40125d2d in nsEventQueueImpl::ProcessPendingEvents (this=0x80aac20)
at nsEventQueue.cpp:241
#63 0x405eb63f in event_processor_callback (data=0x80aac20, source=8,
condition=GDK_INPUT_READ) at nsAppShell.cpp:141
#64 0x405eb36d in our_gdk_io_invoke (source=0x82e4078, condition=G_IO_IN,
data=0x8377640) at nsAppShell.cpp:54
#65 0x4079152a in ?? () from /usr/lib/libglib-1.2.so.0
#66 0x40792be6 in ?? () from /usr/lib/libglib-1.2.so.0
#67 0x407931a1 in ?? () from /usr/lib/libglib-1.2.so.0
#68 0x40793341 in ?? () from /usr/lib/libglib-1.2.so.0
#69 0x406ba339 in gtk_main ()
#70 0x405ebeda in nsAppShell::Run (this=0x8097018) at nsAppShell.cpp:304
#71 0x404e276a in ?? ()
from /home1/alecf/seamonkey/mozilla/dist/bin/components/libnsappshell.so
#72 0x804c941 in main1 (argc=1, argv=0xbffff774, splashScreen=0x0)
at nsAppRunner.cpp:564
#73 0x804ce6d in main (argc=1, argv=0xbffff774) at nsAppRunner.cpp:677
#74 0x402771eb in __libc_start_main (main=0x804cb30 <main>, argc=1,
argv=0xbffff774, init=0x8049810 <_init>, fini=0x804eaa0 <_fini>,
rtld_fini=0x4000a610, stack_end=0xbffff76c)
at ../sysdeps/generic/libc-start.c:90
Reporter | ||
Comment 1•25 years ago
|
||
oops, meant to assign to hyatt, cc karnaze, not the other way around
Assignee: karnaze → hyatt
Assignee | ||
Comment 2•25 years ago
|
||
I'm beginning to think these hangs may have something to do with asynchronous
reflow. cc'ing nisheeth.
Status: NEW → ASSIGNED
Target Milestone: M14
nisheeth can show you how to turn off asynch reflow to verify. I think he
posted some info about how it all works based on prefs to n.p.m.layout not too
long ago.
Comment 4•25 years ago
|
||
Set the "layout.reflow.async.afterDocLoad" to false in your prefs file. This
will turn off async reflow.
Assignee | ||
Comment 5•25 years ago
|
||
On Win98, I was unable to reproduce any kind of hang. Is this only happening on
Linux?
cc'ing someone who might understand the GTK portion of the call stack. pavlov,
will probably need your help here.
Reporter | ||
Comment 6•25 years ago
|
||
also happening on mac according to ducarroz
Comment 7•25 years ago
|
||
*** This bug has been marked as a duplicate of 26618 ***
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
Updated•21 years ago
|
Product: MailNews → Core
Updated•17 years ago
|
Product: Core → MailNews Core
You need to log in
before you can comment on or make changes to this bug.
Description
•