Closed Bug 150431 Opened 22 years ago Closed 19 years ago

crash (stack overflow) with <p><font><p><font>... [@ nsGenericHTMLElement::GetAttr ] [@ StyleSetImpl::QueryInterface ] [@ nsCOMTypeInfo<nsIStyleSet>::GetIID ]

Categories

(Core :: Layout, defect, P2)

x86
All
defect

Tracking

()

RESOLVED WORKSFORME
Future

People

(Reporter: nathans, Unassigned)

References

()

Details

(Keywords: crash, testcase)

Crash Data

Attachments

(4 files)

From Bugzilla Helper: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.1a) Gecko/20020608 BuildID: 2002060808 Mozilla crashes when accessing the above URL. The referenced page contains a line of HTML that is more than 240K long consisting of repeated <p><font size=1><p><font size=1>... While the HTML is nasty it should not cause a crash, and it does work in IE6. Reproducible: Always Steps to Reproduce: 1. Visit http://www.pdxradio.com/discus/index.html. 2. Click "Portland Radio". Actual Results: Mozilla hangs, no screen updates for a long time, computer became very slow until finally the program died and a Talkback window appeared. Expected Results: Display the discussion board index.
Can you please add the TB ID to this bug ? (run mozilla/components/talkback to get the ID)
Keywords: crash
Talkback ID is TB7161113G.
Whiteboard: Stack requested from NS
confirming crash using build 2002060904 on Win2k (trunk). Same behaviour: Mozilla seems to hang for a few seconds, then crashes.
Keywords: stackwanted
Confirming bug, hang on 2002-06-07-04 (trunk) on Windows 98 SE.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: testcase
OS: Windows XP → All
One thing to note, closing the font tags does not fix the problem, it has to do with the level of nesting. Could be the same bug.
got my debug build working again :-) (Sorry Doron) we are looping in nsCSSFrameConstructo: StyleSetImpl::QueryInterface(StyleSetImpl * const 0x03af5220, const nsID & {...}, void * * 0x00033034) line 416 + 60 bytes nsQueryInterface::operator()(const nsID & {...}, void * * 0x00033034) line 47 + 25 bytes nsCOMPtr<nsIStyleSet>::assign_from_helper(const nsCOMPtr_helper & {...}, const nsID & {...}) line 922 + 18 bytes nsCOMPtr<nsIStyleSet>::nsCOMPtr<nsIStyleSet>(const nsQueryInterface & {...}) line 566 nsCOMPtr<nsIStyleSet>::Assert_NoQueryNeeded() line 501 nsGetterAddRefs<nsIStyleSet>::~nsGetterAddRefs<nsIStyleSet>() line 1006 nsPresContext::ProbePseudoStyleContextFor(nsPresContext * const 0x03a9a618, nsIContent * 0x07771d70, nsIAtom * 0x01024350, nsIStyleContext * 0x0779ee50, nsIStyleContext * * 0x000330f8) line 1001 nsCSSFrameConstructor::CreateGeneratedContentFrame(nsIPresShell * 0x03e84d20, nsIPresContext * 0x03a9a618, nsFrameConstructorState & {...}, nsIFrame * 0x0779eea4, nsIContent * 0x07771d70, nsIStyleContext * 0x0779ee50, nsIAtom * 0x01024350, int 0, nsIFrame * * 0x0003314c) line 1525 + 48 bytes nsCSSFrameConstructor::ProcessInlineChildren(nsIPresShell * 0x03e84d20, nsIPresContext * 0x03a9a618, nsFrameConstructorState & {...}, nsIContent * 0x07771d70, nsIFrame * 0x0779eea4, int 1, nsFrameItems & {...}, int * 0x00033268) line 13839 + 59 bytes nsCSSFrameConstructor::ConstructInline(nsIPresShell * 0x03e84d20, nsIPresContext * 0x03a9a618, nsFrameConstructorState & {...}, const nsStyleDisplay * 0x03dcb8c8, nsIContent * 0x07771d70, nsIFrame * 0x0779ee18, nsIStyleContext * 0x0779ee50, int 0, nsIFrame * 0x0779eea4, nsIFrame * * 0x000336b0, nsIFrame * * 0x00033680) line 13631 + 47 bytes nsCSSFrameConstructor::ConstructFrameByDisplayType(nsIPresShell * 0x03e84d20, nsIPresContext * 0x03a9a618, nsFrameConstructorState & {...}, const nsStyleDisplay * 0x03dcb8c8, nsIContent * 0x07771d70, nsIFrame * 0x0779ee18, nsIStyleContext * 0x0779ee50, nsFrameItems & {...}) line 6480 + 53 bytes nsCSSFrameConstructor::ConstructFrameInternal(nsIPresShell * 0x03e84d20, nsIPresContext * 0x03a9a618, nsFrameConstructorState & {...}, nsIContent * 0x07771d70, nsIFrame * 0x0779ee18, nsIAtom * 0x0104dc78, int 3, nsIStyleContext * 0x0779ee50, nsFrameItems & {...}, int 0) line 7348 + 45 bytes nsCSSFrameConstructor::ConstructFrame(nsIPresShell * 0x03e84d20, nsIPresContext * 0x03a9a618, nsFrameConstructorState & {...}, nsIContent * 0x07771d70, nsIFrame * 0x0779ee18, nsFrameItems & {...}) line 7200 + 56 bytes nsCSSFrameConstructor::ProcessInlineChildren(nsIPresShell * 0x03e84d20, nsIPresContext * 0x03a9a618, nsFrameConstructorState & {...}, nsIContent * 0x07771cb0, nsIFrame * 0x0779ee18, int 1, nsFrameItems & {...}, int * 0x00033928) line 13854 + 69 bytes nsCSSFrameConstructor::ConstructInline(nsIPresShell * 0x03e84d20, nsIPresContext * 0x03a9a618, nsFrameConstructorState & {...}, const nsStyleDisplay * 0x03dcb8c8, nsIContent * 0x07771cb0, nsIFrame * 0x0779ede0, nsIStyleContext * 0x07796858, int 0, nsIFrame * 0x0779ee18, nsIFrame * * 0x00033d70, nsIFrame * * 0x00033d40) line 13631 + 47 bytes nsCSSFrameConstructor::ConstructFrameByDisplayType(nsIPresShell * 0x03e84d20, nsIPresContext * 0x03a9a618, nsFrameConstructorState & {...}, const nsStyleDisplay * 0x03dcb8c8, nsIContent * 0x07771cb0, nsIFrame * 0x0779ede0, nsIStyleContext * 0x07796858, nsFrameItems & {...}) line 6480 + 53 bytes nsCSSFrameConstructor::ConstructFrameInternal(nsIPresShell * 0x03e84d20, nsIPresContext * 0x03a9a618, nsFrameConstructorState & {...}, nsIContent * 0x07771cb0, nsIFrame * 0x0779ede0, nsIAtom * 0x0104dc78, int 3, nsIStyleContext * 0x07796858, nsFrameItems & {...}, int 0) line 7348 + 45 bytes nsCSSFrameConstructor::ConstructFrame(nsIPresShell * 0x03e84d20, nsIPresContext * 0x03a9a618, nsFrameConstructorState & {...}, nsIContent * 0x07771cb0, nsIFrame * 0x0779ede0, nsFrameItems & {...}) line 7200 + 56 bytes nsCSSFrameConstructor::ProcessInlineChildren(nsIPresShell * 0x03e84d20, nsIPresContext * 0x03a9a618, nsFrameConstructorState & {...}, nsIContent * 0x07771bf0, nsIFrame * 0x0779ede0, int 1, nsFrameItems & {...}, int * 0x00033fe8) line 13854 + 69 bytes nsCSSFrameConstructor::ConstructInline(nsIPresShell * 0x03e84d20, nsIPresContext * 0x03a9a618, nsFrameConstructorState & {...}, const nsStyleDisplay * 0x03dcb8c8, nsIContent * 0x07771bf0, nsIFrame * 0x0779eda8, nsIStyleContext * 0x077399c0, int 0, nsIFrame * 0x0779ede0, nsIFrame * * 0x00034430, nsIFrame * * 0x00034400) line 13631 + 47 bytes ....
Keywords: stackwanted
Whiteboard: Stack requested from NS
Attached file Full Stack
Configuration: Windows XP, 512 MB RAM, Mozilla 2002060908 In examples, tags are repeated 4096 times. 1. <p><font size=1><p><font size=1>...</font></p></font></p> crashes 2. <p><font size=1><p><font size=1>...</font></font> crashes 3. <p><font size=1><p><font size=1>...(no closing tags) crashes 4. <font size=1><font size=1>...</font></font> does not crash 5. <font size=1><font size=1>...(no closing tags) does not crash 6. <p><p>...</p></p> (weird nesting of p tags) does not crash 7. <p><p>...(no closing tags) does not crash 8. <p><font size=1></font></p><p><font size=1></font></p>... does not crash Only occurs when <p> and <font> tags are used together and not properly nested.
Confirming it with build 2002052306 under Windows ME. Talkback ID TB7168265H
Incident ID 7168265 Stack Signature nsGenericHTMLElement::GetAttr d7f6c91e Email Address Product ID Gecko1.0 Build ID 2002052308 Trigger Time 2002-06-09 15:06:13 Platform Win32 Operating System Windows 98 4.90 build 73010104 Module GKCONTENT.DLL URL visited http://www.pdxradio.com/discus/index.html User Comments I clicked on the Portland Radio link. Mozilla became slow and finally crashed. Trigger Reason Stack overflow Source File Name d:\builds\seamonkey\mozilla\content\html\content\src\nsGenericHTMLElement.cpp Trigger Line No. 2097 Stack Trace nsGenericHTMLElement::GetAttr [d:\builds\seamonkey\mozilla\content\html\content\src\nsGenericHTMLElement.cpp, line 2097] nsGenericHTMLElement::GetAttr [d:\builds\seamonkey\mozilla\content\html\content\src\nsGenericHTMLElement.cpp, line 2090] nsCSSFrameConstructor::ConstructXULFrame [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 5839] nsCSSFrameConstructor::ConstructFrameInternal [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7331] nsCSSFrameConstructor::ConstructFrame [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7215] nsCSSFrameConstructor::ProcessInlineChildren [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13770] nsCSSFrameConstructor::ConstructInline [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13546] nsCSSFrameConstructor::ConstructFrameByDisplayType [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 6490] nsCSSFrameConstructor::ConstructFrameInternal [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7366] nsCSSFrameConstructor::ConstructFrame [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7215] nsCSSFrameConstructor::ProcessInlineChildren [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13770] nsCSSFrameConstructor::ConstructInline [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13546] nsCSSFrameConstructor::ConstructFrameByDisplayType [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 6490] nsCSSFrameConstructor::ConstructFrameInternal [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7366] nsCSSFrameConstructor::ConstructFrame [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7215] nsCSSFrameConstructor::ProcessInlineChildren [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13770] nsCSSFrameConstructor::ConstructInline [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13546] nsCSSFrameConstructor::ConstructFrameByDisplayType [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 6490] nsCSSFrameConstructor::ConstructFrameInternal [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7366] nsCSSFrameConstructor::ConstructFrame [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7215] nsCSSFrameConstructor::ProcessInlineChildren [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13770] nsCSSFrameConstructor::ConstructInline [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13546] nsCSSFrameConstructor::ConstructFrameByDisplayType [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 6490] nsCSSFrameConstructor::ConstructFrameInternal [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7366] nsCSSFrameConstructor::ConstructFrame [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7215] nsCSSFrameConstructor::ProcessInlineChildren [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13770] nsCSSFrameConstructor::ConstructInline [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13546] nsCSSFrameConstructor::ConstructFrameByDisplayType [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 6490] nsCSSFrameConstructor::ConstructFrameInternal [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7366] nsCSSFrameConstructor::ConstructFrame [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7215] nsCSSFrameConstructor::ProcessInlineChildren [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13770] nsCSSFrameConstructor::ConstructInline [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13546] nsCSSFrameConstructor::ConstructFrameByDisplayType [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 6490] nsCSSFrameConstructor::ConstructFrameInternal [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7366] nsCSSFrameConstructor::ConstructFrame [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7215] nsCSSFrameConstructor::ProcessInlineChildren [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13770] nsCSSFrameConstructor::ConstructInline [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13546] nsCSSFrameConstructor::ConstructFrameByDisplayType [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 6490] nsCSSFrameConstructor::ConstructFrameInternal [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7366] nsCSSFrameConstructor::ConstructFrame [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7215] nsCSSFrameConstructor::ProcessInlineChildren [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13770] nsCSSFrameConstructor::ConstructInline [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13546] nsCSSFrameConstructor::ConstructFrameByDisplayType [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 6490] nsCSSFrameConstructor::ConstructFrameInternal [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7366] nsCSSFrameConstructor::ConstructFrame [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7215] nsCSSFrameConstructor::ProcessInlineChildren [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13770] nsCSSFrameConstructor::ConstructInline [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13546] nsCSSFrameConstructor::ConstructFrameByDisplayType [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 6490] nsCSSFrameConstructor::ConstructFrameInternal [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7366] nsCSSFrameConstructor::ConstructFrame [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7215] nsCSSFrameConstructor::ProcessInlineChildren [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13770] nsCSSFrameConstructor::ConstructInline [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13546] nsCSSFrameConstructor::ConstructFrameByDisplayType [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 6490] nsCSSFrameConstructor::ConstructFrameInternal [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7366] nsCSSFrameConstructor::ConstructFrame [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7215] nsCSSFrameConstructor::ProcessInlineChildren [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13770] nsCSSFrameConstructor::ConstructInline [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13546] nsCSSFrameConstructor::ConstructFrameByDisplayType [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 6490] nsCSSFrameConstructor::ConstructFrameInternal [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7366] nsCSSFrameConstructor::ConstructFrame [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7215] nsCSSFrameConstructor::ProcessInlineChildren [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13770] nsCSSFrameConstructor::ConstructInline [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 13546] nsCSSFrameConstructor::ConstructFrameByDisplayType [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 6490] nsCSSFrameConstructor::ConstructFrameInternal [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, line 7366]
Summary: crashes when opening the pdxradio.com discussion board → crashes when opening the pdxradio.com discussion board [@ nsGenericHTMLElement::GetAttr][@ StyleSetImpl::QueryInterface[
QA Contact: petersen → amar
Priority: -- → P2
Target Milestone: --- → Future
Summary: crashes when opening the pdxradio.com discussion board [@ nsGenericHTMLElement::GetAttr][@ StyleSetImpl::QueryInterface[ → crashes when opening the pdxradio.com discussion board [@ nsGenericHTMLElement::GetAttr ] [@ StyleSetImpl::QueryInterface ] [@ nsCOMTypeInfo<nsIStyleSet>::GetIID ]
-> Default owner
Assignee: attinasi → other
QA Contact: amar → ian
Summary: crashes when opening the pdxradio.com discussion board [@ nsGenericHTMLElement::GetAttr ] [@ StyleSetImpl::QueryInterface ] [@ nsCOMTypeInfo<nsIStyleSet>::GetIID ] → crash (stack overflow) with <p><font><p><font>... [@ nsGenericHTMLElement::GetAttr ] [@ StyleSetImpl::QueryInterface ] [@ nsCOMTypeInfo<nsIStyleSet>::GetIID ]
The first attachment/testcase still crashes Mozilla 1.7b, the second attachment/testcase displays an empty page after several minutes of 100% cpu usage.
Using Mozilla Nightly 2005020504 on Windows XP Both testcases WFM.
wfm winxp current trunk
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a1) Gecko/20051207 Firefox/1.6a1 This crash isn't happening anymore. -> WFM
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → WORKSFORME
Flags: in-testsuite+
I had to disable the test due to slowness.
Crash Signature: [@ nsGenericHTMLElement::GetAttr ] [@ StyleSetImpl::QueryInterface ] [@ nsCOMTypeInfo<nsIStyleSet>::GetIID ]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: