Bug 150897
| Summary: | ResourceUsageOverlay crashes in debug builds, seems to draw on non-main thread | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Blaze Burg <bburg> |
| Component: | Tools / Tests | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | kling, lforschler, simon.fraser, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Blaze Burg
STEPS TO REPRODUCE:
1. Get a debug build
2. Enable the resource overlay
3. Immediate crash
Representative stack trace:
#0 0x000000011641c497 in ::WTFCrash() at /Users/bburg/repos/webkit-tot/OpenSource/Source/WTF/wtf/Assertions.cpp:321
#1 0x00000001182b0b49 in WebCore::FontCascadeFonts::primaryFont(WebCore::FontCascadeDescription const&) at /Users/bburg/repos/webkit-tot/OpenSource/Source/WebCore/platform/graphics/FontCascadeFonts.h:127
#2 0x00000001182b0ab9 in WebCore::FontCascade::primaryFont() const at /Users/bburg/repos/webkit-tot/OpenSource/Source/WebCore/platform/graphics/FontCascade.h:352
#3 0x000000011a466909 in unsigned int WebCore::WidthIterator::advanceInternal<WebCore::Latin1TextIterator>(WebCore::Latin1TextIterator&, WebCore::GlyphBuffer*) at /Users/bburg/repos/webkit-tot/OpenSource/Source/WebCore/platform/graphics/WidthIterator.cpp:209
#4 0x000000011a4662ca in WebCore::WidthIterator::advance(int, WebCore::GlyphBuffer*) at /Users/bburg/repos/webkit-tot/OpenSource/Source/WebCore/platform/graphics/WidthIterator.cpp:434
#5 0x0000000118923930 in WebCore::FontCascade::getGlyphsAndAdvancesForSimpleText(WebCore::TextRun const&, int, int, WebCore::GlyphBuffer&, WebCore::FontCascade::ForTextEmphasisOrNot) const at /Users/bburg/repos/webkit-tot/OpenSource/Source/WebCore/platform/graphics/FontCascade.cpp:1272
#6 0x000000011891fe0e in WebCore::FontCascade::drawSimpleText(WebCore::GraphicsContext&, WebCore::TextRun const&, WebCore::FloatPoint const&, int, int) const at /Users/bburg/repos/webkit-tot/OpenSource/Source/WebCore/platform/graphics/FontCascade.cpp:1297
#7 0x000000011891fc14 in WebCore::FontCascade::drawText(WebCore::GraphicsContext&, WebCore::TextRun const&, WebCore::FloatPoint const&, int, int, WebCore::FontCascade::CustomFontNotReadyAction) const at /Users/bburg/repos/webkit-tot/OpenSource/Source/WebCore/platform/graphics/FontCascade.cpp:325
#8 0x0000000118a8f3e3 in WebCore::GraphicsContext::drawText(WebCore::FontCascade const&, WebCore::TextRun const&, WebCore::FloatPoint const&, int, int) at /Users/bburg/repos/webkit-tot/OpenSource/Source/WebCore/platform/graphics/GraphicsContext.cpp:328
#9 0x000000011903f68a in WebCore::showText(WebCore::GraphicsContext&, float, float, WebCore::Color, WTF::String const&) at /Users/bburg/repos/webkit-tot/OpenSource/Source/WebCore/page/cocoa/ResourceUsageOverlayCocoa.mm:330
#10 0x000000011903e2ae in WebCore::ResourceUsageOverlay::draw(WebCore::GraphicsContext&) at /Users/bburg/repos/webkit-tot/OpenSource/Source/WebCore/page/cocoa/ResourceUsageOverlayCocoa.mm:350
#11 0x000000011903dfdb in -[WebOverlayLayer drawInContext:] at /Users/bburg/repos/webkit-tot/OpenSource/Source/WebCore/page/cocoa/ResourceUsageOverlayCocoa.mm:66
#12 0x00007fff990ea2dd in CABackingStoreUpdate_ ()
#13 0x00007fff990e9531 in ___ZN2CA5Layer8display_Ev_block_invoke ()
#14 0x00007fff990e8f1d in CA::Layer::display_() ()
#15 0x00007fff990dad05 in CA::Layer::display_if_needed(CA::Transaction*) ()
#16 0x00007fff990da82d in CA::Layer::layout_and_display_if_needed(CA::Transaction*) ()
#17 0x00007fff990d9d01 in CA::Context::commit_transaction(CA::Transaction*) ()
#18 0x00007fff990d994c in CA::Transaction::commit() ()
#19 0x0000000119040cde in WebCore::runSamplerThread(void*) at /Users/bburg/repos/webkit-tot/OpenSource/Source/WebCore/page/cocoa/ResourceUsageOverlayCocoa.mm:452
#20 0x0000000116486a79 in WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const at /Users/bburg/repos/webkit-tot/OpenSource/Source/WTF/wtf/Threading.cpp:81
#21 0x0000000116486a4d in decltype(std::__1::forward<WTF::createThread(void (*)(void*), void*, char const*)::$_0&>(fp)(std::__1::forward<>(fp0))) std::__1::__invoke<WTF::createThread(void (*)(void*), void*, char const*)::$_0&>(WTF::createThread(void (*)(void*), void*, char const*)::$_0&&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.11.xctoolchain/usr/bin/../include/c++/v1/__functional_base:415
#22 0x0000000116486a3c in void std::__1::__invoke_void_return_wrapper<void>::__call<WTF::createThread(void (*)(void*), void*, char const*)::$_0&>(WTF::createThread(void (*)(void*), void*, char const*)::$_0&&&) at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.11.xctoolchain/usr/bin/../include/c++/v1/__functional_base:440
#23 0x00000001164869ec in std::__1::__function::__func<WTF::createThread(void (*)(void*), void*, char const*)::$_0, std::__1::allocator<WTF::createThread(void (*)(void*), void*, char const*)::$_0>, void ()>::operator()() at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.11.xctoolchain/usr/bin/../include/c++/v1/functional:1407
#24 0x0000000115ea282a in std::__1::function<void ()>::operator()() const at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.11.xctoolchain/usr/bin/../include/c++/v1/functional:1793
#25 0x000000011648574e in WTF::threadEntryPoint(void*) at /Users/bburg/repos/webkit-tot/OpenSource/Source/WTF/wtf/Threading.cpp:58
#26 0x0000000116486ff1 in WTF::wtfThreadEntryPoint(void*) at /Users/bburg/repos/webkit-tot/OpenSource/Source/WTF/wtf/ThreadingPthreads.cpp:167
#27 0x00007fff936df9b1 in _pthread_body ()
#28 0x00007fff936df92e in _pthread_start ()
#29 0x00007fff936dd385 in thread_start ()
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/23396084>
Simon Fraser (smfr)
Didn't we warn you this would happen?
Andreas Kling
(In reply to comment #2)
> Didn't we warn you this would happen?
Sort of :|