Closed
Bug 18285
Opened 25 years ago
Closed 24 years ago
Warning "aFrame is already associated with a region" (was crash on infoworld)
Categories
(Core :: CSS Parsing and Computation, defect, P4)
Core
CSS Parsing and Computation
Tracking
()
VERIFIED
FIXED
M16
People
(Reporter: dejong, Assigned: buster)
References
()
Details
(Keywords: crash)
Attachments
(1 file)
21.92 KB,
text/html
|
Details |
I was surfing on http://www.infoworld.com and it seemed to get stuck so I pressed the stop button. After doing that I got this SIGSEV. I was using a CVS build from Nov 6th on a RedHat 5.2 Linux system. Here is the code inside layout/html/style/src/nsCSSFrameConstructor.cpp line 6548. 6543 // Get view if this frame has one and trigger an update. If the 6544 // frame doesn't have a view, find the nearest containing view 6545 // (adjusting r's coordinate system to reflect the nesting) and 6546 // update there. 6547 nsIView* view = nsnull; 6548 aFrame->GetView(&aPresContext, &view); 6549 nsIView* parentView; 6550 if (! view) { // XXX can view have children outside it? 6551 aFrame->GetOffsetFromView(&aPresContext, viewOffset, &parentView); 6552 NS_ASSERTION(nsnull != parentView, "no view"); It looks like the aFrame pointer is OK but that something does wrong inside the GetView call. (gdb) print aFrame $1 = (nsIFrame *) 0x873f2b0 (gdb) call aFrame->GetView(&aPresContext, &view) Cannot access memory at address 0x2e74643d. Here is the stack trace I got. #0 0x40ea66a9 in ApplyRenderingChangeToTree (aPresContext=@0x846d638, aFrame=0x873f2b0, aViewManager=0x0) at ../../../../../layout/html/style/src/nsCSSFrameConstructor.cpp:6548 #1 0x40ea6df7 in nsCSSFrameConstructor::ProcessRestyledFrames (this=0x8584ae0, aChangeList=@0xbfffe864, aPresContext=0x846d638) at ../../../../../layout/html/style/src/nsCSSFrameConstructor.cpp:6707 #2 0x40ea74c9 in nsCSSFrameConstructor::ContentStatesChanged (this=0x8584ae0, aPresContext=0x846d638, aContent1=0x8543854, aContent2=0x8866784) at ../../../../../layout/html/style/src/nsCSSFrameConstructor.cpp:6826 #3 0x40f969ed in StyleSetImpl::ContentStatesChanged (this=0x8584a90, aPresContext=0x846d638, aContent1=0x8543854, aContent2=0x8866784) at ../../../../layout/base/src/nsStyleSet.cpp:983 #4 0x40d8a177 in PresShell::ContentStatesChanged (this=0x86fe3a8, aDocument=0x8754d00, aContent1=0x8543854, aContent2=0x8866784) at ../../../../../layout/html/base/src/nsPresShell.cpp:1849 #5 0x40f598ef in nsDocument::ContentStatesChanged (this=0x8754d00, aContent1=0x8543854, aContent2=0x8866784) at ../../../../layout/base/src/nsDocument.cpp:1491 #6 0x40d41fb6 in nsEventStateManager::SetContentState (this=0x8780b78, aContent=0x8543854, aState=3) at ../../../../layout/events/src/nsEventStateManager.cpp:1515 #7 0x40dabd33 in nsHTMLAnchorElement::HandleDOMEvent (this=0x8543848, aPresContext=@0x846d638, aEvent=0xbffff188, aDOMEvent=0xbfffed94, aFlags=4, aEventStatus=@0xbffff084) at ../../../../../layout/html/content/src/nsHTMLAnchorElement.cpp:356 #8 0x40f6d350 in nsGenericElement::HandleDOMEvent (this=0x8359694, aPresContext=@0x846d638, aEvent=0xbffff188, aDOMEvent=0xbfffed94, aFlags=4, aEventStatus=@0xbffff084) at ../../../../layout/base/src/nsGenericElement.cpp:777 #9 0x40e160ed in nsHTMLTableElement::HandleDOMEvent (this=0x8359680, aPresContext=@0x846d638, aEvent=0xbffff188, aDOMEvent=0xbfffed94, aFlags=4, aEventStatus=@0xbffff084) at ../../../../../layout/html/content/src/nsHTMLTableElement.cpp:1302 #10 0x40f6d350 in nsGenericElement::HandleDOMEvent (this=0x879852c, aPresContext=@0x846d638, aEvent=0xbffff188, aDOMEvent=0xbfffed94, aFlags=4, aEventStatus=@0xbffff084) at ../../../../layout/base/src/nsGenericElement.cpp:777 #11 0x40e24d45 in nsHTMLTableSectionElement::HandleDOMEvent (this=0x8798518, aPresContext=@0x846d638, aEvent=0xbffff188, aDOMEvent=0xbfffed94, aFlags=4, aEventStatus=@0xbffff084) at ../../../../../layout/html/content/src/nsHTMLTableSectionElement.cpp:373 #12 0x40f6d350 in nsGenericElement::HandleDOMEvent (this=0x8725edc, aPresContext=@0x846d638, aEvent=0xbffff188, aDOMEvent=0xbfffed94, aFlags=4, aEventStatus=@0xbffff084) at ../../../../layout/base/src/nsGenericElement.cpp:777 #13 0x40e228e9 in nsHTMLTableRowElement::HandleDOMEvent (this=0x8725ec8, aPresContext=@0x846d638, aEvent=0xbffff188, aDOMEvent=0xbfffed94, aFlags=4, aEventStatus=@0xbffff084) at ../../../../../layout/html/content/src/nsHTMLTableRowElement.cpp:738 #14 0x40f6d350 in nsGenericElement::HandleDOMEvent (this=0x87d8bb0, aPresContext=@0x846d638, aEvent=0xbffff188, aDOMEvent=0xbfffed94, aFlags=1, aEventStatus=@0xbffff084) at ../../../../layout/base/src/nsGenericElement.cpp:777 #15 0x40e1b01d in nsHTMLTableCellElement::HandleDOMEvent (this=0x87d8b98, aPresContext=@0x846d638, aEvent=0xbffff188, aDOMEvent=0x0, aFlags=1, aEventStatus=@0xbffff084) at ../../../../../layout/html/content/src/nsHTMLTableCellElement.cpp:558 #16 0x40d8b2f8 in PresShell::HandleEvent (this=0x86fe3a8, aView=0x87f8358, aEvent=0xbffff188, aEventStatus=@0xbffff084) at ../../../../../layout/html/base/src/nsPresShell.cpp:2239 #17 0x411cb7d7 in nsView::HandleEvent (this=0x87f8358, event=0xbffff188, aEventFlags=8, aStatus=@0xbffff084, aHandled=@0xbffff028) at ../../../view/src/nsView.cpp:837 #18 0x411cb769 in nsView::HandleEvent (this=0x887c560, event=0xbffff188, aEventFlags=8, aStatus=@0xbffff084, aHandled=@0xbffff028) at ../../../view/src/nsView.cpp:821 #19 0x411cb769 in nsView::HandleEvent (this=0x887c4a8, event=0xbffff188, aEventFlags=8, aStatus=@0xbffff084, aHandled=@0xbffff028) at ../../../view/src/nsView.cpp:821 #20 0x411cb769 in nsView::HandleEvent (this=0x85d18c0, event=0xbffff188, aEventFlags=28, aStatus=@0xbffff084, aHandled=@0xbffff028) at ../../../view/src/nsView.cpp:821 #21 0x411d72e3 in nsViewManager::DispatchEvent (this=0x87de4a8, aEvent=0xbffff188, aStatus=@0xbffff084) at ../../../view/src/nsViewManager.cpp:1741 #22 0x411c98f8 in HandleEvent (aEvent=0xbffff188) at ../../../view/src/nsView.cpp:66 #23 0x404b35f0 in nsWidget::DispatchEvent (this=0x8587658, aEvent=0xbffff188, aStatus=@0xbffff11c) at ../../../../widget/src/gtk/nsWidget.cpp:1279 #24 0x404b3388 in nsWidget::DispatchWindowEvent (this=0x8587658, event=0xbffff188) at ../../../../widget/src/gtk/nsWidget.cpp:1190 #25 0x404b36a4 in nsWidget::DispatchMouseEvent (this=0x8587658, aEvent=@0xbffff188) at ../../../../widget/src/gtk/nsWidget.cpp:1306 #26 0x404b4684 in nsWidget::OnButtonPressSignal (this=0x8587658, aGdkButtonEvent=0x8215b28) at ../../../../widget/src/gtk/nsWidget.cpp:1868 #27 0x404b53b2 in nsWidget::ButtonPressSignal (aWidget=0x85f6750, aGdkButtonEvent=0x8215b28, aData=0x8587658) at ../../../../widget/src/gtk/nsWidget.cpp:2334 #28 0x405c8a99 in gtk_marshal_BOOL__POINTER (object=0x85f6750, func=0x404b52d4 <nsWidget::ButtonPressSignal(_GtkWidget *, _GdkEventButton *, void *)>, func_data=0x8587658, args=0xbffff2a0) at gtkmarshal.c:30 #29 0x4058dc52 in gtk_handlers_run (handlers=0x8534458, signal=0xbffff25c, object=0x85f6750, params=0xbffff2a0, after=0) at gtksignal.c:1909 #30 0x4058d158 in gtk_signal_real_emit (object=0x85f6750, signal_id=20, params=0xbffff2a0) at gtksignal.c:1469 #31 0x4058b468 in gtk_signal_emit (object=0x85f6750, signal_id=20) at gtksignal.c:552 #32 0x405c0110 in gtk_widget_event (widget=0x85f6750, event=0x8215b28) at gtkwidget.c:2790 #33 0x4056013d in gtk_propagate_event (widget=0x85f6750, event=0x8215b28) at gtkmain.c:1296 #34 0x4055f472 in gtk_main_do_event (event=0x8215b28) at gtkmain.c:753 #35 0x40604ed6 in gdk_event_dispatch (source_data=0x0, current_time=0xbffff620, user_data=0x0) at gdkevents.c:2098 #36 0x4062dc8f in g_main_dispatch (current_time=0xbffff620) at gmain.c:652 #37 0x4062e277 in g_main_iterate (block=1, dispatch=1) at gmain.c:870 #38 0x4062e3f9 in g_main_run (loop=0x81c42b8) at gmain.c:928 #39 0x4055eedf in gtk_main () at gtkmain.c:475 #40 0x4049d80f in nsAppShell::Run (this=0x80a1f48) at ../../../../widget/src/gtk/nsAppShell.cpp:399 #41 0x4032a031 in nsAppShellService::Run (this=0x809fda0) at ../../../../xpfe/appshell/src/nsAppShellService.cpp:483 #42 0x804c85c in main1 (argc=1, argv=0xbffff834) at ../../../xpfe/bootstrap/nsAppRunner.cpp:580 #43 0x804cae9 in main (argc=1, argv=0xbffff834) at ../../../xpfe/bootstrap/nsAppRunner.cpp:670
Assignee: leger → pierre
Component: Browser-General → Style System
Summary: crash on infoworld
Using Linux apprunner 1999-11-08-08-M11, I crashed on http://www.infoworld.com/ two out of two tries with the following sequence of events (and then my X server crashed right before I got to commenting on this bug): TO REPRODUCE: 1 Load http://www.infoworld.com/ 2 hit Stop before page is fully loaded 3 scroll down a bit 4 click on a link. You may have to click a few times before it does anything. RESULTS: * after 3) scrolling down causes all the colors to disappear, and the page shows with its default styles * after 4) crash I didn't get a stack trace, but, based on the previous one here, changing to style system.
Comment 3•25 years ago
|
||
Same crash on Mac. Apparently the frame passed to ApplyRenderingChangeToTree() is invalid: it has been disposed somewhere else but it continues to be used by nsStyleChangeList.
Comment 4•25 years ago
|
||
Bug 18167 will be closed as dup of this one. It describes a very easily reproduceable test case: go to http://www.maths.newcastle.edu.au and select some text.
Updated•25 years ago
|
Severity: normal → critical
OS: Linux → All
Priority: P3 → P1
Hardware: PC → All
Target Milestone: M12
Comment 6•25 years ago
|
||
It looks like this bug is in fact as easy to reproduce as 18167: a single click on infoworld causes a crash.
Comment 8•25 years ago
|
||
On the http://www.maths.newcastle.edu.au page, it seems that an unclosed <a name="Top"> tag is responsible for the crash. Removing this tag from the page prevents the crash.
Updated•25 years ago
|
Status: NEW → ASSIGNED
Comment 9•25 years ago
|
||
The crash has been fixed in nsFrameManager.cpp but since the debug builds show errors during the style context verifications in nsFrameManager: VerifyContextParent(), I'm not marking the bug fixed yet.
Comment 10•25 years ago
|
||
I had to back out my change that was causing bug 20042. The status of this bug is now: - It no longer crashes on InfoWorld because they changed their presentation. It no longer shows the debug output from VerifyContextParent() either. - It still crashes on http://www.maths.newcastle.edu.au and as Michael pointed out, it is related to the unclosed <a name="Top"> tag. - A copy of the former InforWorld page will be attached to this bug report if needed.
Comment 11•25 years ago
|
||
Updated•25 years ago
|
Assignee: pierre → troy
Status: ASSIGNED → NEW
Summary: crash on infoworld → Warning "aFrame is already associated with a region" (was crash on infoworld)
Target Milestone: M13
Comment 12•25 years ago
|
||
The old InfoWorld page doesn't crash anymore. We just have the following debug messages: -- WARNING: aFrame is already associated with a region, file nsSpaceManager.cpp, line 718 ###!!! ASSERTION: bad floater placement: 'NS_SUCCEEDED(rv)', file nsBlockFrame.cpp, line 5444 -- Reset the target milestone. Updated the summary. Reassigned to Troy to have a look.
Comment 13•25 years ago
|
||
Block issue
Assignee | ||
Comment 14•25 years ago
|
||
changing severity to "normal" and priority to "P3" since it no longer crashes. It's not even clear if there is a bug here at all. The page layout looks correct. I'll have to look into the space manager to see what the debug output means.
Assignee | ||
Comment 17•24 years ago
|
||
removed crash keyword, the crash was fixed long ago. I have a fix in hand for the assert.
Assignee | ||
Comment 18•24 years ago
|
||
fix checked in. should be able to verify against 4/17/00 build.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Whiteboard: fix in hand
Comment 20•24 years ago
|
||
Tested using the following builds: Win: 7_18_11 Mac: 7_19_12 Linux: 7_20_09 No crashes. Verifying bug fixed.
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•