Bug 891464 - segfault in requiresLineBox at rendering/RenderBlockLineLayout.cpp:1485
Summary: segfault in requiresLineBox at rendering/RenderBlockLineLayout.cpp:1485
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: qtwebkit
Version: 17
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-01-03 02:59 UTC by Dan Callaghan
Modified: 2013-01-23 01:40 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-01-20 03:09:51 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
WebKit Project 72285 None None None Never

Description Dan Callaghan 2013-01-03 02:59:01 UTC
Description of problem:
qtwebkit-2.2.2-1.fc17.x86_64 crashes with a segmentation fault when rendering a page:

#0  0x00007ffff6bc81c6 in (anonymous namespace)::requiresLineBox (it=..., lineInfo=...) at rendering/RenderBlockLineLayout.cpp:1485
#1  0x00007ffff6bcc989 in WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace (this=this@entry=0x7fffffffc700, resolver=..., lineInfo=..., lastFloatFromPreviousLine=lastFloatFromPreviousLine@entry=0x0, 
    width=...) at rendering/RenderBlockLineLayout.cpp:1528
#2  0x00007ffff6bce9b8 in WebCore::RenderBlock::LineBreaker::nextLineBreak (this=this@entry=0x7fffffffc700, resolver=..., lineInfo=..., lineBreakIteratorInfo=..., 
    lastFloatFromPreviousLine=lastFloatFromPreviousLine@entry=0x0) at rendering/RenderBlockLineLayout.cpp:1826
#3  0x00007ffff6bd43b5 in WebCore::RenderBlock::layoutRunsAndFloats (this=this@entry=0x7fff7b7c5590, fullLayout=fullLayout@entry=false, hasInlineChild=<optimized out>, floats=..., repaintLogicalTop=
    @0x7fffffffca34: 0, repaintLogicalBottom=@0x7fffffffca38: 0) at rendering/RenderBlockLineLayout.cpp:915
#4  0x00007ffff6bd5c18 in WebCore::RenderBlock::layoutInlineChildren (this=0x7fff7b7c5590, relayoutChildren=false, repaintLogicalTop=@0x7fffffffca34: 0, repaintLogicalBottom=@0x7fffffffca38: 0)
    at rendering/RenderBlockLineLayout.cpp:1164
#5  0x00007ffff6bc5cc6 in WebCore::RenderBlock::layoutBlock (this=0x7fff7b7c5590, relayoutChildren=false, pageLogicalHeight=0) at rendering/RenderBlock.cpp:1260
#6  0x00007ffff6ba9c5d in WebCore::RenderBlock::layout (this=0x7fff7b7c5590) at rendering/RenderBlock.cpp:1158
#7  0x00007ffff6bc1ae9 in WebCore::RenderBlock::layoutBlockChild (this=this@entry=0x7fff7b7c5398, child=0x7fff7b7c5590, marginInfo=..., previousFloatLogicalBottom=@0x7fffffffcba8: 8, maxFloatLogicalBottom=
    @0x7fffffffcc5c: 0) at rendering/RenderBlock.cpp:2000
#8  0x00007ffff6bc240b in WebCore::RenderBlock::layoutBlockChildren (this=this@entry=0x7fff7b7c5398, relayoutChildren=relayoutChildren@entry=false, maxFloatLogicalBottom=@0x7fffffffcc5c: 0)
    at rendering/RenderBlock.cpp:1938
#9  0x00007ffff6bc5660 in WebCore::RenderBlock::layoutBlock (this=0x7fff7b7c5398, relayoutChildren=false, pageLogicalHeight=0) at rendering/RenderBlock.cpp:1262
#10 0x00007ffff6ba9c5d in WebCore::RenderBlock::layout (this=0x7fff7b7c5398) at rendering/RenderBlock.cpp:1158
#11 0x00007ffff6bc1ae9 in WebCore::RenderBlock::layoutBlockChild (this=this@entry=0x7fff7b7c5120, child=0x7fff7b7c5398, marginInfo=..., previousFloatLogicalBottom=@0x7fffffffcdc8: 0, maxFloatLogicalBottom=
    @0x7fffffffce7c: 0) at rendering/RenderBlock.cpp:2000
#12 0x00007ffff6bc240b in WebCore::RenderBlock::layoutBlockChildren (this=this@entry=0x7fff7b7c5120, relayoutChildren=relayoutChildren@entry=false, maxFloatLogicalBottom=@0x7fffffffce7c: 0)
    at rendering/RenderBlock.cpp:1938
#13 0x00007ffff6bc5660 in WebCore::RenderBlock::layoutBlock (this=0x7fff7b7c5120, relayoutChildren=false, pageLogicalHeight=0) at rendering/RenderBlock.cpp:1262
#14 0x00007ffff6ba9c5d in WebCore::RenderBlock::layout (this=0x7fff7b7c5120) at rendering/RenderBlock.cpp:1158
#15 0x00007ffff6c785f8 in WebCore::RenderView::layout (this=0x7fff7b7c5120) at rendering/RenderView.cpp:130
#16 0x00007ffff6b00e07 in WebCore::FrameView::layout (this=0x7fff91514840, allowSubtree=<optimized out>) at page/FrameView.cpp:964
[...]

Reproducer is contained in the phantomjs test suite, though you will need my patches to unbundle everything from phantomjs (see package review bug 891461).

There is an upstream bug is here: https://bugs.webkit.org/show_bug.cgi?id=72285
and there is already a fix committed for version 2.3: https://trac.webkit.org/changeset/86060

I've tested that the patch applies cleanly to 2.2.2 and fixes the crash.

Comment 1 Fedora Update System 2013-01-04 15:41:13 UTC
qtwebkit-2.2.2-5.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/qtwebkit-2.2.2-5.fc18

Comment 2 Fedora Update System 2013-01-04 15:42:19 UTC
qtwebkit-2.2.2-5.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/qtwebkit-2.2.2-5.fc17

Comment 3 Fedora Update System 2013-01-04 15:42:45 UTC
qtwebkit-2.2.2-5.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/qtwebkit-2.2.2-5.fc16

Comment 4 Fedora Update System 2013-01-04 20:24:22 UTC
Package qtwebkit-2.2.2-5.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing qtwebkit-2.2.2-5.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-0165/qtwebkit-2.2.2-5.fc18
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2013-01-20 03:09:53 UTC
qtwebkit-2.2.2-5.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 6 Fedora Update System 2013-01-23 01:25:46 UTC
qtwebkit-2.2.2-5.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 7 Fedora Update System 2013-01-23 01:40:48 UTC
qtwebkit-2.2.2-5.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.