Closed
Bug 4363
Opened 26 years ago
Closed 26 years ago
demo #2 & #3 work in viewer, crash apprunner
Categories
(Core Graveyard :: Tracking, defect, P3)
Tracking
(Not tracked)
VERIFIED
FIXED
M4
People
(Reporter: mcafee, Assigned: rickg)
References
()
Details
i've added the viewer tests to apprunner, under Debug | Viewer.
Linux: demo #2 works in viewer, crashes apprunner:
#0 0x40b266a1 in __kill ()
#1 0x40b264cf in raise (sig=6) at ../sysdeps/posix/raise.c:27
#2 0x40b276df in abort () at ../sysdeps/generic/abort.c:83
#3 0x4083813a in PR_Abort () at prlog.c:461
#4 0x4002f426 in nsDebug::Abort (aFile=0x40eb6394 "nsViewManager.cpp",
aLine=468) at nsDebug.cpp:93
#5 0x4002f48a in nsDebug::Break (aFile=0x40eb6394 "nsViewManager.cpp",
aLine=468) at nsDebug.cpp:108
#6 0x4002f5cd in nsDebug::Assertion (aStr=0x40eb6434 "recursive painting not
permitted",
aExpr=0x40eb641c "!(PR_TRUE == mPainting)", aFile=0x40eb6394
"nsViewManager.cpp", aLine=468)
at nsDebug.cpp:140
#7 0x40eb2223 in nsViewManager::Refresh (this=0x82d1420, aView=0x82c3cc8,
aContext=0x8366f18,
rect=0xbfffa0f0, aUpdateFlags=1) at nsViewManager.cpp:468
#8 0x40eb2d5a in nsViewManager::DispatchEvent (this=0x82d1420,
aEvent=0xbfffa1b0, aStatus=@0xbfffa134)
at nsViewManager.cpp:1626
#9 0x40eaa688 in HandleEvent (aEvent=0xbfffa1b0) at nsView.cpp:63
#10 0x40098bf6 in nsWidget::DispatchEvent (this=0x82c3d58, event=0xbfffa1b0,
aStatus=@0xbfffa170)
at nsWidget.cpp:888
#11 0x40098ad4 in nsWidget::DispatchWindowEvent (this=0x82c3d58,
event=0xbfffa1b0) at nsWidget.cpp:848
#12 0x40099b95 in nsWindow::OnPaint (this=0x82c3d58, event=@0xbfffa1b0) at
nsWindow.cpp:439
#13 0x400958a9 in handle_draw_event (w=0x82c2578, area=0xbfffa558, p=0x82c3d58)
at nsGtkEventHandler.cpp:504
#14 0x4096d591 in gtk_marshal_NONE__POINTER (object=0x82c2578,
func=0x40095854 <handle_draw_event(_GtkWidget *, _GdkRectangle *, void *)>,
func_data=0x82c3d58,
args=0xbfffa290) at gtkmarshal.c:216
#15 0x4093211a in gtk_handlers_run (handlers=0x833b0f0, signal=0xbfffa24c,
object=0x82c2578,
params=0xbfffa290, after=0) at gtksignal.c:1909
#16 0x40931624 in gtk_signal_real_emit (object=0x82c2578, signal_id=8,
params=0xbfffa290)
at gtksignal.c:1469
#17 0x4092f934 in gtk_signal_emit (object=0x82c2578, signal_id=8) at
gtksignal.c:552
#18 0x40963894 in gtk_widget_draw (widget=0x82c2578, area=0xbfffa558) at
gtkwidget.c:2310
#19 0x408fb593 in gtk_layout_draw (widget=0x82d18e8, area=0xbfffa8bc) at
gtklayout.c:637
#20 0x4096d591 in gtk_marshal_NONE__POINTER (object=0x82d18e8, func=0x408fb488
<gtk_layout_draw>,
func_data=0x0, args=0xbfffa5f4) at gtkmarshal.c:216
is the full stack trace the same as that in bug #<a
href="http://bugzilla.mozilla.org/show_bug.cgi?id=4086">4086</a>?
Reporter | ||
Comment 2•26 years ago
|
||
Here's the full stack trace for demo #2 crash, yes it looks similar
to the other crash you mention, maybe keep this bug since it's
a layout test and will be easier to verify/test.
#0 0x40b276a1 in __kill ()
#1 0x40b274cf in raise (sig=6) at ../sysdeps/posix/raise.c:27
#2 0x40b286df in abort () at ../sysdeps/generic/abort.c:83
#3 0x4083913a in PR_Abort () at prlog.c:461
#4 0x4002f426 in nsDebug::Abort (aFile=0x40eb7394 "nsViewManager.cpp",
aLine=468) at nsDebug.cpp:93
#5 0x4002f48a in nsDebug::Break (aFile=0x40eb7394 "nsViewManager.cpp",
aLine=468) at nsDebug.cpp:108
#6 0x4002f5cd in nsDebug::Assertion (
aStr=0x40eb7434 "recursive painting not permitted",
aExpr=0x40eb741c "!(PR_TRUE == mPainting)",
aFile=0x40eb7394 "nsViewManager.cpp", aLine=468) at nsDebug.cpp:140
#7 0x40eb3223 in nsViewManager::Refresh (this=0x82d29b8, aView=0x82bc7b0,
aContext=0x8370bb8, rect=0xbfffa2f4, aUpdateFlags=1)
at nsViewManager.cpp:468
#8 0x40eb3d5a in nsViewManager::DispatchEvent (this=0x82d29b8,
aEvent=0xbfffa3b4, aStatus=@0xbfffa338) at nsViewManager.cpp:1626
#9 0x40eab688 in HandleEvent (aEvent=0xbfffa3b4) at nsView.cpp:63
#10 0x40098c42 in nsWidget::DispatchEvent (this=0x82bc820, event=0xbfffa3b4,
aStatus=@0xbfffa374) at nsWidget.cpp:908
#11 0x40098b20 in nsWidget::DispatchWindowEvent (this=0x82bc820,
event=0xbfffa3b4) at nsWidget.cpp:868
#12 0x40099be1 in nsWindow::OnPaint (this=0x82bc820, event=@0xbfffa3b4)
at nsWindow.cpp:439
#13 0x400958e9 in handle_draw_event (w=0x82bca10, area=0xbfffa75c, p=0x82bc820)
at nsGtkEventHandler.cpp:504
#14 0x4096e591 in gtk_marshal_NONE__POINTER (object=0x82bca10,
func=0x40095894 <handle_draw_event(_GtkWidget *, _GdkRectangle *, void *)>,
func_data=0x82bc820, args=0xbfffa494) at gtkmarshal.c:216
#15 0x4093311a in gtk_handlers_run (handlers=0x833ee48, signal=0xbfffa450,
object=0x82bca10, params=0xbfffa494, after=0) at gtksignal.c:1909
#16 0x40932624 in gtk_signal_real_emit (object=0x82bca10, signal_id=8,
params=0xbfffa494) at gtksignal.c:1469
#17 0x40930934 in gtk_signal_emit (object=0x82bca10, signal_id=8)
at gtksignal.c:552
#18 0x40964894 in gtk_widget_draw (widget=0x82bca10, area=0xbfffa75c)
at gtkwidget.c:2310
#19 0x408fc593 in gtk_layout_draw (widget=0x82d2e80, area=0xbfffaac0)
at gtklayout.c:637
#20 0x4096e591 in gtk_marshal_NONE__POINTER (object=0x82d2e80,
func=0x408fc488 <gtk_layout_draw>, func_data=0x0, args=0xbfffa7f8)
at gtkmarshal.c:216
#21 0x409324e1 in gtk_signal_real_emit (object=0x82d2e80, signal_id=8,
params=0xbfffa7f8) at gtksignal.c:1432
#22 0x40930934 in gtk_signal_emit (object=0x82d2e80, signal_id=8)
at gtksignal.c:552
#23 0x40964894 in gtk_widget_draw (widget=0x82d2e80, area=0xbfffaac0)
at gtkwidget.c:2310
#24 0x408fc593 in gtk_layout_draw (widget=0x828c0c0, area=0xbfffae24)
at gtklayout.c:637
#25 0x4096e591 in gtk_marshal_NONE__POINTER (object=0x828c0c0,
func=0x408fc488 <gtk_layout_draw>, func_data=0x0, args=0xbfffab5c)
at gtkmarshal.c:216
#26 0x409324e1 in gtk_signal_real_emit (object=0x828c0c0, signal_id=8,
params=0xbfffab5c) at gtksignal.c:1432
#27 0x40930934 in gtk_signal_emit (object=0x828c0c0, signal_id=8)
at gtksignal.c:552
#28 0x40964894 in gtk_widget_draw (widget=0x828c0c0, area=0xbfffae24)
at gtkwidget.c:2310
#29 0x408fc593 in gtk_layout_draw (widget=0x828ba40, area=0xbfffb188)
at gtklayout.c:637
#30 0x4096e591 in gtk_marshal_NONE__POINTER (object=0x828ba40,
func=0x408fc488 <gtk_layout_draw>, func_data=0x0, args=0xbfffaec0)
at gtkmarshal.c:216
#31 0x409324e1 in gtk_signal_real_emit (object=0x828ba40, signal_id=8,
params=0xbfffaec0) at gtksignal.c:1432
#32 0x40930934 in gtk_signal_emit (object=0x828ba40, signal_id=8)
at gtksignal.c:552
#33 0x40964894 in gtk_widget_draw (widget=0x828ba40, area=0xbfffb188)
at gtkwidget.c:2310
#34 0x408fc593 in gtk_layout_draw (widget=0x82437b8, area=0xbfffb4ec)
at gtklayout.c:637
#35 0x4096e591 in gtk_marshal_NONE__POINTER (object=0x82437b8,
func=0x408fc488 <gtk_layout_draw>, func_data=0x0, args=0xbfffb224)
at gtkmarshal.c:216
#36 0x409324e1 in gtk_signal_real_emit (object=0x82437b8, signal_id=8,
params=0xbfffb224) at gtksignal.c:1432
#37 0x40930934 in gtk_signal_emit (object=0x82437b8, signal_id=8)
at gtksignal.c:552
#38 0x40964894 in gtk_widget_draw (widget=0x82437b8, area=0xbfffb4ec)
at gtkwidget.c:2310
#39 0x408fc593 in gtk_layout_draw (widget=0x81bb4d0, area=0xbfffb828)
at gtklayout.c:637
#40 0x4096e591 in gtk_marshal_NONE__POINTER (object=0x81bb4d0,
func=0x408fc488 <gtk_layout_draw>, func_data=0x0, args=0xbfffb588)
at gtkmarshal.c:216
#41 0x409324e1 in gtk_signal_real_emit (object=0x81bb4d0, signal_id=8,
params=0xbfffb588) at gtksignal.c:1432
#42 0x40930934 in gtk_signal_emit (object=0x81bb4d0, signal_id=8)
at gtksignal.c:552
#43 0x40964894 in gtk_widget_draw (widget=0x81bb4d0, area=0x0)
at gtkwidget.c:2310
#44 0x408fbc03 in gtk_layout_thaw (layout=0x81bb4d0) at gtklayout.c:335
#45 0x40099cac in nsWindow::EndResizingChildren (this=0x81bb248)
at nsWindow.cpp:461
#46 0x40eafa1d in nsScrollingView::SetPosition (this=0x82434a0, aX=0, aY=0)
at nsScrollingView.cpp:549
#47 0x40eb476f in nsViewManager::MoveViewTo (this=0x81aedc0, aView=0x82434a0,
aX=0, aY=0) at nsViewManager.cpp:1876
#48 0x40457f0b in nsFrame::DidReflow (this=0x8243438, aPresContext=@0x816f9f0,
aStatus=1) at nsFrame.cpp:1034
#49 0x4047a9cb in nsScrollFrame::DidReflow (this=0x8243438,
aPresContext=@0x816f9f0, aStatus=1) at nsScrollFrame.cpp:102
#50 0x40485eeb in ViewportFrame::Reflow (this=0x8241068,
aPresContext=@0x816f9f0, aDesiredSize=@0xbfffbb9c,
aReflowState=@0xbfffbab8, aStatus=@0xbfffbab4) at nsViewportFrame.cpp:439
#51 0x40460846 in nsHTMLReflowCommand::Dispatch (this=0x8370948,
aPresContext=@0x816f9f0, aDesiredSize=@0xbfffbb9c, aMaxSize=@0xbfffbb8c,
aRendContext=@0x8170530) at nsHTMLReflowCommand.cpp:165
#52 0x40476a18 in PresShell::ProcessReflowCommands (this=0x81bede0)
at nsPresShell.cpp:1198
#53 0x4047521b in PresShell::ExitReflowLock (this=0x81bede0)
at nsPresShell.cpp:643
#54 0x4047783b in PresShell::ContentChanged (this=0x81bede0,
aDocument=0x818e258, aContent=0x8249f8c, aSubContent=0x0)
at nsPresShell.cpp:1604
#55 0x40e6a770 in XULDocumentImpl::ContentChanged (this=0x818e258,
aContent=0x8249f8c, aSubContent=0x0) at nsXULDocument.cpp:1431
#56 0x40413494 in nsGenericDOMDataNode::SetData (this=0x8249f98,
aData=@0xbfffbcac) at nsGenericDOMDataNode.cpp:239
#57 0x40412f4e in nsGenericDOMDataNode::SetNodeValue (this=0x8249f98,
aNodeValue=@0xbfffbcac) at nsGenericDOMDataNode.cpp:90
#58 0x404419de in nsTextNode::SetNodeValue (this=0x8249f80,
aNodeValue=@0xbfffbcac) at nsTextNode.cpp:49
#59 0x406b6b5a in SetNodeProperty (cx=0x8191f30, obj=0x82a1ca8, id=-3,
vp=0xbfffc040) at nsJSNode.cpp:248
#60 0x407613a9 in js_SetProperty (cx=0x8191f30, obj=0x82a1ca8, id=135942344,
vp=0xbfffc040) at jsobj.c:1914
#61 0x4074f5b2 in js_Interpret (cx=0x8191f30, result=0xbfffc114)
at jsinterp.c:2160
#62 0x40740a11 in js_Invoke (cx=0x8191f30, argc=0, constructing=0)
at jsinterp.c:666
#63 0x4075058a in js_Interpret (cx=0x8191f30, result=0xbfffc4e8)
at jsinterp.c:2183
#64 0x40740a11 in js_Invoke (cx=0x8191f30, argc=1, constructing=0)
at jsinterp.c:666
#65 0x40740cc8 in js_CallFunctionValue (cx=0x8191f30, obj=0x81b8990,
fval=136022432, argc=1, argv=0xbfffc634, rval=0xbfffc638) at jsinterp.c:735
#66 0x4071a4d9 in JS_CallFunctionValue (cx=0x8191f30, obj=0x81b8990,
fval=136022432, argc=1, argv=0xbfffc634, rval=0xbfffc638) at jsapi.c:2369
#67 0x406ba469 in nsJSEventListener::HandleEvent (this=0x824aba0,
aEvent=0x8370848) at nsJSEventListener.cpp:93
#68 0x40443a76 in nsEventListenerManager::HandleEvent (this=0x824a428,
aPresContext=@0x816f9f0, aEvent=0xbfffc774, aDOMEvent=0xbfffc6fc,
aFlags=3, aEventStatus=@0xbfffc788) at nsEventListenerManager.cpp:816
#69 0x40e4e08e in RDFElementImpl::HandleDOMEvent (this=0x8248308,
aPresContext=@0x816f9f0, aEvent=0xbfffc774, aDOMEvent=0xbfffc6fc,
aFlags=1, aEventStatus=@0xbfffc788) at nsRDFElement.cpp:2178
#70 0x40e4ee67 in RDFElementImpl::ExecuteJSCode (anElement=0x8248308)
at nsRDFElement.cpp:2453
#71 0x40e4eb54 in RDFElementImpl::ExecuteOnChangeHandler (this=0x8245e88,
anElement=0x8249dc0, attrName=@0xbfffc98c) at nsRDFElement.cpp:2409
#72 0x40e4d108 in RDFElementImpl::SetAttribute (this=0x8245e88,
aNameSpaceID=0, aName=0x81bbf28, aValue=@0xbfffca34, aNotify=1)
at nsRDFElement.cpp:1744
#73 0x40e667d2 in RDFXULBuilderImpl::AddAttribute (this=0x816fb20,
aElement=0x8245e98, aProperty=0x8361bc0, aValue=0x83706e8)
at nsRDFXULBuilder.cpp:1863
#74 0x40e61758 in RDFXULBuilderImpl::OnAssert (this=0x816fb20,
aSubject=0x8230fd0, aPredicate=0x8361bc0, aObject=0x83706e8)
at nsRDFXULBuilder.cpp:739
#75 0x40e33b93 in CompositeDataSourceImpl::OnAssert (this=0x816f9b0,
subject=0x8230fd0, predicate=0x8361bc0, object=0x83706e8)
at nsCompositeDataSource.cpp:1002
#76 0x40e3779f in InMemoryDataSource::Assert (this=0x81704d0,
source=0x8230fd0, property=0x8361bc0, target=0x83706e8, tv=1)
at nsInMemoryDataSource.cpp:1244
#77 0x40e3327b in CompositeDataSourceImpl::Assert (this=0x816f9b0,
source=0x8230fd0, property=0x8361bc0, target=0x83706e8, tv=1)
at nsCompositeDataSource.cpp:736
#78 0x40e637ad in RDFXULBuilderImpl::OnSetAttribute (this=0x816fb20,
aElement=0x8245e88, aName=@0xbfffcd88, aValue=@0xbfffcde4)
at nsRDFXULBuilder.cpp:1247
#79 0x40e6e14f in XULDocumentImpl::OnSetAttribute (this=0x818e258,
aElement=0x8245e88, aName=@0xbfffcd88, aValue=@0xbfffcde4)
at nsXULDocument.cpp:2870
#80 0x40e4a9ca in RDFElementImpl::SetAttribute (this=0x8245e88,
aName=@0xbfffcd88, aValue=@0xbfffcde4) at nsRDFElement.cpp:859
#81 0x40c93fc7 in setAttribute (shell=0x8166050,
id=0x40ca2b84 "Browser:Status", name=0x40ca2b7f "text", value=@0xbfffcde4)
at nsBrowserAppCore.cpp:590
#82 0x40c94fd0 in nsBrowserAppCore::OnStatus (this=0x828a760, aURL=0x8318250,
aMsg=0xbfffcec8) at nsBrowserAppCore.cpp:886
#83 0x40264ee5 in nsWebShell::OnStatus (this=0x828b700, aURL=0x8318250,
aMsg=0xbfffcec8) at nsWebShell.cpp:2378
#84 0x4025cdf9 in nsDocumentBindInfo::OnStatus (this=0x83704f8,
aURL=0x8318250, aMsg=0xbfffcec8) at nsDocLoader.cpp:1836
#85 0x4023e8d6 in stub_Progress (context=0x82ddc38,
msg=0x401bd8fa "Reading file...") at nsStubContext.cpp:362
#86 0x4021b703 in NET_Progress (context=0x82ddc38,
msg=0x401bd8fa "Reading file...") at mkutils.c:98
#87 0x4015918a in net_open_file (cur_entry=0x82ddd80) at mkfile.c:511
#88 0x4015a4f5 in net_ProcessFile (cur_entry=0x82ddd80) at mkfile.c:1311
#89 0x4015a387 in net_FileLoad (cur_entry=0x82ddd80) at mkfile.c:1269
#90 0x4020f416 in NET_GetURL (URL_s=0x8370058, output_format=102,
window_id=0x82ddc38,
exit_routine=0x40238994 <bam_exit_routine(URL_Struct_ *, int, MWContext_
*)>) at mkgeturl.c:2979
#91 0x402370a1 in nsNetlibService::OpenStream (this=0x804e5a8, aUrl=0x8318250,
aConsumer=0x83704f8) at nsNetService.cpp:433
#92 0x4025cac9 in nsDocumentBindInfo::Bind (this=0x83704f8, aURL=0x8318250,
aListener=0x836fc78) at nsDocLoader.cpp:1733
#93 0x4025b961 in nsDocLoaderImpl::OpenStream (this=0x828bbb8, aUrl=0x8318250,
aConsumer=0x836fc78) at nsDocLoader.cpp:1198
#94 0x40238611 in NS_OpenURL (aURL=0x8318250, aConsumer=0x836fc78)
at nsNetService.cpp:1156
#95 0x400b7c79 in ImageNetContextImpl::GetURL (this=0x836bd10, aURL=0x836bd30,
aLoadMethod=NET_NORMAL_RELOAD, aReader=0x8317ff0)
at nsImageNetContextAsync.cpp:490
#96 0x407c637c in IL_GetImage (
image_url=0x83703d0
"file:///u/mcafee/cmonkey/mozilla/dist/bin/res/samples/gear1.gif",
img_cx=0x836cef8, obs_list=0x8370418, background_color=0x0,
req_width=0, req_height=0, flags=0, opaque_cx=0x836cf38) at if.cpp:1918
#97 0x400b87b3 in ImageRequestImpl::Init (this=0x83702a0,
aGroupContext=0x836cef8,
aUrl=0x83703d0
"file:///u/mcafee/cmonkey/mozilla/dist/bin/res/samples/gear1.gif",
aObserver=0x8370300, aBackgroundColor=0x0, aWidth=0, aHeight=0,
aFlags=0, aNetContext=0x836cf38) at nsImageRequest.cpp:107
#98 0x400b630e in ImageGroupImpl::GetImage (this=0x836ced0,
aUrl=0x83703d0
"file:///u/mcafee/cmonkey/mozilla/dist/bin/res/samples/gear1.gif",
aObserver=0x8370300, aBackgroundColor=0x0, aWidth=0, aHeight=0, aFlags=0)
at nsImageGroup.cpp:233
#99 0x4041ed0a in nsFrameImageLoader::Init (this=0x8370300,
aPresContext=0x82b7d38, aGroup=0x836ced0, aURL=@0x82c3784,
aBackgroundColor=0x0, aTargetFrame=0x82c3980, aDesiredSize=@0xbfffd734,
aCallBack=0, aNeedSizeUpdate=0, aNeedErrorNotification=0)
at nsFrameImageLoader.cpp:156
#100 0x40424cd5 in nsPresContext::StartLoadImage (this=0x82b7d38,
aURL=@0x82c3784, aBackgroundColor=0x0, aTargetFrame=0x82c3980,
aDesiredSize=@0xbfffd734, aCallBack=0, aNeedSizeUpdate=0,
aNeedErrorNotification=0, aLoaderResult=0xbfffd740)
at nsPresContext.cpp:734
#101 0x40566616 in nsCSSRendering::PaintBackground (aPresContext=@0x82b7d38,
aRenderingContext=@0x82c79a0, aForFrame=0x82c3980, aDirtyRect=@0xbfffd808,
aBorderArea=@0xbfffd7b4, aColor=@0x82c376c, aSpacing=@0x82c37ac, aDX=0,
aDY=0) at nsCSSRendering.cpp:1689
#102 0x404506eb in nsBlockFrame::Paint (this=0x82c3980,
aPresContext=@0x82b7d38, aRenderingContext=@0x82c79a0,
aDirtyRect=@0xbfffd808, aWhichLayer=eFramePaintLayer_Underlay)
at nsBlockFrame.cpp:4595
#103 0x40455132 in nsContainerFrame::PaintChild (this=0x82bdae8,
aPresContext=@0x82b7d38, aRenderingContext=@0x82c79a0,
aDirtyRect=@0xbfffd914, aFrame=0x82c3980,
aWhichLayer=eFramePaintLayer_Underlay) at nsContainerFrame.cpp:293
#104 0x404509d8 in nsBlockFrame::PaintChildren (this=0x82bdae8,
aPresContext=@0x82b7d38, aRenderingContext=@0x82c79a0,
aDirtyRect=@0xbfffd914, aWhichLayer=eFramePaintLayer_Underlay)
at nsBlockFrame.cpp:4680
#105 0x404507bd in nsBlockFrame::Paint (this=0x82bdae8,
aPresContext=@0x82b7d38, aRenderingContext=@0x82c79a0,
aDirtyRect=@0xbfffd914, aWhichLayer=eFramePaintLayer_Underlay)
at nsBlockFrame.cpp:4615
#106 0x40455132 in nsContainerFrame::PaintChild (this=0x82bd780,
aPresContext=@0x82b7d38, aRenderingContext=@0x82c79a0,
aDirtyRect=@0xbfffdc14, aFrame=0x82bdae8,
aWhichLayer=eFramePaintLayer_Underlay) at nsContainerFrame.cpp:293
#107 0x404509d8 in nsBlockFrame::PaintChildren (this=0x82bd780,
aPresContext=@0x82b7d38, aRenderingContext=@0x82c79a0,
aDirtyRect=@0xbfffdc14, aWhichLayer=eFramePaintLayer_Underlay)
at nsBlockFrame.cpp:4680
#108 0x404507bd in nsBlockFrame::Paint (this=0x82bd780,
aPresContext=@0x82b7d38, aRenderingContext=@0x82c79a0,
aDirtyRect=@0xbfffdc14, aWhichLayer=eFramePaintLayer_Underlay)
at nsBlockFrame.cpp:4615
#109 0x40447581 in nsAreaFrame::Paint (this=0x82bd780,
aPresContext=@0x82b7d38, aRenderingContext=@0x82c79a0,
aDirtyRect=@0xbfffdc14, aWhichLayer=eFramePaintLayer_Underlay)
at nsAreaFrame.cpp:222
#110 0x40455132 in nsContainerFrame::PaintChild (this=0x82bd450,
aPresContext=@0x82b7d38, aRenderingContext=@0x82c79a0,
aDirtyRect=@0xbfffde6c, aFrame=0x82bd780,
aWhichLayer=eFramePaintLayer_Underlay) at nsContainerFrame.cpp:293
#111 0x40454f9a in nsContainerFrame::PaintChildren (this=0x82bd450,
aPresContext=@0x82b7d38, aRenderingContext=@0x82c79a0,
aDirtyRect=@0xbfffde6c, aWhichLayer=eFramePaintLayer_Underlay)
at nsContainerFrame.cpp:233
#112 0x4045ec37 in nsHTMLContainerFrame::Paint (this=0x82bd450,
aPresContext=@0x82b7d38, aRenderingContext=@0x82c79a0,
aDirtyRect=@0xbfffde6c, aWhichLayer=eFramePaintLayer_Underlay)
at nsHTMLContainerFrame.cpp:78
#113 0x404783bc in PresShell::Paint (this=0x82d3078, aView=0x82bd4a0,
aRenderingContext=@0x82c79a0, aDirtyRect=@0xbfffde6c)
at nsPresShell.cpp:1920
#114 0x40eace8d in nsView::Paint (this=0x82bd4a0, rc=@0x82c79a0,
rect=@0xbfffde6c, aPaintFlags=0, aResult=@0xbfffdea4) at nsView.cpp:622
#115 0x40eac2dd in nsView::Paint (this=0x82bc7b0, rc=@0x82c79a0,
rect=@0xbfffdf34, aPaintFlags=0, aResult=@0xbfffdf44) at nsView.cpp:384
#116 0x40eb34db in nsViewManager::RenderViews (this=0x82d29b8,
aRootView=0x82bc7b0, aRC=@0x82c79a0, aRect=@0xbfffdf34,
aResult=@0xbfffdf44) at nsViewManager.cpp:1246
#117 0x40eb3368 in nsViewManager::Refresh (this=0x82d29b8, aView=0x82bc7b0,
aContext=0x82c79a0, rect=0xbfffdfc8, aUpdateFlags=0)
at nsViewManager.cpp:519
#118 0x40eb3d5a in nsViewManager::DispatchEvent (this=0x82d29b8,
aEvent=0xbfffe088, aStatus=@0xbfffe00c) at nsViewManager.cpp:1626
#119 0x40eab688 in HandleEvent (aEvent=0xbfffe088) at nsView.cpp:63
#120 0x40098c42 in nsWidget::DispatchEvent (this=0x82bc820, event=0xbfffe088,
aStatus=@0xbfffe048) at nsWidget.cpp:908
#121 0x40098b20 in nsWidget::DispatchWindowEvent (this=0x82bc820,
event=0xbfffe088) at nsWidget.cpp:868
#122 0x40099be1 in nsWindow::OnPaint (this=0x82bc820, event=@0xbfffe088)
at nsWindow.cpp:439
#123 0x400958e9 in handle_draw_event (w=0x82bca10, area=0xbfffe430,
p=0x82bc820) at nsGtkEventHandler.cpp:504
#124 0x4096e591 in gtk_marshal_NONE__POINTER (object=0x82bca10,
func=0x40095894 <handle_draw_event(_GtkWidget *, _GdkRectangle *, void *)>,
func_data=0x82bc820, args=0xbfffe168) at gtkmarshal.c:216
#125 0x4093311a in gtk_handlers_run (handlers=0x833ee48, signal=0xbfffe124,
object=0x82bca10, params=0xbfffe168, after=0) at gtksignal.c:1909
#126 0x40932624 in gtk_signal_real_emit (object=0x82bca10, signal_id=8,
params=0xbfffe168) at gtksignal.c:1469
#127 0x40930934 in gtk_signal_emit (object=0x82bca10, signal_id=8)
at gtksignal.c:552
#128 0x40964894 in gtk_widget_draw (widget=0x82bca10, area=0xbfffe430)
at gtkwidget.c:2310
#129 0x408fc593 in gtk_layout_draw (widget=0x82d2e80, area=0xbfffe794)
at gtklayout.c:637
#130 0x4096e591 in gtk_marshal_NONE__POINTER (object=0x82d2e80,
func=0x408fc488 <gtk_layout_draw>, func_data=0x0, args=0xbfffe4cc)
at gtkmarshal.c:216
#131 0x409324e1 in gtk_signal_real_emit (object=0x82d2e80, signal_id=8,
params=0xbfffe4cc) at gtksignal.c:1432
#132 0x40930934 in gtk_signal_emit (object=0x82d2e80, signal_id=8)
at gtksignal.c:552
#133 0x40964894 in gtk_widget_draw (widget=0x82d2e80, area=0xbfffe794)
at gtkwidget.c:2310
#134 0x408fc593 in gtk_layout_draw (widget=0x828c0c0, area=0xbfffeaf8)
at gtklayout.c:637
#135 0x4096e591 in gtk_marshal_NONE__POINTER (object=0x828c0c0,
func=0x408fc488 <gtk_layout_draw>, func_data=0x0, args=0xbfffe830)
at gtkmarshal.c:216
#136 0x409324e1 in gtk_signal_real_emit (object=0x828c0c0, signal_id=8,
params=0xbfffe830) at gtksignal.c:1432
#137 0x40930934 in gtk_signal_emit (object=0x828c0c0, signal_id=8)
at gtksignal.c:552
#138 0x40964894 in gtk_widget_draw (widget=0x828c0c0, area=0xbfffeaf8)
at gtkwidget.c:2310
#139 0x408fc593 in gtk_layout_draw (widget=0x828ba40, area=0xbfffee5c)
at gtklayout.c:637
#140 0x4096e591 in gtk_marshal_NONE__POINTER (object=0x828ba40,
func=0x408fc488 <gtk_layout_draw>, func_data=0x0, args=0xbfffeb94)
at gtkmarshal.c:216
#141 0x409324e1 in gtk_signal_real_emit (object=0x828ba40, signal_id=8,
params=0xbfffeb94) at gtksignal.c:1432
#142 0x40930934 in gtk_signal_emit (object=0x828ba40, signal_id=8)
at gtksignal.c:552
#143 0x40964894 in gtk_widget_draw (widget=0x828ba40, area=0xbfffee5c)
at gtkwidget.c:2310
#144 0x408fc593 in gtk_layout_draw (widget=0x82437b8, area=0xbffff1c0)
at gtklayout.c:637
#145 0x4096e591 in gtk_marshal_NONE__POINTER (object=0x82437b8,
func=0x408fc488 <gtk_layout_draw>, func_data=0x0, args=0xbfffeef8)
at gtkmarshal.c:216
#146 0x409324e1 in gtk_signal_real_emit (object=0x82437b8, signal_id=8,
params=0xbfffeef8) at gtksignal.c:1432
#147 0x40930934 in gtk_signal_emit (object=0x82437b8, signal_id=8)
at gtksignal.c:552
#148 0x40964894 in gtk_widget_draw (widget=0x82437b8, area=0xbffff1c0)
at gtkwidget.c:2310
#149 0x408fc593 in gtk_layout_draw (widget=0x81bb4d0, area=0x8165300)
at gtklayout.c:637
#150 0x4096e591 in gtk_marshal_NONE__POINTER (object=0x81bb4d0,
func=0x408fc488 <gtk_layout_draw>, func_data=0x0, args=0xbffff25c)
at gtkmarshal.c:216
#151 0x409324e1 in gtk_signal_real_emit (object=0x81bb4d0, signal_id=8,
params=0xbffff25c) at gtksignal.c:1432
#152 0x40930934 in gtk_signal_emit (object=0x81bb4d0, signal_id=8)
at gtksignal.c:552
#153 0x40964894 in gtk_widget_draw (widget=0x81bb4d0, area=0x8165300)
at gtkwidget.c:2310
#154 0x40964572 in gtk_widget_idle_draw (cb_data=0x0) at gtkwidget.c:2233
#155 0x409d7bf0 in g_idle_dispatch (source_data=0x40964038,
current_time=0xbffff5e0, user_data=0x0) at gmain.c:1225
#156 0x409d6d53 in g_main_dispatch (current_time=0xbffff5e0) at gmain.c:644
#157 0x409d72df in g_main_iterate (block=1, dispatch=1) at gmain.c:851
#158 0x409d7461 in g_main_run (loop=0x8081fe8) at gmain.c:909
#159 0x409045f7 in gtk_main () at gtkmain.c:501
#160 0x4008dbb4 in nsAppShell::Run (this=0x8135e30) at nsAppShell.cpp:207
#161 0x40018259 in nsAppShellService::Run (this=0x81358e0)
at nsAppShellService.cpp:174
#162 0x804a44c in main (argc=1, argv=0xbffff704) at nsAppRunner.cpp:337
from bug #4086:
---------------------------------
cool. thanks - that's exactly what i needed.
the basic sequence of things is:
1) we get a paint message and begin drawing the content.
2) along the way an image needs to draw and an image fetch is made.
3) netlib synchronously calls back with status messages which are triggering
attribute changes in layout/style.
4) the attribute changes trigger a reflow which repositions views/widgets.
5) when we are done positioning the widgets after the reflow, gtk asks for a
synchronous refresh of any damaged area.
6) we end up back in the paint code and bad things ensue.
soooo, possible things are:
1) why does gtk issue a synchronous refresh? it can do refreshes asynchronously
and this would seem like the right thing to do (and make this one case go
away).
2) the attribute changes are causing a reflow and the general rule that we have
had in nglayout all along is to never do anything in a Paint() method that
can cause a reflow or you get the above results.
3) maybe netlib should not be synchronously calling back with the
messages which cause the attribute change stuff.
-----------------------------------
#1 seems to me to be a gtk bug. it's a really bad idea for gtk to assume that
the application is in a state where a synchronous refresh can occur.
#2 is probably ok and unavoidable.
#3 maybe ok, but i'm not at all sure that it has been clearly defined when
netlib will begin calling back to you during stream startup. is it a good idea
that calling nsNetlibService::OpenStream will result in an immediate callback?
changing the functionality at any one of these three places will make the
problem go away - until the initial conditions change again slightly. this is
why this has resurfaced: temporarily reflows were not happening as a result of
the status updates (see bug #3289, as that problem comes and goes, so will this
one). regardless of how much they can optimize the situation in bug #3289, all
it will ever take to cause this assert to happen again is to change the set of
attributes being changed in #2 to make the reflow happen (i.e. slightly change
the xul attribute change handling *without exposing any bugs anywhere else* and
this assert will appeatr again. bottom line is that we need look into #1 and #3
and come to some real resolution for both situations.
there is no acceptable fix that can be made at the view level to patch over
these problems.
Reporter | ||
Comment 6•26 years ago
|
||
FYI, demo #2 & #3 are now in menus for apprunner
under Debug | Viewer.
Comment 10•26 years ago
|
||
what is going to be done to fix this?
Assignee | ||
Comment 11•26 years ago
|
||
ramiro -- can you please take a look?
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 12•26 years ago
|
||
Fixed last night.
Comment 13•26 years ago
|
||
verified in 4/9 build.
Comment 14•26 years ago
|
||
Moving all Apprunner bugs past and present to Other component temporarily whilst
don and I set correct component. Apprunner component will be deleted/retired
shortly.
Updated•8 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•