Closed Bug 152755 Opened 22 years ago Closed 22 years ago

Browser crash on viewing page - M130A, N701, Trunk[@ nsLineLayout::ReflowFrame]

Categories

(Core :: Layout, defect, P2)

x86
Windows 98
defect

Tracking

()

RESOLVED WORKSFORME
Future

People

(Reporter: bugzilla, Assigned: alexsavulov)

References

()

Details

(4 keywords, Whiteboard: WORKSFORME?)

Crash Data

Attachments

(3 files, 2 obsolete files)

From Bugzilla Helper: User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.1a) Gecko/20020611 BuildID: 2002061104 Go to http://potassium.synclogic.net/ubbthreads/showthreaded.php?Cat=&Board=UBB1&Number=58299&page=2&view=collapsed&sb=5&o=0 Browser crashes in GKLAYOUT.DLL at 0167:6072a62f Talkback ID TB 7485489M Reproducible: Always Steps to Reproduce: 1. Goto http://potassium.synclogic.net/ubbthreads/showthreaded.php?Cat=&Board=UBB1&Number=58299&page=2&view=collapsed&sb=5&o=0 2. 3. Actual Results: Browser crash. Expected Results: Not crash. Talkback ID 7485489M. Happens on Win98 and Win 95.
nsLineLayout::ReflowFrame [nsLineLayout.cpp, line 935] nsFirstLetterFrame::Reflow [nsFirstLetterFrame.cpp, line 255] nsLineLayout::ReflowFrame [nsLineLayout.cpp, line 1104] nsInlineFrame::ReflowInlineFrame [nsInlineFrame.cpp, line 717] nsInlineFrame::ReflowFrames [nsInlineFrame.cpp, line 552] nsInlineFrame::Reflow [nsInlineFrame.cpp, line 436] nsLineLayout::ReflowFrame [nsLineLayout.cpp, line 1104] nsInlineFrame::ReflowInlineFrame [nsInlineFrame.cpp, line 717] nsInlineFrame::ReflowFrames [nsInlineFrame.cpp, line 522] nsFirstLineFrame::Reflow [nsInlineFrame.cpp, line 1066] nsLineLayout::ReflowFrame [nsLineLayout.cpp, line 1104] nsBlockFrame::ReflowInlineFrame [nsBlockFrame.cpp, line 3780] nsBlockFrame::DoReflowInlineFrames [nsBlockFrame.cpp, line 3606] nsBlockFrame::DoReflowInlineFramesAuto [nsBlockFrame.cpp, line 3496] nsBlockFrame::ReflowInlineFrames [nsBlockFrame.cpp, line 3441] nsBlockFrame::ReflowLine [nsBlockFrame.cpp, line 2594] nsBlockFrame::ReflowDirtyLines [nsBlockFrame.cpp, line 2238] nsBlockFrame::Reflow [nsBlockFrame.cpp, line 947] nsBlockReflowContext::DoReflowBlock [nsBlockReflowContext.cpp, line 570] nsBlockReflowContext::ReflowBlock [nsBlockReflowContext.cpp, line 348] nsBlockFrame::ReflowBlockFrame [nsBlockFrame.cpp, line 3202] nsBlockFrame::ReflowLine [nsBlockFrame.cpp, line 2460] nsBlockFrame::ReflowDirtyLines [nsBlockFrame.cpp, line 2238] nsBlockFrame::Reflow [nsBlockFrame.cpp, line 947] nsContainerFrame::ReflowChild [nsContainerFrame.cpp, line 799] nsTableCellFrame::Reflow [nsTableCellFrame.cpp, line 946] nsContainerFrame::ReflowChild [nsContainerFrame.cpp, line 799] nsTableRowFrame::ReflowChildren [nsTableRowFrame.cpp, line 1040] nsTableRowFrame::Reflow [nsTableRowFrame.cpp, line 1458] nsContainerFrame::ReflowChild [nsContainerFrame.cpp, line 799] nsTableRowGroupFrame::ReflowChildren [nsTableRowGroupFrame.cpp, line 447] nsTableRowGroupFrame::Reflow [nsTableRowGroupFrame.cpp, line 1211] nsContainerFrame::ReflowChild [nsContainerFrame.cpp, line 799] nsTableFrame::ReflowChildren [nsTableFrame.cpp, line 3313] nsTableFrame::ReflowTable [nsTableFrame.cpp, line 2207] nsTableFrame::Reflow [nsTableFrame.cpp, line 2073] nsContainerFrame::ReflowChild [nsContainerFrame.cpp, line 799] nsTableOuterFrame::OuterReflowChild [nsTableOuterFrame.cpp, line 1027] nsTableOuterFrame::Reflow [nsTableOuterFrame.cpp, line 1612] nsBlockReflowContext::DoReflowBlock [nsBlockReflowContext.cpp, line 570] nsBlockReflowContext::ReflowBlock [nsBlockReflowContext.cpp, line 348] nsBlockFrame::ReflowBlockFrame [nsBlockFrame.cpp, line 3202] nsBlockFrame::ReflowLine [nsBlockFrame.cpp, line 2460] nsBlockFrame::ReflowDirtyLines [nsBlockFrame.cpp, line 2238] nsBlockFrame::Reflow [nsBlockFrame.cpp, line 947] nsContainerFrame::ReflowChild [nsContainerFrame.cpp, line 799] nsTableCellFrame::Reflow [nsTableCellFrame.cpp, line 946] nsContainerFrame::ReflowChild [nsContainerFrame.cpp, line 799] nsTableRowFrame::ReflowChildren [nsTableRowFrame.cpp, line 1040] nsTableRowFrame::Reflow [nsTableRowFrame.cpp, line 1458] nsContainerFrame::ReflowChild [nsContainerFrame.cpp, line 799] nsTableRowGroupFrame::ReflowChildren [nsTableRowGroupFrame.cpp, line 447] nsTableRowGroupFrame::Reflow [nsTableRowGroupFrame.cpp, line 1211] nsContainerFrame::ReflowChild [nsContainerFrame.cpp, line 799] nsTableFrame::ReflowChildren [nsTableFrame.cpp, line 3313] nsTableFrame::ReflowTable [nsTableFrame.cpp, line 2207] nsTableFrame::Reflow [nsTableFrame.cpp, line 2073] nsContainerFrame::ReflowChild [nsContainerFrame.cpp, line 799] nsTableOuterFrame::OuterReflowChild [nsTableOuterFrame.cpp, line 1027] nsTableOuterFrame::Reflow [nsTableOuterFrame.cpp, line 1612] nsBlockReflowContext::DoReflowBlock [nsBlockReflowContext.cpp, line 570] nsBlockReflowContext::ReflowBlock [nsBlockReflowContext.cpp, line 348] nsBlockFrame::ReflowBlockFrame [nsBlockFrame.cpp, line 3202] nsBlockFrame::ReflowLine [nsBlockFrame.cpp, line 2460]
The problem is: nsLineLayout::ReflowFrame this = Register variable - data not available aFrame = 0x00000000 (*aFrame) = Data not available That |aFrame = 0| is no good... It looks like nsFirstLetterFrame::Reflow never checks that the mFrames.FirstChild() is non-null...
Assignee: Matti → attinasi
Component: Browser-General → Layout
Keywords: crash
QA Contact: imajes-qa → petersen
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: Browser crash in GKLAYOUT.DLL on viewing page → Browser crash in GKLAYOUT.DLL on viewing page [@ nsLineLayout::ReflowFrame]
I was about to configm too. submitted talkback number: TB7488408G
yep, same stack.
I've got the same problem with tabbed surfing. 3 browser windows are okay, opening a 4th will crash in GKLAYOUT.DLL Moz 2002061908 Talkback ID: TB7510448Z
That stack is different; please file a separate bug on Image: layout and cc me....
I have the same problem after I empty the "Junk Mail" folder of my Hotmail account.
I get the same problem when visiting http://www.hostsearch.com/ MOZILLA caused an invalid page fault in module GKLAYOUT.DLL at 017f:6072fdb7. Registers: EAX=00649f34 CS=017f EIP=6072fdb7 EFLGS=00010206 EBX=0201832c SS=0187 ESP=00649c7c EBP=00649c88 ECX=020183d4 DS=0187 ESI=00000000 FS=12a7 EDX=021721d4 ES=0187 EDI=00649cac GS=0000 Bytes at CS:EIP: 83 26 00 51 ff 70 04 e8 02 67 ff ff 83 c4 10 85 Stack dump: 0201832c 00649c9c 020183e8 00649d1c 6075dd52 00649f34 00649e70 0201832c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Hope that's what you wanted . . .
Original test case is no longer crashing in build 2002070310 on Win95 and Win 98. Huh.
Jay Patel: Could you look if there are incidents with nsLineLayout::ReflowFrame signature for trunk builds? Original page is no longer crashing, but maybe was HTML code changed.
From looking at Talkback data, a few people have been crashing with Mozilla 1.1 Alpha (MozillaTrunk build 2002061108). Here are some user comments and urls from that data: (8067095) URL: www.songworm.com (8067095) Comments: Click on "Three planets" and crash (8038838) URL: http://jesuschrist.ru/forum/showflat.php?Cat=&Board=main&Number=26497&page=0&view=collapsed&sb=5&part= (8023406) URL: http://jesuschrist.ru/forum/showflat.php?Cat=&Board=main&Number=26497&page=0&view=collapsed&sb=5&part= (8023362) URL: http://jesuschrist.ru/forum/showflat.php?Cat=&Board=main&Number=26497&page=0&view=collapsed&sb=5&part= (8006852) URL: http://jesuschrist.ru/forum/showflat.php?Cat=&Board=main&Number=26497&page=0&view=collapsed&sb=5&part= (7997908) URL: http://potassium.synclogic.net/ubbthreads/showthreaded.php?Cat=&Board=UBB1&Number=58299&page=2&view=collapsed&sb=5&o=0 (7957883) URL: http://66.154.81.226/ubbthreads/showflat.php?Cat=&Board=UBB1&Number=82107&page=0&view=collapsed&sb=5&o=21&fpart= (7957859) Comments: b0rn bages with lots of jpgs banners three tabs (7941042) URL: http://www.velvetrope.com/ (7941042) Comments: looks like mozilla dies when you try to show "all" of a thread. (7940489) URL: http://www.velvetrope.com/ (7940489) Comments: just loading the page for one of the threads. (7940401) URL: http://www.velvetrope.com/ (7940401) Comments: The above URL was reloading and I clicked on the "chatzilla" icon in the status bar. (7931752) URL: http://empeg.comms.net (7926261) URL: http://jesuschrist.ru/forum/showflat.php?Cat=&Board=main&Number=26497&page=0&view=collapsed&sb=5&part= (7905952) URL: http://jesuschrist.ru/forum/showflat.php?Cat=&Board=main&Number=26497&page=0&view=collapsed&sb=5&part= (7905952) Comments: %((( (7905930) URL: http://jesuschrist.ru/forum/showflat.php?Cat=&Board=main&Number=26497&page=0&view=collapsed&sb=5&part= (7905930) Comments: Mozilla crashed %( (7897634) URL: http://potassium.synclogic.net/ubbthreads/showthreaded.php?Cat=&Board=UBB1&Number=58299&page=1&view=collapsed&sb=5&o=0 (7889839) URL: http://potassium.synclogic.net/ubbthreads/showthreaded.php?Cat=&Board=UBB1&Number=58299&page=1&view=collapsed&sb=5&o=0 (7811040) URL: http://potassium.synclogic.net/ubbthreads/showthreaded.php?Cat=&Board=UBB1&Number=58299&page=1&view=collapsed&sb=5&o=0 (7806299) URL: http://potassium.synclogic.net/ubbthreads/showthreaded.php?Cat=&Board=UBB1&Number=58299&page=1&view=collapsed&sb=5&o=0 (7776791) URL: http://potassium.synclogic.net/ubbthreads/showthreaded.php?Cat=&Board=UBB1&Number=58299&page=1&view=collapsed&sb=5&o=0 It looks like only a couple of people are really haveing problems with this crash. There has only been 1 crash submitted on the MozillaTrunk since Mozilla 1.1 Alpha went out: Incident ID 7963625 Stack Signature nsLineLayout::ReflowFrame ed4e58a9 Email Address craigbel@apex.net Product ID MozillaTrunk Build ID 2002070204 Trigger Time 2002-07-03 03:55:43 Platform Win32 Operating System Windows 98 4.90 build 73010104 Module GKLAYOUT.DLL URL visited User Comments Trigger Reason Access violation Source File Name c:/builds/seamonkey/mozilla/layout/html/base/src/nsLineLayout.cpp Trigger Line No. 973 Stack Trace nsLineLayout::ReflowFrame [c:/builds/seamonkey/mozilla/layout/html/base/src/nsLineLayout.cpp, line 973] nsInlineFrame::ReflowInlineFrame [c:/builds/seamonkey/mozilla/layout/html/base/src/nsInlineFrame.cpp, line 719] nsInlineFrame::ReflowFrames [c:/builds/seamonkey/mozilla/layout/html/base/src/nsInlineFrame.cpp, line 524] nsInlineFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsInlineFrame.cpp, line 438] nsLineLayout::ReflowFrame [c:/builds/seamonkey/mozilla/layout/html/base/src/nsLineLayout.cpp, line 1082] nsBlockFrame::ReflowInlineFrame [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 3806] nsBlockFrame::DoReflowInlineFrames [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 3632] nsBlockFrame::DoReflowInlineFramesAuto [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 3522] nsBlockFrame::ReflowInlineFrames [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 3467] nsBlockFrame::ReflowLine [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2616] nsBlockFrame::ReflowDirtyLines [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2260] nsBlockFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 951] nsBlockReflowContext::DoReflowBlock [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockReflowContext.cpp, line 570] nsBlockReflowContext::ReflowBlock [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockReflowContext.cpp, line 348] nsBlockFrame::ReflowBlockFrame [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 3228] nsBlockFrame::ReflowLine [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2482] nsBlockFrame::ReflowDirtyLines [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2260] nsBlockFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 951] nsBlockReflowContext::DoReflowBlock [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockReflowContext.cpp, line 570] nsBlockReflowContext::ReflowBlock [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockReflowContext.cpp, line 348] nsBlockFrame::ReflowBlockFrame [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 3228] nsBlockFrame::ReflowLine [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2482] nsBlockFrame::ReflowDirtyLines [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2260] nsBlockFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 951] nsBlockReflowContext::DoReflowBlock [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockReflowContext.cpp, line 570] nsBlockReflowContext::ReflowBlock [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockReflowContext.cpp, line 348] nsBlockFrame::ReflowBlockFrame [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 3228] nsBlockFrame::ReflowLine [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2482] nsBlockFrame::ReflowDirtyLines [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2260] nsBlockFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 951] nsContainerFrame::ReflowChild [c:/builds/seamonkey/mozilla/layout/html/base/src/nsContainerFrame.cpp, line 825] CanvasFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsHTMLFrame.cpp, line 566] nsBoxToBlockAdaptor::Reflow [c:/builds/seamonkey/mozilla/layout/xul/base/src/nsBoxToBlockAdaptor.cpp, line 886] nsBoxToBlockAdaptor::DoLayout [c:/builds/seamonkey/mozilla/layout/xul/base/src/nsBoxToBlockAdaptor.cpp, line 627] nsBox::Layout [c:/builds/seamonkey/mozilla/layout/xul/base/src/nsBox.cpp, line 1062] nsScrollBoxFrame::DoLayout [c:/builds/seamonkey/mozilla/layout/xul/base/src/nsScrollBoxFrame.cpp, line 394] nsBox::Layout [c:/builds/seamonkey/mozilla/layout/xul/base/src/nsBox.cpp, line 1062] nsContainerBox::LayoutChildAt [c:/builds/seamonkey/mozilla/layout/xul/base/src/nsContainerBox.cpp, line 649] nsGfxScrollFrameInner::LayoutBox [c:/builds/seamonkey/mozilla/layout/html/base/src/nsGfxScrollFrame.cpp, line 1082] nsGfxScrollFrameInner::Layout [c:/builds/seamonkey/mozilla/layout/html/base/src/nsGfxScrollFrame.cpp, line 1241] nsGfxScrollFrame::DoLayout [c:/builds/seamonkey/mozilla/layout/html/base/src/nsGfxScrollFrame.cpp, line 1090] nsBox::Layout [c:/builds/seamonkey/mozilla/layout/xul/base/src/nsBox.cpp, line 1062] nsBoxFrame::Reflow [c:/builds/seamonkey/mozilla/layout/xul/base/src/nsBoxFrame.cpp, line 1002] nsGfxScrollFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsGfxScrollFrame.cpp, line 779] nsContainerFrame::ReflowChild [c:/builds/seamonkey/mozilla/layout/html/base/src/nsContainerFrame.cpp, line 825] ViewportFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsViewportFrame.cpp, line 577] PresShell::ResizeReflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsPresShell.cpp, line 3001] PresShell::ResizeReflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsPresShell.cpp, line 6268] nsViewManager::SetWindowDimensions [c:/builds/seamonkey/mozilla/view/src/nsViewManager.cpp, line 589] nsViewManager::DispatchEvent [c:/builds/seamonkey/mozilla/view/src/nsViewManager.cpp, line 1697] HandleEvent [c:/builds/seamonkey/mozilla/view/src/nsView.cpp, line 83] nsWindow::DispatchEvent [c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp, line 1037] nsWindow::DispatchWindowEvent [c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp, line 1054] nsWindow::OnResize [c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp, line 4818] nsWindow::ProcessMessage [c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp, line 4034] nsWindow::WindowProc [c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp, line 1299] KERNEL32.DLL + 0x3613 (0xbff63613) KERNEL32.DLL + 0x248f7 (0xbff848f7) This is a crash still, but definitely not a topcrasher. Adding topcrash- to keep it on our radar, and qawanted to see if anyone can reproduce this. If not, this one might be worth marking worksforme.
Keywords: qawanted, topcrash-
Summary: Browser crash in GKLAYOUT.DLL on viewing page [@ nsLineLayout::ReflowFrame] → Browser crash in GKLAYOUT.DLL on viewing page - M11A [@ nsLineLayout::ReflowFrame]
I've been getting a couple crashes in gklayout.dll a day minimum both at work and at home with win98se. Most recent one on 2002070904, GKLAYOUT.DLL at 0167:60797d76 See TB8140527W, TB8138888W Sure would be nice if we could cut/paste TB ids out of talkback.exe ;-)
Those are both already known (other) crash bugs -- the crash in nsImageListener::FrameChanged and the one in nsImageBoxListener::OnStopDecode
I assume comment 13 is refering to the TBs in comment 12.... Unfortunately, for those of us who havn't done any programming, it's hard to find some of these crash bugs. This bug is the ONLY one that shows up on a search for gklayout, which is why I posted my comments here. Should gklayout be added to the summary of the two other crash bugs mentioned in comment 13?
There are tons of crashes that are in gklayout.dll.
Summary: Browser crash in GKLAYOUT.DLL on viewing page - M11A [@ nsLineLayout::ReflowFrame] → Browser crash on viewing page - M11A [@ nsLineLayout::ReflowFrame]
Priority: -- → P2
Target Milestone: --- → Future
This bug has gone stale. It needs a new owner and a milestone. The crash is still happening on the branch is large numbers. (not on Trunk) Reassigning to Kevin for help.
Assignee: attinasi → kmcclusk
Keywords: topcrash-topcrash
Attached file User comments (deleted) —
There are almost 300 unique N7.0 users who have reported crashes with this stack. Most of them point to crashes on the nfl.com site. That would be the place to start to look for a testcase.
-> Alex
Assignee: kmcclusk → alexsavulov
from talkback i can see that this is both trunk and branch. is this correct?
Alex: Yes, there are incidents in M1.20a and M1.1 (MozillaTrunk) as well as incidents on branch releases. However, there are no incidents with this signature in the last ten days of data on the Trunk.
Attached file zipped testcase (deleted) —
zipped test case! got lucky with this one. it doesn't happen always. the first time i tested couple of weeks ago, everything worked fine. now it crashed and i captured this with IE :-( (yes, that one does not crash). i see the crash on the trunk so is real.
i get a slightly diferent stack than in comment 1. i paste here the difference only. underneath nsFirstLineFrame::Reflow everything is the same (afaict). VerifyStyleTree(nsIPresContext * 0x0398dc20, nsIFrame * 0x03a78470, nsIStyleContext * 0x00000000) line 1459 VerifyStyleTree(nsIPresContext * 0x0398dc20, nsIFrame * 0x03a784e8, nsIStyleContext * 0x03afba68) line 1473 + 15 bytes FrameManager::DebugVerifyStyleTree(FrameManager * const 0x03a4b830, nsIPresContext * 0x0398dc20, nsIFrame * 0x03a784e8) line 1508 + 22 bytes FrameManager::ReParentStyleContext(FrameManager * const 0x03a4b830, nsIPresContext * 0x0398dc20, nsIFrame * 0x03a784e8, nsIStyleContext * 0x03a7bd50) line 1527 nsPresContext::ReParentStyleContext(nsPresContext * const 0x0398dc20, nsIFrame * 0x03a784e8, nsIStyleContext * 0x03a7bd50) line 1028 + 35 bytes ReParentChildListStyle(nsIPresContext * 0x0398dc20, nsIStyleContext * 0x03a7bd50, nsFrameList & {...}) line 930 nsFirstLineFrame::Reflow(nsFirstLineFrame * const 0x03a7c0e0, nsIPresContext * 0x0398dc20, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 270) line 1011 + 20 bytes nsLineLayout::ReflowFrame(nsIFrame * 0x03a7c0e0, unsigned int & 270, nsHTMLReflowMetrics * 0x00000000, int & 0) line 1047 + 43 bytes . . . there is a style context resolution problem, i get this warning in the debug window a lot of times: frame: Text(**) (03AFB488) style: 03A782D8 :-moz-non-element {} Wrong parent style context: style: 03A7BD50 :-moz-line-frame {} should be using: style: 03AFBA68 :first-line {} and this one is there too: ###!!! ASSERTION: bad geometric parent: 'mFrames.ContainsFrame(aNextInFlow)', file s:/mozilla/layout/html/base/src/nsContainerFrame.cpp, line 1063 ###!!! ASSERTION: failed to remove frame: 'result', file s:/mozilla/layout/html/base/src/nsContainerFrame.cpp, line 1095 in my stack i can see ReParentChildListStyle(.... this might have causes the troubles i guess.
Attached patch Patch (deleted) — Splinter Review
Don't assume that the frame is the parent of its child's nextInFlow.
Comment on attachment 103895 [details] [diff] [review] Patch yep, that's it. good catch. r= alexsavulov
Attachment #103895 - Flags: review+
anyone sr= this please. thanks a lot guys!
Comment on attachment 103895 [details] [diff] [review] Patch sr=dbaron. However, this is fixing a regression from bug 163614, so is obviously not the original reason that this bug was filed.
Attachment #103895 - Flags: superreview+
yeah, dbaron is right. i fetched the source code of 2002-10-07 and it does not crash with this testcase. hmm, opening a new bug would be the right thing to do since it looks like we have 2 different issues here. however MOntagu's patch will be checked in no matter where the old issue will be placed.
Attached patch Alternative patch (obsolete) (deleted) — Splinter Review
I hate to do this after getting r/sr without even asking, but after reading comment 26 I thought a more solid approach would be to fix DeleteNextInFlowChild rather than the caller. alex and dbaron: please transfer your reviews if you agree. If not, let me know and I'll request a= for the original patch. Does anyone have a reproducable crash on a branch build for further investigation?
Comment on attachment 103986 [details] [diff] [review] Alternative patch r= alexsavulov yeah, it looks more secure to me to go with this one. i'm wondering if we should have an assertion there in the debug version just to point to the fact that the wrong frame was assumed to be the parent of the aNextInFlow. BTW: i think that we should move the the testcase and patch to another bug (i can do that) and let this bug point to the previous issue since Greer tracks it. let's wait for dbaron first.
Attachment #103986 - Flags: review+
Comment on attachment 103986 [details] [diff] [review] Alternative patch This approach seems fine, but there are some callsites that are doing unnecessary work given this patch, and that should be cleaned up. See the patch that I mentioned above caused this (second) bug.
attachment 103895 [details] [diff] [review] fixes a place that I forgot to change in the patch in bug 163614 (there aren't too many places where DeleteNextInFlowChild is called). Maybe attachment 103986 [details] [diff] [review] should be put inside #ifdef DEBUG and and assertion added.
I have no problems with the alternative patch as long as DeleteNextInFlowChild() is called consistently ... along the lines of what dbaron mentions. Also, if you go the alternative route, nsBlockFrame has it's own version of DeleteNextInFlowChild() so it might need the same check that was added to the nsContainerFrame version. Note that also "correcting" the problem inside DeleteNextInFlowChild() means that any class that wants to override the current versions needs to have the same correction code.
Is it really necessary to put non debug code in that makes sure that callers are calling methods correctly. If we are going to start doing this, then where does it stop.
So, I favor the patch over the alternative patch.
Attached patch Combined patch (obsolete) (deleted) — Splinter Review
What karnaze said, plus another assertion to investigate comment 2
Attachment #103895 - Attachment is obsolete: true
Attachment #103986 - Attachment is obsolete: true
Maybe it would be better to not correct the problem in debug mode (but just assert), because then we get different behavior than from an optimized build.
In that case, do we even need the assertion? We already have NS_PRECONDITION(mFrames.ContainsFrame(aNextInFlow), "bad geometric parent");
I guess not, if when you originally found the problem, the assertion failed.
Yes, that assertion failed for me and Alex (see comment 22). It looks like we have a consensus forming round attachment 103895 [details] [diff] [review], so I am going to request a= for it and move on.
Attachment #103895 - Attachment is obsolete: false
Attachment #104005 - Attachment is obsolete: true
Simon, if attachment 103895 [details] [diff] [review] is the one we have chosen, then let's move it to another bug (including the testcase) and let it open for the initial issue. do you agree with that?
I assume you mean "leave this one open for the initial issue", in which case I agree :-)
yes, that is what i meant (it was the phone that bothered me :-) ok, i will move that.
ok, i opened bug 176595 for the second issue, moved the patch and the testcase there so that issue can be handled separately. i will copy the cc's too.
Keywords: testcase
WFM in 12/16/02 and 1/03/03 Trunk builds, but did crash with 6/11 Trunk.
David, can you still reproduce the bug on a recent build? If not, I propose we mark this as WFM.
Whiteboard: WORKSFORME?
Making topcrash+ since we have a testcase. Adding M130A and N701 to summary for future reference. This has been a topcrasher for Mozilla 1.3 Alpha and Netscape 7.01. I'm digging through Talkback data to see if this is still a problem with the latest MozillaTrunk builds.
Keywords: topcrashtopcrash+
Summary: Browser crash on viewing page - M11A [@ nsLineLayout::ReflowFrame] → Browser crash on viewing page - M130A N701 [@ nsLineLayout::ReflowFrame]
Well, although there are quite a few crashes with Mozilla 1.3 Alpha...I only see a few incidents with recent MozillaTrunk builds. Here is a recent crash on the Trunk: Incident ID 16485223 Stack Signature nsLineLayout::ReflowFrame 8581dc79 Email Address mscott@netscape.com Product ID MozillaTrunk Build ID 2003011308 Trigger Time 2003-01-22 11:59:16 Platform Win32 Operating System Windows NT 5.1 build 2600 Module gklayout.dll URL visited User Comments Trigger Reason Access violation Source File Name c:/builds/seamonkey/mozilla/layout/html/base/src/nsLineLayout.cpp Trigger Line No. 1097 Stack Trace nsLineLayout::ReflowFrame [c:/builds/seamonkey/mozilla/layout/html/base/src/nsLineLayout.cpp, line 1097] nsBlockFrame::ReflowInlineFrame [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 3899] nsBlockFrame::DoReflowInlineFrames [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 3727] nsBlockFrame::DoReflowInlineFramesAuto [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 3629] nsBlockFrame::ReflowInlineFrames [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 3574] nsBlockFrame::ReflowLine [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2665] nsBlockFrame::ReflowDirtyLines [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2311] nsBlockFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 954] nsContainerFrame::ReflowChild [c:/builds/seamonkey/mozilla/layout/html/base/src/nsContainerFrame.cpp, line 941] nsTableCellFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/table/src/nsTableCellFrame.cpp, line 947] nsContainerFrame::ReflowChild [c:/builds/seamonkey/mozilla/layout/html/base/src/nsContainerFrame.cpp, line 941] nsTableRowFrame::ReflowChildren [c:/builds/seamonkey/mozilla/layout/html/table/src/nsTableRowFrame.cpp, line 1054] nsTableRowFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/table/src/nsTableRowFrame.cpp, line 1478] nsContainerFrame::ReflowChild [c:/builds/seamonkey/mozilla/layout/html/base/src/nsContainerFrame.cpp, line 941] nsTableRowGroupFrame::ReflowChildren [c:/builds/seamonkey/mozilla/layout/html/table/src/nsTableRowGroupFrame.cpp, line 447] nsTableRowGroupFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/table/src/nsTableRowGroupFrame.cpp, line 1336] nsContainerFrame::ReflowChild [c:/builds/seamonkey/mozilla/layout/html/base/src/nsContainerFrame.cpp, line 941] nsTableFrame::ReflowChildren [c:/builds/seamonkey/mozilla/layout/html/table/src/nsTableFrame.cpp, line 3311] nsTableFrame::ReflowTable [c:/builds/seamonkey/mozilla/layout/html/table/src/nsTableFrame.cpp, line 2213] nsTableFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/table/src/nsTableFrame.cpp, line 2074] nsContainerFrame::ReflowChild [c:/builds/seamonkey/mozilla/layout/html/base/src/nsContainerFrame.cpp, line 941] nsTableOuterFrame::OuterReflowChild [c:/builds/seamonkey/mozilla/layout/html/table/src/nsTableOuterFrame.cpp, line 1343] nsTableOuterFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/table/src/nsTableOuterFrame.cpp, line 1989] nsBlockReflowContext::ReflowBlock [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockReflowContext.cpp, line 547] nsBlockFrame::ReflowBlockFrame [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 3332] nsBlockFrame::ReflowLine [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2533] nsBlockFrame::ReflowDirtyLines [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2311] nsBlockFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 954] nsBlockReflowContext::ReflowBlock [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockReflowContext.cpp, line 547] nsBlockFrame::ReflowBlockFrame [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 3332] nsBlockFrame::ReflowLine [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2533] nsBlockFrame::ReflowDirtyLines [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 2311] nsBlockFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsBlockFrame.cpp, line 954] nsContainerFrame::ReflowChild [c:/builds/seamonkey/mozilla/layout/html/base/src/nsContainerFrame.cpp, line 941] nsPageContentFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsPageContentFrame.cpp, line 109] nsContainerFrame::ReflowChild [c:/builds/seamonkey/mozilla/layout/html/base/src/nsContainerFrame.cpp, line 941] nsPageFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsPageFrame.cpp, line 222] nsContainerFrame::ReflowChild [c:/builds/seamonkey/mozilla/layout/html/base/src/nsContainerFrame.cpp, line 941] nsSimplePageSequenceFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsSimplePageSequence.cpp, line 447] nsContainerFrame::ReflowChild [c:/builds/seamonkey/mozilla/layout/html/base/src/nsContainerFrame.cpp, line 941] ViewportFrame::Reflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsViewportFrame.cpp, line 581] PresShell::InitialReflow [c:/builds/seamonkey/mozilla/layout/html/base/src/nsPresShell.cpp, line 2795] nsPrintEngine::ReflowPrintObject [c:/builds/seamonkey/mozilla/content/base/src/nsPrintEngine.cpp, line 2825] nsPrintEngine::ReflowDocList [c:/builds/seamonkey/mozilla/content/base/src/nsPrintEngine.cpp, line 2574] nsPrintEngine::SetupToPrintContent [c:/builds/seamonkey/mozilla/content/base/src/nsPrintEngine.cpp, line 2396] nsPrintEngine::DocumentReadyForPrinting [c:/builds/seamonkey/mozilla/content/base/src/nsPrintEngine.cpp, line 2222] nsPrintEngine::Observe [c:/builds/seamonkey/mozilla/content/base/src/nsPrintEngine.cpp, line 4631] nsPrintProgress::DoneIniting [c:/builds/seamonkey/mozilla/embedding/components/printingui/src/win/nsPrintProgress.cpp, line 228] XPTC_InvokeByIndex [c:/builds/seamonkey/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp, line 102] XPCWrappedNative::CallMethod [c:/builds/seamonkey/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp, line 2025] XPC_WN_CallMethod [c:/builds/seamonkey/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp, line 1293] js_Invoke [c:/builds/seamonkey/mozilla/js/src/jsinterp.c, line 841] js_Interpret [c:/builds/seamonkey/mozilla/js/src/jsinterp.c, line 2804] js_Invoke [c:/builds/seamonkey/mozilla/js/src/jsinterp.c, line 857] js_InternalInvoke [c:/builds/seamonkey/mozilla/js/src/jsinterp.c, line 932] JS_CallFunctionValue [c:/builds/seamonkey/mozilla/js/src/jsapi.c, line 3433] nsJSContext::CallEventHandler [c:/builds/seamonkey/mozilla/dom/src/base/nsJSEnvironment.cpp, line 1043] GlobalWindowImpl::RunTimeout [c:/builds/seamonkey/mozilla/dom/src/base/nsGlobalWindow.cpp, line 4749] GlobalWindowImpl::TimerCallback [c:/builds/seamonkey/mozilla/dom/src/base/nsGlobalWindow.cpp, line 5105] nsTimerImpl::Fire [c:/builds/seamonkey/mozilla/xpcom/threads/nsTimerImpl.cpp, line 383] nsAppShell::Run [c:/builds/seamonkey/mozilla/widget/src/windows/nsAppShell.cpp, line 176] nsAppShellService::Run [c:/builds/seamonkey/mozilla/xpfe/appshell/src/nsAppShellService.cpp, line 471] main1 [c:/builds/seamonkey/mozilla/xpfe/bootstrap/nsAppRunner.cpp, line 1559] main [c:/builds/seamonkey/mozilla/xpfe/bootstrap/nsAppRunner.cpp, line 1907 If noone is able to reproduce this, we should probably mark this worksforme.
Summary: Browser crash on viewing page - M130A N701 [@ nsLineLayout::ReflowFrame] → Browser crash on viewing page - M130A, N701, Trunk[@ nsLineLayout::ReflowFrame]
The testcase in question worksforme. That said, there might be other bugs with this stack.
Attachment #103829 - Attachment mime type: application/octet-stream → application/zip
Alrighty...it looks like enough people are seeing a worksforme here using the attached testcase...so marking it so. If we see any new crashes with this stack signature/trace...we should just log a new bug.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → WORKSFORME
Crash Signature: [@ nsLineLayout::ReflowFrame]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: