WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
150171
ASSERTION FAILED: markFontData in FontCascade::emphasisMarkHeight
https://bugs.webkit.org/show_bug.cgi?id=150171
Summary
ASSERTION FAILED: markFontData in FontCascade::emphasisMarkHeight
Carlos Garcia Campos
Reported
2015-10-15 08:30:35 PDT
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]
Attachments
Patch
(2.19 KB, patch)
2015-10-15 08:46 PDT
,
Carlos Garcia Campos
mmaxfield
: review+
Details
Formatted Diff
Diff
Patch for landing
(7.17 KB, patch)
2015-10-21 00:41 PDT
,
Carlos Garcia Campos
buildbot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from ews102 for mac-mavericks
(1004.68 KB, application/zip)
2015-10-21 01:19 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from ews106 for mac-mavericks-wk2
(978.52 KB, application/zip)
2015-10-21 01:32 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from ews112 for mac-yosemite
(1.14 MB, application/zip)
2015-10-21 01:47 PDT
,
Build Bot
no flags
Details
Try to fix the tests
(7.33 KB, patch)
2015-10-21 02:59 PDT
,
Carlos Garcia Campos
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Carlos Garcia Campos
Comment 1
2015-10-15 08:46:12 PDT
Created
attachment 263161
[details]
Patch
Darin Adler
Comment 2
2015-10-18 16:25:39 PDT
Comment on
attachment 263161
[details]
Patch The prefix [GTK] should not be used on a patch that affects platform-independent code. Lets take that prefix off this.
Darin Adler
Comment 3
2015-10-18 16:25:53 PDT
Myles, can you review this?
Carlos Garcia Campos
Comment 4
2015-10-18 22:40:31 PDT
Ok, I used the GTK prefix because the assert seems to only happen in the GTK+ bots, I don't know why.
Myles C. Maxfield
Comment 5
2015-10-20 10:44:51 PDT
Comment on
attachment 263161
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=263161&action=review
> Source/WebCore/platform/graphics/FontCascade.cpp:1236 > + return !glyphData.isEmpty();
This function should return an Optional(GlyphData) instead of using an out param. Also, the U16_* macros can be cleaned up.
> Source/WebCore/platform/graphics/GlyphPage.h:53 > + bool isEmpty() const { return !glyph && !font; }
Why don't you name this "invalid" or something? I'm not sure that "empty" is the best name.
Carlos Garcia Campos
Comment 6
2015-10-21 00:41:57 PDT
Created
attachment 263666
[details]
Patch for landing
Build Bot
Comment 7
2015-10-21 01:19:06 PDT
Comment on
attachment 263666
[details]
Patch for landing
Attachment 263666
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.webkit.org/results/315071
New failing tests: fast/text/emphasis.html fast/text/emphasis-combined-text.html
Build Bot
Comment 8
2015-10-21 01:19:12 PDT
Created
attachment 263667
[details]
Archive of layout-test-results from ews102 for mac-mavericks The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-mavericks Platform: Mac OS X 10.9.5
Build Bot
Comment 9
2015-10-21 01:32:26 PDT
Comment on
attachment 263666
[details]
Patch for landing
Attachment 263666
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.webkit.org/results/315094
New failing tests: fast/text/emphasis.html fast/text/emphasis-combined-text.html
Build Bot
Comment 10
2015-10-21 01:32:31 PDT
Created
attachment 263668
[details]
Archive of layout-test-results from ews106 for mac-mavericks-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-mavericks-wk2 Platform: Mac OS X 10.9.5
Build Bot
Comment 11
2015-10-21 01:47:29 PDT
Comment on
attachment 263666
[details]
Patch for landing
Attachment 263666
[details]
did not pass mac-debug-ews (mac): Output:
http://webkit-queues.webkit.org/results/315102
New failing tests: fast/repaint/text-emphasis-h.html fast/text/emphasis.html fast/repaint/text-emphasis-v.html fast/text/emphasis-overlap.html fast/ruby/position-after.html fast/text/emphasis-avoid-ruby.html fast/text/emphasis-combined-text.html
Build Bot
Comment 12
2015-10-21 01:47:34 PDT
Created
attachment 263670
[details]
Archive of layout-test-results from ews112 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews112 Port: mac-yosemite Platform: Mac OS X 10.10.5
Carlos Garcia Campos
Comment 13
2015-10-21 02:59:38 PDT
Created
attachment 263671
[details]
Try to fix the tests I assumed mark string was always 16 bit.
WebKit Commit Bot
Comment 14
2015-10-21 05:52:59 PDT
Comment on
attachment 263671
[details]
Try to fix the tests Clearing flags on attachment: 263671 Committed
r191386
: <
http://trac.webkit.org/changeset/191386
>
WebKit Commit Bot
Comment 15
2015-10-21 05:53:05 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug