WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
95713
[Cairo] [TextureMapper] Assertion failure in TextureMapperGL
https://bugs.webkit.org/show_bug.cgi?id=95713
Summary
[Cairo] [TextureMapper] Assertion failure in TextureMapperGL
Martin Robinson
Reported
Tuesday, September 4, 2012 7:17:39 AM UTC
Since the platformContext() method of GraphicsContext3D always returns null when using the "use current context" rendering style, we end up inserting texture mapper data into the wrong hash entry and causing an assertion failure. #0 0x00007ffff60bc370 in WTF::HashTable<void*, WTF::KeyValuePair<void*, WebCore::TextureMapperGLData::SharedGLData*>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<void*, WebCore::TextureMapperGLData::SharedGLData*> >, WTF::PtrHash<void*>, WTF::HashMapValueTraits<WTF::HashTraits<void*>, WTF::HashTraits<WebCore::TextureMapperGLData::SharedGLData*> >, WTF::HashTraits<void*> >::checkKey<WTF::HashMapTranslator<WTF::HashMapValueTraits<WTF::HashTraits<void*>, WTF::HashTraits<WebCore::TextureMapperGLData::SharedGLData*> >, WTF::PtrHash<void*> >, void*> (this=0x7ffff7dd6fc0, key=@0x7fffffffc960: 0x0) at ../../Source/WTF/wtf/HashTable.h:588 #1 0x00007ffff60bb7c9 in WTF::HashTable<void*, WTF::KeyValuePair<void*, WebCore::TextureMapperGLData::SharedGLData*>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<void*, WebCore::TextureMapperGLData::SharedGLData*> >, WTF::PtrHash<void*>, WTF::HashMapValueTraits<WTF::HashTraits<void*>, WTF::HashTraits<WebCore::TextureMapperGLData::SharedGLData*> >, WTF::HashTraits<void*> >::add<WTF::HashMapTranslator<WTF::HashMapValueTraits<WTF::HashTraits<void*>, WTF::HashTraits<WebCore::TextureMapperGLData::SharedGLData*> >, WTF::PtrHash<void*> >, void*, WebCore::TextureMapperGLData::SharedGLData*> (this=0x7ffff7dd6fc0, key=@0x7fffffffc960: 0x0, extra=@0x7fffffffc968: 0xc6f7b0) at ../../Source/WTF/wtf/HashTable.h:811 #2 0x00007ffff60bae10 in WTF::HashMap<void*, WebCore::TextureMapperGLData::SharedGLData*, WTF::PtrHash<void*>, WTF::HashTraits<void*>, WTF::HashTraits<WebCore::TextureMapperGLData::SharedGLData*> >::inlineAdd (this=0x7ffff7dd6fc0, key=@0x7fffffffc960: 0x0, mapped=@0x7fffffffc968: 0xc6f7b0) at ../../Source/WTF/wtf/HashMap.h:334 #3 0x00007ffff60b9dd4 in WTF::HashMap<void*, WebCore::TextureMapperGLData::SharedGLData*, WTF::PtrHash<void*>, WTF::HashTraits<void*>, WTF::HashTraits<WebCore::TextureMapperGLData::SharedGLData*> >::add (this=0x7ffff7dd6fc0, key=@0x7fffffffc960: 0x0, mapped=@0x7fffffffc968: 0xc6f7b0) at ../../Source/WTF/wtf/HashMap.h:361 #4 0x00007ffff60b958b in WebCore::TextureMapperGLData::SharedGLData::SharedGLData (this=0xc6f7b0, context=0x10081a0) at ../../Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:85 #5 0x00007ffff60b94e4 in WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData (context=0x10081a0) at ../../Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:75 #6 0x00007ffff60b987c in WebCore::TextureMapperGLData::TextureMapperGLData (this=0xd7d9f0, context=0x10081a0) at ../../Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:117 #7 0x00007ffff60b4643 in WebCore::TextureMapperGL::TextureMapperGL (this=0x94d540) at ../../Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:204 #8 0x00007ffff52ed3a7 in WebCore::TextureMapperGL::create () at ../../Source/WebCore/platform/graphics/texmap/TextureMapperGL.h:40 #9 0x00007ffff52ebcd0 in WebKit::AcceleratedCompositingContext::initialize (this=0x5cccd0) at ../../Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp:101 #10 0x00007ffff52ec50b in WebKit::AcceleratedCompositingContext::setRootCompositingLayer (this=0x5cccd0, graphicsLayer=0xedd200) at ../../Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp:247 0#11 0x00007ffff52f1868 in WebKit::ChromeClient::attachRootGraphicsLayer (this=0x588000, frame=0x5b4000, rootLayer=0xedd200) at ../../Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp:998 #12 0x00007ffff5eed181 in WebCore::RenderLayerCompositor::attachRootLayer (this=0x9ba400, attachment=WebCore::RenderLayerCompositor::RootLayerAttachedViaChromeClient) at ../../Source/WebCore/rendering/RenderLayerCompositor.cpp:2293 #13 0x00007ffff5eecbd7 in WebCore::RenderLayerCompositor::ensureRootLayer (this=0x9ba400) at ../../Source/WebCore/rendering/RenderLayerCompositor.cpp:2233 #14 0x00007ffff5ee5ec1 in WebCore::RenderLayerCompositor::enableCompositingMode (this=0x9ba400, enable=true) at ../../Source/WebCore/rendering/RenderLayerCompositor.cpp:212 #15 0x00007ffff5ee6e9e in WebCore::RenderLayerCompositor::updateBacking (this=0x9ba400, layer=0x1485448, shouldRepaint=WebCore::RenderLayerCompositor::CompositingChangeRepaintNow) at ../../Source/WebCore/rendering/RenderLayerCompositor.cpp:488 #16 0x00007ffff5ee71e5 in WebCore::RenderLayerCompositor::updateLayerCompositingState (this=0x9ba400, layer=0x1485448, shouldRepaint=WebCore::RenderLayerCompositor::CompositingChangeRepaintNow) at ../../Source/WebCore/rendering/RenderLayerCompositor.cpp:557 #17 0x00007ffff5ed49ee in WebCore::RenderLayer::styleChanged (this=0x1485448, oldStyle=0x0) at ../../Source/WebCore/rendering/RenderLayer.cpp:4989 #18 0x00007ffff5e5fafa in WebCore::RenderBoxModelObject::styleDidChange (this=0x1484fe8, diff=WebCore::StyleDifferenceEqual, oldStyle=0x0) at ../../Source/WebCore/rendering/RenderBoxModelObject.cpp:465 #19 0x00007ffff5e41791 in WebCore::RenderBox::styleDidChange (this=0x1484fe8, diff=WebCore::StyleDifferenceEqual, oldStyle=0x0) at ../../Source/WebCore/rendering/RenderBox.cpp:209 #20 0x00007ffff5ddbdae in WebCore::RenderBlock::styleDidChange (this=0x1484fe8, diff=WebCore::StyleDifferenceEqual, oldStyle=0x0) at ../../Source/WebCore/rendering/RenderBlock.cpp:328 #21 0x00007ffff5f1a5ac in WebCore::RenderObject::setStyle (this=0x1484fe8, style=...) at ../../Source/WebCore/rendering/RenderObject.cpp:1775 #22 0x00007ffff5f19ec0 in WebCore::RenderObject::setAnimatableStyle (this=0x1484fe8, style=...) at ../../Source/WebCore/rendering/RenderObject.cpp:1676 #23 0x00007ffff577ca2b in WebCore::NodeRendererFactory::createRenderer (this=0x7fffffffd2c0) at ../../Source/WebCore/dom/NodeRenderingContext.cpp:219 #24 0x00007ffff577ccd5 in WebCore::NodeRendererFactory::createRendererIfNeeded (this=0x7fffffffd2c0) at ../../Source/WebCore/dom/NodeRenderingContext.cpp:252 #25 0x00007ffff5769aa3 in WebCore::Node::createRendererIfNeeded (this=0x157fa70) at ../../Source/WebCore/dom/Node.cpp:1388 #26 0x00007ffff572373d in WebCore::Element::attach (this=0x157fa70) at ../../Source/WebCore/dom/Element.cpp:980 #27 0x00007ffff5983d8c in WebCore::executeTask (task=...) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:89 #28 0x00007ffff5983fd1 in WebCore::HTMLConstructionSite::executeQueuedTasks (this=0x1b1d888) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:129 #29 0x00007ffff59a803f in WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken (this=0x1b1d860, token=0x157fc00) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:399 #30 0x00007ffff59a7e5d in WebCore::HTMLTreeBuilder::constructTreeFromToken (this=0x1b1d860, rawToken=...) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:370 #31 0x00007ffff5989914 in WebCore::HTMLDocumentParser::pumpTokenizer (this=0xbd7f70, mode=WebCore::HTMLDocumentParser::AllowYield) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:269 #32 0x00007ffff59893e8 in WebCore::HTMLDocumentParser::resumeParsingAfterYield (this=0xbd7f70) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:190 #33 0x00007ffff59967dd in WebCore::HTMLParserScheduler::continueNextChunkTimerFired (this=0xccf630, timer=0xccf648) at ../../Source/WebCore/html/parser/HTMLParserScheduler.cpp:87 #34 0x00007ffff5996c5a in WebCore::Timer<WebCore::HTMLParserScheduler>::fired (this=0xccf648) at ../../Source/WebCore/platform/Timer.h:100 #35 0x00007ffff5d8345d in WebCore::ThreadTimers::sharedTimerFiredInternal (this=0x5ca580) at ../../Source/WebCore/platform/ThreadTimers.cpp:115 #36 0x00007ffff5d8338b in WebCore::ThreadTimers::sharedTimerFired () at ../../Source/WebCore/platform/ThreadTimers.cpp:93 #37 0x00007ffff64a2b6a in WebCore::timeout_cb () at ../../Source/WebCore/platform/gtk/SharedTimerGtk.cpp:49 #38 0x00007ffff47d3755 in g_timeout_dispatch (source=0xbf0660, callback=0x7ffff64a2b49 <WebCore::timeout_cb(gpointer)>, user_data=0x0) at gmain.c:4026 #39 0x00007ffff47d1ad7 in g_main_dispatch (context=0x450f70) at gmain.c:2715 #40 0x00007ffff47d266d in g_main_context_dispatch (context=0x450f70) at gmain.c:3219 #41 0x00007ffff47d2850 in g_main_context_iterate (context=0x450f70, block=1, dispatch=1, self=0x48c4f0) at gmain.c:3290 #42 0x00007ffff47d2c79 in g_main_loop_run (loop=0x7347e0) at gmain.c:3484 #43 0x00007ffff4c0ef6d in gtk_main () at gtkmain.c:1162 #44 0x000000000040546d in main (argc=1, argv=0x7fffffffd928) at ../../Tools/GtkLauncher/main.c:534
Attachments
Patch
(1.88 KB, patch)
2012-09-03 23:25 PDT
,
Martin Robinson
no flags
Details
Formatted Diff
Diff
Patch with that returns the current GLX/EGLContext instead of the GLContext
(1.90 KB, patch)
2012-09-03 23:29 PDT
,
Martin Robinson
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Martin Robinson
Comment 1
Tuesday, September 4, 2012 7:22:04 AM UTC
Here's the actual assertion failure: ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) ../../Source/WTF/wtf/HashTable.h(588) : void WTF::HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits>::checkKey(const T&) [with HashTranslator = WTF::HashMapTranslator<WTF::HashMapValueTraits<WTF::HashTraits<void*>, WTF::HashTraits<WebCore::TextureMapperGLData::SharedGLData*> >, WTF::PtrHash<void*> >, T = void*, Key = void*, Value = WTF::KeyValuePair<void*, WebCore::TextureMapperGLData::SharedGLData*>, Extractor = WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<void*, WebCore::TextureMapperGLData::SharedGLData*> >, HashFunctions = WTF::PtrHash<void*>, Traits = WTF::HashMapValueTraits<WTF::HashTraits<void*>, WTF::HashTraits<WebCore::TextureMapperGLData::SharedGLData*> >, KeyTraits = WTF::HashTraits<void*>]
Martin Robinson
Comment 2
Tuesday, September 4, 2012 7:25:32 AM UTC
Created
attachment 161971
[details]
Patch
Martin Robinson
Comment 3
Tuesday, September 4, 2012 7:29:51 AM UTC
Created
attachment 161972
[details]
Patch with that returns the current GLX/EGLContext instead of the GLContext
WebKit Review Bot
Comment 4
Tuesday, September 4, 2012 2:33:47 PM UTC
Comment on
attachment 161972
[details]
Patch with that returns the current GLX/EGLContext instead of the GLContext Clearing flags on attachment: 161972 Committed
r127465
: <
http://trac.webkit.org/changeset/127465
>
WebKit Review Bot
Comment 5
Tuesday, September 4, 2012 2:33:50 PM UTC
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