Bug 61693 - [GTK] fast/css/font-face-zero-hash-key.html is crashing on the bots
Summary: [GTK] fast/css/font-face-zero-hash-key.html is crashing on the bots
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P3 Normal
Assignee: Martin Robinson
URL:
Keywords: Gtk
Depends on:
Blocks:
 
Reported: 2011-05-28 14:34 PDT by Martin Robinson
Modified: 2011-05-30 13:09 PDT (History)
1 user (show)

See Also:


Attachments
Patch (3.58 KB, patch)
2011-05-30 10:20 PDT, Martin Robinson
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Robinson 2011-05-28 14:34:06 PDT
This appears to be due to my recent change to how 0 pixel sized fonts are handled. I will fix it ASAP.
Comment 1 Martin Robinson 2011-05-30 10:01:46 PDT
Here's the relevant backtrace:

Program received signal SIGSEGV, Segmentation fault.
cairo_ft_scaled_font_lock_face (abstract_font=0x0) at cairo-ft-font.c:3130
3130	    if (! _cairo_scaled_font_is_ft (abstract_font)) {
(gdb) bt
#0  cairo_ft_scaled_font_lock_face (abstract_font=0x0) at cairo-ft-font.c:3130
#1  0x00007ffff5a46b9b in WebCore::FontPlatformData::FontPlatformData (this=0x7fffffff72d0, fontFace=0x1687750, size=0, bold=false, 
    italic=false) at ../../Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp:160
#2  0x00007ffff5a46491 in WebCore::FontCustomPlatformData::fontPlatformData (this=0x1687620, size=0, bold=false, italic=false)
    at ../../Source/WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:64
#3  0x00007ffff54b8dbf in WebCore::CachedFont::platformDataFromCustomData (this=0x1619200, size=0, bold=false, italic=false, 
    orientation=WebCore::Horizontal, textOrientation=WebCore::TextOrientationVerticalRight, widthVariant=WebCore::RegularWidth, 
    renderingMode=WebCore::NormalRenderingMode) at ../../Source/WebCore/loader/cache/CachedFont.cpp:124
#4  0x00007ffff50ac76a in WebCore::CSSFontFaceSource::getFontData (this=0x1564c50, fontDescription=..., syntheticBold=false, 
    syntheticItalic=false, fontSelector=0x1528be0) at ../../Source/WebCore/css/CSSFontFaceSource.cpp:167
#5  0x00007ffff50a909a in WebCore::CSSFontFace::getFontData (this=0x15b6d10, fontDescription=..., syntheticBold=false, 
    syntheticItalic=false) at ../../Source/WebCore/css/CSSFontFace.cpp:112
#6  0x00007ffff511b954 in WebCore::CSSSegmentedFontFace::getFontData (this=0x1af51c0, fontDescription=...)
    at ../../Source/WebCore/css/CSSSegmentedFontFace.cpp:106
#7  0x00007ffff50b38bb in WebCore::CSSFontSelector::getFontData (this=0x1528be0, fontDescription=..., familyName=...)
    at ../../Source/WebCore/css/CSSFontSelector.cpp:563
#8  0x00007ffff55f75e2 in WebCore::FontCache::getFontData (this=0xd82560, font=..., familyIndex=@0x16c1690, fontSelector=0x1528be0)
    at ../../Source/WebCore/platform/graphics/FontCache.cpp:380
#9  0x00007ffff5604ec2 in WebCore::FontFallbackList::fontDataAt (this=0x16c1600, font=0x1d9c308, realizedFontIndex=0)
    at ../../Source/WebCore/platform/graphics/FontFallbackList.cpp:105
#10 0x00007ffff510fdf8 in WebCore::FontFallbackList::primaryFontData (this=0x16c1600, f=0x1d9c308)
    at ../../Source/WebCore/platform/graphics/FontFallbackList.h:66
#11 0x00007ffff510fda3 in WebCore::FontFallbackList::primarySimpleFontData (this=0x16c1600, f=0x1d9c308)
    at ../../Source/WebCore/platform/graphics/FontFallbackList.h:62
#12 0x00007ffff510fe91 in WebCore::Font::primaryFont (this=0x1d9c308) at ../../Source/WebCore/platform/graphics/Font.h:237
#13 0x00007ffff510fe12 in WebCore::Font::fontMetrics (this=0x1d9c308) at ../../Source/WebCore/platform/graphics/Font.h:132
#14 0x00007ffff56c78cb in WebCore::InlineFlowBox::addToLine (this=0x19a5658, child=0x19a55d8)
    at ../../Source/WebCore/rendering/InlineFlowBox.cpp:116
#15 0x00007ffff5718723 in WebCore::RenderBlock::createLineBoxes (this=0x1619038, obj=0x1619038, lineInfo=..., childBox=0x19a55d8)
    at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:277
#16 0x00007ffff5718abc in WebCore::RenderBlock::constructLine (this=0x1619038, bidiRuns=..., lineInfo=...)
    at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:342
#17 0x00007ffff571a9f0 in WebCore::RenderBlock::createLineBoxesFromBidiRuns (this=0x1619038, bidiRuns=..., end=..., lineInfo=..., 
    verticalPositionCache=..., trailingSpaceRun=0x0) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:775
#18 0x00007ffff571b5bf in WebCore::RenderBlock::layoutRunsAndFloats (this=0x1619038, layoutState=..., hasInlineChild=true, floats=...)
    at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:980
#19 0x00007ffff571cb22 in WebCore::RenderBlock::layoutInlineChildren (this=0x1619038, relayoutChildren=true, 
    repaintLogicalTop=@0x7fffffff838c, repaintLogicalBottom=@0x7fffffff8388)
---Type <return> to continue, or q <return> to quit---
    at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:1188
#20 0x00007ffff56e3f3d in WebCore::RenderBlock::layoutBlock (this=0x1619038, relayoutChildren=true, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1236
#21 0x00007ffff56e3870 in WebCore::RenderBlock::layout (this=0x1619038) at ../../Source/WebCore/rendering/RenderBlock.cpp:1134
#22 0x00007ffff56e7382 in WebCore::RenderBlock::layoutBlockChild (this=0x1c9b218, child=0x1619038, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffff865c, maxFloatLogicalBottom=@0x7fffffff87b4)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1977
#23 0x00007ffff56e6f99 in WebCore::RenderBlock::layoutBlockChildren (this=0x1c9b218, relayoutChildren=true, 
    maxFloatLogicalBottom=@0x7fffffff87b4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1915
#24 0x00007ffff56e3f5e in WebCore::RenderBlock::layoutBlock (this=0x1c9b218, relayoutChildren=true, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1238
#25 0x00007ffff56e3870 in WebCore::RenderBlock::layout (this=0x1c9b218) at ../../Source/WebCore/rendering/RenderBlock.cpp:1134
#26 0x00007ffff578ec8d in WebCore::RenderListItem::layout (this=0x1c9b218) at ../../Source/WebCore/rendering/RenderListItem.cpp:242
#27 0x00007ffff56e7382 in WebCore::RenderBlock::layoutBlockChild (this=0x1ca7a28, child=0x1c9b218, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffff8aac, maxFloatLogicalBottom=@0x7fffffff8c04)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1977
#28 0x00007ffff56e6f99 in WebCore::RenderBlock::layoutBlockChildren (this=0x1ca7a28, relayoutChildren=true, 
    maxFloatLogicalBottom=@0x7fffffff8c04) at ../../Source/WebCore/rendering/RenderBlock.cpp:1915
#29 0x00007ffff56e3f5e in WebCore::RenderBlock::layoutBlock (this=0x1ca7a28, relayoutChildren=true, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1238
#30 0x00007ffff56e3870 in WebCore::RenderBlock::layout (this=0x1ca7a28) at ../../Source/WebCore/rendering/RenderBlock.cpp:1134
#31 0x00007ffff56e7382 in WebCore::RenderBlock::layoutBlockChild (this=0x14fe2a8, child=0x1ca7a28, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffff8edc, maxFloatLogicalBottom=@0x7fffffff9034)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1977
#32 0x00007ffff56e6f99 in WebCore::RenderBlock::layoutBlockChildren (this=0x14fe2a8, relayoutChildren=true, 
    maxFloatLogicalBottom=@0x7fffffff9034) at ../../Source/WebCore/rendering/RenderBlock.cpp:1915
#33 0x00007ffff56e3f5e in WebCore::RenderBlock::layoutBlock (this=0x14fe2a8, relayoutChildren=true, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1238
#34 0x00007ffff56e3870 in WebCore::RenderBlock::layout (this=0x14fe2a8) at ../../Source/WebCore/rendering/RenderBlock.cpp:1134
#35 0x00007ffff578ec8d in WebCore::RenderListItem::layout (this=0x14fe2a8) at ../../Source/WebCore/rendering/RenderListItem.cpp:242
#36 0x00007ffff56e7382 in WebCore::RenderBlock::layoutBlockChild (this=0x1d33c68, child=0x14fe2a8, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffff932c, maxFloatLogicalBottom=@0x7fffffff9484)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1977
#37 0x00007ffff56e6f99 in WebCore::RenderBlock::layoutBlockChildren (this=0x1d33c68, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffff9484) at ../../Source/WebCore/rendering/RenderBlock.cpp:1915
#38 0x00007ffff56e3f5e in WebCore::RenderBlock::layoutBlock (this=0x1d33c68, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1238
#39 0x00007ffff56e3870 in WebCore::RenderBlock::layout (this=0x1d33c68) at ../../Source/WebCore/rendering/RenderBlock.cpp:1134
---Type <return> to continue, or q <return> to quit---
#40 0x00007ffff56e7382 in WebCore::RenderBlock::layoutBlockChild (this=0x1d33598, child=0x1d33c68, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffff975c, maxFloatLogicalBottom=@0x7fffffff98b4)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1977
#41 0x00007ffff56e6f99 in WebCore::RenderBlock::layoutBlockChildren (this=0x1d33598, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffff98b4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1915
#42 0x00007ffff56e3f5e in WebCore::RenderBlock::layoutBlock (this=0x1d33598, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1238
#43 0x00007ffff56e3870 in WebCore::RenderBlock::layout (this=0x1d33598) at ../../Source/WebCore/rendering/RenderBlock.cpp:1134
#44 0x00007ffff56fd3ad in WebCore::RenderObject::layoutIfNeeded (this=0x1d33598) at ../../Source/WebCore/rendering/RenderObject.h:537
#45 0x00007ffff56edcd8 in WebCore::RenderBlock::insertFloatingObject (this=0x1b0b548, o=0x1d33598)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:3152
#46 0x00007ffff56e5515 in WebCore::RenderBlock::handleFloatingChild (this=0x1b0b548, child=0x1d33598, marginInfo=...)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1507
#47 0x00007ffff56e5450 in WebCore::RenderBlock::handleSpecialChild (this=0x1b0b548, child=0x1d33598, marginInfo=...)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1489
#48 0x00007ffff56e6f6a in WebCore::RenderBlock::layoutBlockChildren (this=0x1b0b548, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffff9d34) at ../../Source/WebCore/rendering/RenderBlock.cpp:1911
#49 0x00007ffff56e3f5e in WebCore::RenderBlock::layoutBlock (this=0x1b0b548, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1238
#50 0x00007ffff56e3870 in WebCore::RenderBlock::layout (this=0x1b0b548) at ../../Source/WebCore/rendering/RenderBlock.cpp:1134
#51 0x00007ffff56e7382 in WebCore::RenderBlock::layoutBlockChild (this=0x153bbe8, child=0x1b0b548, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffa00c, maxFloatLogicalBottom=@0x7fffffffa164)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1977
#52 0x00007ffff56e6f99 in WebCore::RenderBlock::layoutBlockChildren (this=0x153bbe8, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffa164) at ../../Source/WebCore/rendering/RenderBlock.cpp:1915
#53 0x00007ffff56e3f5e in WebCore::RenderBlock::layoutBlock (this=0x153bbe8, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1238
#54 0x00007ffff56e3870 in WebCore::RenderBlock::layout (this=0x153bbe8) at ../../Source/WebCore/rendering/RenderBlock.cpp:1134
#55 0x00007ffff56e7382 in WebCore::RenderBlock::layoutBlockChild (this=0x16c1798, child=0x153bbe8, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffa43c, maxFloatLogicalBottom=@0x7fffffffa594)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1977
#56 0x00007ffff56e6f99 in WebCore::RenderBlock::layoutBlockChildren (this=0x16c1798, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffa594) at ../../Source/WebCore/rendering/RenderBlock.cpp:1915
#57 0x00007ffff56e3f5e in WebCore::RenderBlock::layoutBlock (this=0x16c1798, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1238
#58 0x00007ffff56e3870 in WebCore::RenderBlock::layout (this=0x16c1798) at ../../Source/WebCore/rendering/RenderBlock.cpp:1134
#59 0x00007ffff56e7382 in WebCore::RenderBlock::layoutBlockChild (this=0x1432d68, child=0x16c1798, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffa86c, maxFloatLogicalBottom=@0x7fffffffa9c4)
---Type <return> to continue, or q <return> to quit---
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1977
#60 0x00007ffff56e6f99 in WebCore::RenderBlock::layoutBlockChildren (this=0x1432d68, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffa9c4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1915
#61 0x00007ffff56e3f5e in WebCore::RenderBlock::layoutBlock (this=0x1432d68, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1238
#62 0x00007ffff56e3870 in WebCore::RenderBlock::layout (this=0x1432d68) at ../../Source/WebCore/rendering/RenderBlock.cpp:1134
#63 0x00007ffff56e7382 in WebCore::RenderBlock::layoutBlockChild (this=0x142f908, child=0x1432d68, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffac9c, maxFloatLogicalBottom=@0x7fffffffadf4)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1977
#64 0x00007ffff56e6f99 in WebCore::RenderBlock::layoutBlockChildren (this=0x142f908, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffadf4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1915
#65 0x00007ffff56e3f5e in WebCore::RenderBlock::layoutBlock (this=0x142f908, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1238
#66 0x00007ffff56e3870 in WebCore::RenderBlock::layout (this=0x142f908) at ../../Source/WebCore/rendering/RenderBlock.cpp:1134
#67 0x00007ffff57e6db7 in WebCore::RenderView::layout (this=0x142f908) at ../../Source/WebCore/rendering/RenderView.cpp:130
#68 0x00007ffff559ad88 in WebCore::FrameView::layout (this=0x142bea0, allowSubtree=true) at ../../Source/WebCore/page/FrameView.cpp:993
#69 0x00007ffff51b92d5 in WebCore::Document::updateLayout (this=0x142c810) at ../../Source/WebCore/dom/Document.cpp:1617
#70 0x00007ffff51b93b6 in WebCore::Document::updateLayoutIgnorePendingStylesheets (this=0x142c810)
    at ../../Source/WebCore/dom/Document.cpp:1648
#71 0x00007ffff51fc3dc in WebCore::Element::clientWidth (this=0x1434b70) at ../../Source/WebCore/dom/Element.cpp:427
#72 0x00007ffff5b0640f in WebCore::jsElementClientWidth (exec=0x7fff9b5252e0, slotBase=...) at DerivedSources/WebCore/JSElement.cpp:366
#73 0x00007ffff7c1cd8b in JSC::PropertySlot::getValue (this=0x7fffffffb330, exec=0x7fff9b5252e0, propertyName=...)
    at ../../Source/JavaScriptCore/runtime/PropertySlot.h:75
#74 0x00007ffff7cdf72c in JSC::JSValue::get (this=0x7fffffffb380, exec=0x7fff9b5252e0, propertyName=..., slot=...)
    at ../../Source/JavaScriptCore/runtime/JSObject.h:772
#75 0x00007ffff7cd2f30 in JSC::cti_op_get_by_id (args=0x7fffffffb3f0) at ../../Source/JavaScriptCore/jit/JITStubs.cpp:1592
#76 0x00007ffff7cd139b in JSC::JITThunks::tryCacheGetByID (callFrame=0x7fffec0dca20, codeBlock=0x7ffff7c1ccc3, returnAddress=..., 
    baseValue=..., propertyName=..., slot=..., stubInfo=0x7fffec0dca20) at ../../Source/JavaScriptCore/jit/JITStubs.cpp:943
#77 0x00007fffffffb420 in ?? ()
#78 0x00007fffec0dca20 in ?? ()
#79 0x0000000001ef1020 in ?? ()
#80 0x0000000000000007 in ?? ()
#81 0x00007fff9bb024e7 in ?? ()
#82 0x00007fffffffb440 in ?? ()
#83 0x00007fffffffb450 in ?? ()
#84 0x00007ffff7c16d07 in JSC::JSValue::decode (ptr=0xe8c78948104d8b48) at ../../Source/JavaScriptCore/runtime/JSValueInlineMethods.h:369
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) quit
Comment 2 Martin Robinson 2011-05-30 10:20:58 PDT
Created attachment 95352 [details]
Patch
Comment 3 Xan Lopez 2011-05-30 10:25:22 PDT
Comment on attachment 95352 [details]
Patch

Looks good.
Comment 4 WebKit Commit Bot 2011-05-30 13:09:04 PDT
Comment on attachment 95352 [details]
Patch

Clearing flags on attachment: 95352

Committed r87696: <http://trac.webkit.org/changeset/87696>
Comment 5 WebKit Commit Bot 2011-05-30 13:09:08 PDT
All reviewed patches have been landed.  Closing bug.