Closed Bug 490559 Opened 17 years ago Closed 16 years ago

Hang [@ nsBlockFrame::ReflowInlineFrames] with removing 𐶅 and small width

Categories

(Core :: Layout, defect, P2)

x86
macOS
defect

Tracking

()

RESOLVED FIXED
Tracking Status
status1.9.2 --- beta1-fixed
status1.9.1 --- .6-fixed

People

(Reporter: martijn.martijn, Assigned: smontagu)

References

Details

(4 keywords)

Attachments

(2 files)

Attached file testcase
See testcase, which hangs in current trunk build, it doesn't hang in Firefox 3. The crash log, I get from my Mac debug build after it crashes because of too long hanging: Thread 0 Crashed: 0 libSystem.B.dylib 0x90fd8e42 __kill + 10 1 libSystem.B.dylib 0x9104b23a raise + 26 2 libSystem.B.dylib 0x91057679 abort + 73 3 libnspr4.dylib 0x001497ef PR_Assert + 0 (prlog.c:547) 4 libxpcom_core.dylib 0x0055ba9d Abort(char const*) + 21 5 libxpcom_core.dylib 0x0055bd71 NS_DebugBreak_P + 657 (nsDebugImpl.cpp:322) 6 libgklayout.dylib 0x12ec7c92 nsBlockFrame::ReflowInlineFrames(nsBlockReflowState&, nsLineList_iterator, int*) + 616 (nsBlockFrame.cpp:3293) 7 libgklayout.dylib 0x12ec8108 nsBlockFrame::ReflowLine(nsBlockReflowState&, nsLineList_iterator, int*) + 1012 (nsBlockFrame.cpp:2317) 8 libgklayout.dylib 0x12ec895b nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&) + 1985 (nsBlockFrame.cpp:1897) 9 libgklayout.dylib 0x12ecbc15 nsBlockFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) + 795 (nsBlockFrame.cpp:944) 10 libgklayout.dylib 0x12ecf887 nsBlockReflowContext::ReflowBlock(nsRect const&, int, nsCollapsingMargin&, int, int, nsLineBox*, nsHTMLReflowState&, unsigned int&, nsBlockReflowState&) + 477 (nsBlockReflowContext.cpp:310) 11 libgklayout.dylib 0x12ec5b0e nsBlockFrame::ReflowBlockFrame(nsBlockReflowState&, nsLineList_iterator, int*) + 2076 (nsBlockFrame.cpp:2990) 12 libgklayout.dylib 0x12ec7e38 nsBlockFrame::ReflowLine(nsBlockReflowState&, nsLineList_iterator, int*) + 292 (nsBlockFrame.cpp:2262) 13 libgklayout.dylib 0x12ec895b nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&) + 1985 (nsBlockFrame.cpp:1897) 14 libgklayout.dylib 0x12ecbc15 nsBlockFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) + 795 (nsBlockFrame.cpp:944) 15 libgklayout.dylib 0x12ecf887 nsBlockReflowContext::ReflowBlock(nsRect const&, int, nsCollapsingMargin&, int, int, nsLineBox*, nsHTMLReflowState&, unsigned int&, nsBlockReflowState&) + 477 (nsBlockReflowContext.cpp:310) etc...
It wasn't hanging in a 2009-02-14 trunk build, so a fairly recent regression.
Flags: blocking1.9.2?
I get a cycle of assertions during the loop: ###!!! ASSERTION: Invalid offset: 'aOffset <= mSkipChars->mCharCount', file /home/dbaron/builds/mozilla-central/mozilla/gfx/thebes/src/gfxSkipChars.cpp, line 92 ###!!! ASSERTION: Text run does not map enough text for our reflow: 'gfxSkipCharsIterator(iter).ConvertOriginalToSkipped(offset + length) <= mTextRun->GetLength()', file /home/dbaron/builds/mozilla-central/mozilla/layout/generic/nsTextFrameThebes.cpp, line 6153 ###!!! ASSERTION: Invalid offset: 'aOffset <= mSkipChars->mCharCount', file /home/dbaron/builds/mozilla-central/mozilla/gfx/thebes/src/gfxSkipChars.cpp, line 92 ###!!! ASSERTION: unconstrained height on totally empty line: 'NS_UNCONSTRAINEDSIZE != aFloatAvailableSpace.mRect.height', file /home/dbaron/builds/mozilla-central/mozilla/layout/generic/nsBlockFrame.cpp, line 3660 ###!!! ASSERTION: redo line on totally empty line with non-empty band...: 'aFloatAvailableSpace.mHasFloats', file /home/dbaron/builds/mozilla-central/mozilla/layout/generic/nsBlockFrame.cpp, line 3665 I verified by local backout that this was caused by http://hg.mozilla.org/mozilla-central/rev/f9627950be8f (I backed out some of the things on top of it first; not sure if I needed to, though)
Flags: blocking1.9.2? → blocking1.9.2+
Priority: -- → P2
is this OS X only? with current 3.5.3 the testcase hangs for me on Windows, while using current trunk it does not hang, nor with current 1.9.2.
I see this on Mac.
Assignee: nobody → smontagu
Attached patch PatchSplinter Review
Attachment #405136 - Flags: superreview?(roc)
Attachment #405136 - Flags: review?(roc)
Attachment #405136 - Flags: superreview?(roc)
Attachment #405136 - Flags: superreview+
Attachment #405136 - Flags: review?(roc)
Attachment #405136 - Flags: review+
Status: NEW → RESOLVED
Closed: 16 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Whiteboard: [needs landing]
Comment on attachment 405136 [details] [diff] [review] Patch Requesting approval1.9.1 after trunk baking time, since this fixes a regression from bug 332655
Attachment #405136 - Flags: approval1.9.1.5?
Blocks: 508334
Comment on attachment 405136 [details] [diff] [review] Patch Approved for 1.9.1.5, a=dveditz
Attachment #405136 - Flags: approval1.9.1.5? → approval1.9.1.5+
Verified for 1.9.1.6 with Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.6pre) Gecko/20091119 Shiretoko/3.5.6pre using testcase. Saw crash with testcase in 1.9.1.5. Verified for 1.9.2 with Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2b4pre) Gecko/20091123 Namoroka/3.6b4pre.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: