<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK] ASSERTION FAILED: markFontData in FontCascade::emphasisMarkHeight"
href="https://bugs.webkit.org/show_bug.cgi?id=150171">150171</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[GTK] ASSERTION FAILED: markFontData in FontCascade::emphasisMarkHeight
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr>
<tr>
<th>Product</th>
<td>WebKit
</td>
</tr>
<tr>
<th>Version</th>
<td>WebKit Local Build
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Unspecified
</td>
</tr>
<tr>
<th>OS</th>
<td>Unspecified
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Keywords</th>
<td>LayoutTestFailure
</td>
</tr>
<tr>
<th>Severity</th>
<td>Normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P2
</td>
</tr>
<tr>
<th>Component</th>
<td>WebKit Gtk
</td>
</tr>
<tr>
<th>Assignee</th>
<td>webkit-unassigned@lists.webkit.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>cgarcia@igalia.com
</td>
</tr>
<tr>
<th>CC</th>
<td>bugs-noreply@webkitgtk.org, mcatanzaro@igalia.com, mmaxfield@apple.com, mrobinson@webkit.org, simon.fraser@apple.com
</td>
</tr></table>
<p>
<div>
<pre>It happens with several tests like fast/ruby/text-emphasis.html in the Debug bot. The tests seem to pass in Release and the rendering out looks correct as well removing the assert. The thing is that for some reason we can get an empty GlyphData from FontCascade::getEmphasisMarkGlyphData() when it ends up falling back to system (FontCascadeFonts::glyphDataForSystemFallback). I'm not an expert in fonts, but maybe we can just return false from FontCascade::getEmphasisMarkGlyphData() when the GlyphData obtained is empty.
STDERR: ASSERTION FAILED: markFontData
STDERR: ../../Source/WebCore/platform/graphics/FontCascade.cpp(1274) : int WebCore::FontCascade::emphasisMarkHeight(const WTF::AtomicString&) const
STDERR: 1 0x2af06474c3bf /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x2af06474c3bf]
STDERR: 2 0x2af05de75382 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::FontCascade::emphasisMarkHeight(WTF::AtomicString const&) const+0x7e) [0x2af05de75382]
STDERR: 3 0x2af05dfb7ece /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::InlineFlowBox::computeOverAnnotationAdjustment(WebCore::LayoutUnit) const+0x3fe) [0x2af05dfb7ece]
STDERR: 4 0x2af05e1f2769 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RootInlineBox::beforeAnnotationsAdjustment() const+0x195) [0x2af05e1f2769]
STDERR: 5 0x2af05e1f24f2 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RootInlineBox::alignBoxesInBlockDirection(WebCore::LayoutUnit, WTF::HashMap<WebCore::InlineTextBox const*, std::pair<WTF::Vector<WebCore::Font const*, 0ul, WTF::CrashOnOverflow, 16ul>, WebCore::GlyphOverflow>, WTF::PtrHash<WebCore::InlineTextBox const*>, WTF::HashTraits<WebCore::InlineTextBox const*>, WTF::HashTraits<std::pair<WTF::Vector<WebCore::Font const*, 0ul, WTF::CrashOnOverflow, 16ul>, WebCore::GlyphOverflow> > >&, WebCore::VerticalPositionCache&)+0x3cc) [0x2af05e1f24f2]
STDERR: 6 0x2af05e01ab4f /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::computeBlockDirectionPositionsForLine(WebCore::RootInlineBox*, WebCore::BidiRun*, WTF::HashMap<WebCore::InlineTextBox const*, std::pair<WTF::Vector<WebCore::Font const*, 0ul, WTF::CrashOnOverflow, 16ul>, WebCore::GlyphOverflow>, WTF::PtrHash<WebCore::InlineTextBox const*>, WTF::HashTraits<WebCore::InlineTextBox const*>, WTF::HashTraits<std::pair<WTF::Vector<WebCore::Font const*, 0ul, WTF::CrashOnOverflow, 16ul>, WebCore::GlyphOverflow> > >&, WebCore::VerticalPositionCache&)+0x3f) [0x2af05e01ab4f]
STDERR: 7 0x2af05e01b542 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns(unsigned int, WebCore::BidiRunList<WebCore::BidiRun>&, WebCore::InlineIterator const&, WebCore::LineInfo&, WebCore::VerticalPositionCache&, WebCore::BidiRun*, WTF::Vector<WebCore::WordMeasurement, 64ul, WTF::CrashOnOverflow, 16ul>&)+0x164) [0x2af05e01b542]
STDERR: 8 0x2af05e01c37e /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange(WebCore::LineLayoutState&, WebCore::BidiResolverWithIsolate<WebCore::InlineIterator, WebCore::BidiRun, WebCore::BidiIsolatedRun>&, WebCore::InlineIterator const&, WebCore::BidiStatus const&, unsigned int)+0x858) [0x2af05e01c37e]
STDERR: 9 0x2af05e01baa1 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutRunsAndFloats(WebCore::LineLayoutState&, bool)+0x41f) [0x2af05e01baa1]
STDERR: 10 0x2af05e01e1a9 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutLineBoxes(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&)+0x697) [0x2af05e01e1a9]
STDERR: 11 0x2af05dffcead /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutInlineChildren(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&)+0xb7) [0x2af05dffcead]
STDERR: 12 0x2af05dffc1ed /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)+0x3b7) [0x2af05dffc1ed]
STDERR: 13 0x2af05dfd13c5 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlock::layout()+0x77) [0x2af05dfd13c5]
STDERR: 14 0x2af05dffd26e /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)+0x3be) [0x2af05dffd26e]
STDERR: 15 0x2af05dffcdc8 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)+0x242) [0x2af05dffcdc8]
STDERR: 16 0x2af05dffc211 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)+0x3db) [0x2af05dffc211]
STDERR: 17 0x2af05dfd13c5 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlock::layout()+0x77) [0x2af05dfd13c5]
STDERR: 18 0x2af05dffd26e /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)+0x3be) [0x2af05dffd26e]
STDERR: 19 0x2af05dffcdc8 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)+0x242) [0x2af05dffcdc8]
STDERR: 20 0x2af05dffc211 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)+0x3db) [0x2af05dffc211]
STDERR: 21 0x2af05dfd13c5 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlock::layout()+0x77) [0x2af05dfd13c5]
STDERR: 22 0x2af05dffd26e /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)+0x3be) [0x2af05dffd26e]
STDERR: 23 0x2af05dffcdc8 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)+0x242) [0x2af05dffcdc8]
STDERR: 24 0x2af05dffc211 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)+0x3db) [0x2af05dffc211]
STDERR: 25 0x2af05dfd13c5 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderBlock::layout()+0x77) [0x2af05dfd13c5]
STDERR: 26 0x2af05e1d686b /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderView::layoutContent(WebCore::LayoutState const&)+0x53) [0x2af05e1d686b]
STDERR: 27 0x2af05e1d6f37 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderView::layout()+0x3fd) [0x2af05e1d6f37]
STDERR: 28 0x2af05dd1f695 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::FrameView::layout(bool)+0xe1f) [0x2af05dd1f695]
STDERR: 29 0x2af05d6b0485 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::Document::implicitClose()+0x457) [0x2af05d6b0485]
STDERR: 30 0x2af05dbc7f37 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::FrameLoader::checkCallImplicitClose()+0xa5) [0x2af05dbc7f37]
STDERR: 31 0x2af05dbc7ca7 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::FrameLoader::checkCompleted()+0x111) [0x2af05dbc7ca7]</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>