Closed Bug 187671 Opened 22 years ago Closed 22 years ago

{ib}crash in nsCSSFrameConstructor::StyleChangeReflow

Categories

(Core :: Layout: Block and Inline, defect)

x86
All
defect
Not set
critical

Tracking

()

VERIFIED FIXED

People

(Reporter: jruderman, Unassigned)

References

Details

(Keywords: crash, regression, testcase)

Attachments

(1 file)

Unhandled exception at 0x02b82248 (gklayout.dll) in mozilla.exe: 0xC0000005: Access violation reading location 0x00000000. > gklayout.dll!CallQueryInterface(nsIFrame * aSource=0x039003bc, nsIBox * * aDestination=0x0012eea8) Line 266 + 0x13 C++ gklayout.dll!nsCSSFrameConstructor::StyleChangeReflow(nsIPresContext * aPresContext=0x03817fe8, nsIFrame * aFrame=0x039003bc, nsIAtom * aAttribute=0x00000000) Line 10211 + 0xd C++ gklayout.dll!nsCSSFrameConstructor::ProcessRestyledFrames(nsStyleChangeList & aChangeList={...}, nsIPresContext * aPresContext=0x03817fe8) Line 10335 C++ gklayout.dll!PresShell::ReconstructStyleData(int aRebuildRuleTree=0) Line 5484 C++ gklayout.dll!PresShell::StyleSheetApplicableStateChanged(nsIDocument * aDocument=0x035aa228, nsIStyleSheet * aStyleSheet=0x03904fd0, int aApplicable=1) Line 5548 C++ gkcontent.dll!nsDocument::SetStyleSheetApplicableState(nsIStyleSheet * aSheet=0x03904fd0, int aApplicable=1) Line 1680 C++ gkcontent.dll!CSSStyleSheetImpl::SetComplete() Line 2059 C++ gkcontent.dll!CSSLoaderImpl::SheetComplete(SheetLoadData * aLoadData=0x0390b148, int aSucceeded=1) Line 1789 C++ gkcontent.dll!CSSLoaderImpl::ParseSheet(nsIUnicharInputStream * aStream=0x03904f88, SheetLoadData * aLoadData=0x0390b148, int & aCompleted=1) Line 1733 C++ gkcontent.dll!CSSLoaderImpl::LoadInlineStyle(nsIContent * aElement=0x03904ae8, nsIUnicharInputStream * aStream=0x03904f88, const nsAString & aTitle={...}, const nsAString & aMedia={...}, int aDefaultNameSpaceID=-1, nsIParser * aParserToUnblock=0x035ab950, int & aCompleted=1, nsICSSLoaderObserver * aObserver=0x00000000) Line 1890 + 0x14 C++ gkcontent.dll!nsStyleLinkElement::UpdateStyleSheet(nsIDocument * aOldDocument=0x00000000) Line 317 + 0x7e C++ gkcontent.dll!HTMLContentSink::ProcessSTYLETag(const nsIParserNode & aNode={...}) Line 5730 + 0x22 C++ gkcontent.dll!HTMLContentSink::AddLeaf(const nsIParserNode & aNode={...}) Line 3616 + 0xc C++ gkparser.dll!CNavDTD::AddLeaf(const nsIParserNode * aNode=0x038ef680) Line 3749 + 0x19 C++ gkparser.dll!CNavDTD::AddHeadLeaf(nsIParserNode * aNode=0x038ef680) Line 3812 + 0xf C++ gkparser.dll!CNavDTD::HandleStartToken(CToken * aToken=0x038e45d8) Line 1749 + 0xc C++ gkparser.dll!CNavDTD::HandleToken(CToken * aToken=0x00000000, nsIParser * aParser=0x035ab950) Line 907 + 0xc C++ gkparser.dll!CNavDTD::BuildModel(nsIParser * aParser=0x035ab950, nsITokenizer * aTokenizer=0x035030d0, nsITokenObserver * anObserver=0x00000000, nsIContentSink * aSink=0x038e5340) Line 521 + 0x14 C++ gkparser.dll!nsParser::BuildModel() Line 1906 + 0x22 C++ gkparser.dll!nsParser::ResumeParse(int allowIteration=1, int aIsFinalChunk=0, int aCanInterrupt=1) Line 1773 + 0xb C++ gkparser.dll!nsParser::OnDataAvailable(nsIRequest * request=0x03561550, nsISupports * aContext=0x00000000, nsIInputStream * pIStream=0x038e34d8, unsigned int sourceOffset=0, unsigned int aLength=691) Line 2407 + 0x15 C++ urildr.dll!nsDocumentOpenInfo::OnDataAvailable(nsIRequest * request=0x03561550, nsISupports * aCtxt=0x00000000, nsIInputStream * inStr=0x038e34d8, unsigned int sourceOffset=0, unsigned int count=691) Line 244 + 0x2e C++ necko.dll!nsFileChannel::OnDataAvailable(nsIRequest * request=0x038e1ad4, nsISupports * context=0x00000000, nsIInputStream * aIStream=0x038e34d8, unsigned int aSourceOffset=0, unsigned int aLength=691) Line 625 C++ necko.dll!nsOnDataAvailableEvent::HandleEvent() Line 195 + 0x46 C++ necko.dll!nsARequestObserverEvent::HandlePLEvent(PLEvent * plev=0x038e3e84) Line 116 C++ xpcom.dll!PL_HandleEvent(PLEvent * self=0x038e3e84) Line 663 + 0xa C xpcom.dll!PL_ProcessPendingEvents(PLEventQueue * self=0x00b293c8) Line 593 + 0x9 C xpcom.dll!_md_EventReceiverProc(HWND__ * hwnd=0x008c0282, unsigned int uMsg=49384, unsigned int wParam=0, long lParam=11703240) Line 1379 + 0x9 C user32.dll!77d67ad7() user32.dll!77d6ccd4() user32.dll!77d44455() user32.dll!77d495d5() appshell.dll!nsAppShellService::Run() Line 472 C++ mozilla.exe!main1(int argc=1, char * * argv=0x002b7d78, nsISupports * nativeApp=0x002b7db8) Line 1543 + 0x20 C++ mozilla.exe!main(int argc=1, char * * argv=0x002b7d78) Line 1904 + 0x25 C++ mozilla.exe!mainCRTStartup() Line 400 + 0x11 C kernel32.dll!77e814c7()
Attached file testcase
There's a frame pointer pointing to garbage in the change list, presumably since it's been destroyed by earlier processing of the change list.
Note that the 'font-size' triggers a reflow, and the crash doesn't happen when I trigger a repaint instead.
Assignee: dbaron → block-and-inline
Component: Style System → Layout: Block & Inline
Summary: crash in nsCSSFrameConstructor::StyleChangeReflow → {ib}crash in nsCSSFrameConstructor::StyleChangeReflow
crash also occurs with current linux trunk this regressed between 2002092921 and 2002100104, perhaps bug 113083
Keywords: regression, testcase
OS: Windows XP → All
Blocks: 187548
Seems a dup of bug 154797. The stack is nearly the same as bug 154797 comment 8. (It could be that other checkins have just made it manifest in a different light.)
Depends on: 154797
Patch in bug 123049 fixes this too.
Depends on: 123049
-> fixed
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
v
Status: RESOLVED → VERIFIED
Crashtest checked in.
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: