Intel DRI3 driver hangs WebKitGTK
@hadess
Submitted by Bastien Nocera Assigned to Ian Romanick
Description
Using the development version of Fedora 21, I can see Epiphany (GNOME's WebKitGTK based browser) hang whenever a video is supposed to be presented on-screen.
Running: LIBGL_DRI3_DISABLE=1 epiphany works around the problem.
mesa-dri-drivers-10.2.3-1.20140711.fc21.x86_64 kernel-3.16.0-0.rc5.git1.2.fc22.x86_64
Backtrace of the hang:
#0 0x00007f6143b23a1d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007f613bbd7142 in _xcb_conn_wait () at /lib64/libxcb.so.1
#2 0x00007f613bbd8609 in xcb_wait_for_special_event () at /lib64/libxcb.so.1
#3 0x00007f613f9582a4 in dri3_find_back () at /lib64/libGL.so.1
#4 0x00007f613f9588a5 in dri3_get_buffer.isra () at /lib64/libGL.so.1
#5 0x00007f613f959295 in dri3_get_buffers () at /lib64/libGL.so.1
#6 0x00007f608262daf7 in intel_update_renderbuffers () at /usr/lib64/dri/i965_dri.so
#7 0x00007f608262de25 in intel_prepare_render () at /usr/lib64/dri/i965_dri.so
#8 0x00007f6082632000 in brw_draw_prims () at /usr/lib64/dri/i965_dri.so
#9 0x00007f608248c59e in vbo_draw_arrays () at /usr/lib64/dri/i965_dri.so
#10 0x00007f6148c23cda in WebCore::TextureMapperGL::drawUnitRect(WebCore::TextureMapperShaderProgram*, unsigned int) (this=this@entry=0x7f60a0e41240, program=program@entry=
0x7f6082b45b00, drawingMode=drawingMode@entry=6) at Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:634
#11 0x00007f6148c240a2 in WebCore::TextureMapperGL::draw(WebCore::FloatRect const&, WebCore::TransformationMatrix const&, WebCore::TextureMapperShaderProgram*, unsigned int, int) (this=this@entry=0x7f60a0e41240, rect=..., modelViewMatrix=..., shaderProgram=shaderProgram@entry=0x7f6082b45b00, drawingMode=drawingMode@entry=6, flags=1) at Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:661
#12 0x00007f6148c24fb8 in WebCore::TextureMapperGL::drawTexturedQuadWithProgram(WebCore::TextureMapperShaderProgram*, unsigned int, int, WebCore::IntSize const&, WebCore::FloatRect const&, WebCore::TransformationMatrix const&, float) (this=this@entry=0x7f60a0e41240, program=program@entry=0x7f6082b45b00, texture=texture@entry=1, flags=<optimized out>,
flags@entry=1, size=..., rect=..., modelViewMatrix=..., opacity=opacity@entry=1) at Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:694
#13 0x00007f6148c255d3 in WebCore::TextureMapperGL::drawTexture(unsigned int, int, WebCore::IntSize const&, WebCore::FloatRect const&, WebCore::TransformationMatrix const&, float, unsigned int) (this=this@entry=0x7f60a0e41240, texture=<optimized out>, flags=<optimized out>, flags@entry=1, textureSize=..., targetRect=..., modelViewMatrix=..., opacity=opacity@entry=1, exposedEdges=15)
at Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:574
#14 0x00007f6148c1ff36 in WebCore::TextureMapperGL::drawTexture(WebCore::BitmapTexture const&, WebCore::FloatRect const&, WebCore::TransformationMatrix const&, float, unsigned int) (this=0x7f60a0e41240, texture=..., targetRect=..., matrix=..., opacity=1, exposedEdges=15) at Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:530
#15 0x00007f6148c37e84 in WebCore::TextureMapperTile::paint(WebCore::TextureMapper*, WebCore::TransformationMatrix const&, float, unsigned int) (this=<optimized out>, textureMapper=0x7f60a0e41240, transform=..., opacity=<optimized out>, exposedEdges=15) at Source/WebCore/platform/graphics/texmap/TextureMapperTile.cpp:75
#16 0x00007f6148c395d9 in WebCore::TextureMapperTiledBackingStore::paintToTextureMapper(WebCore::TextureMapper*, WebCore::FloatRect const&, WebCore::TransformationMatrix const&, float) (this=0x7f6082bb96c8, textureMapper=0x7f60a0e41240, targetRect=..., transform=..., opacity=1) at Source/WebCore/platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:55
#17 0x00007f6148c32ece in WebCore::TextureMapperLayer::paintSelf(WebCore::TextureMapperPaintOptions const&) (this=this@entry=0x7f6092e71a00, options=...)
at Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:139
#18 0x00007f6148c36f92 in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions const&) (this=0x7f6092e71a00, options=...)
at Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:176
#19 0x00007f6148c3715c in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions const&) (this=0x7f6092e71a00, options=...)
at Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:231
#20 0x00007f6148c36bbd in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions const&) (this=0x7f6092e71a00, options=...)
at Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:455
#21 0x00007f6148c36f0d in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions const&) (this=0x7f60c4d5c500, options=...)
at Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:191
#22 0x00007f6148c3715c in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions const&) (this=0x7f60c4d5c500, options=...)
at Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:231
#23 0x00007f6148c36bbd in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions const&) (this=this@entry=0x7f60c4d5c500, options=...)
at Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:455
#24 0x00007f6148c36ce6 in WebCore::TextureMapperLayer::paint() (this=0x7f60c4d5c500) at Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:92
#25 0x00007f6148252f57 in WebKit::LayerTreeHostGtk::compositeLayersToContext(WebKit::LayerTreeHostGtk::CompositePurpose) (this=this@entry=
0x7f6092ed5528, purpose=purpose@entry=WebKit::LayerTreeHostGtk::NotForResize) at Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:341
#26 0x00007f6148253451 in WebKit::LayerTreeHostGtk::flushAndRenderLayers() (this=0x7f6092ed5528) at Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:366
#27 0x00007f6148253566 in WebKit::LayerTreeHostGtk::layerFlushTimerFired() (this=0x7f6092ed5528) at Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:301
Version: 10.2