[Webkit-unassigned] [Bug 182760] [GTK] Crash ~TextureMapperGLData

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Mar 7 07:52:40 PST 2018


https://bugs.webkit.org/show_bug.cgi?id=182760

--- Comment #3 from Miguel Gomez <magomez at igalia.com> ---
>From what I've gathered so far, what happens here is that the AcceleratedDrawingArea has left AC mode (probably due to some previous tests, as it happened 5 seconds ago), and the timer to destroy the previous layerTreeHost kicks in, which is what invalidates the ThreadedCompositor and causes the call to purgeGLResources() in the CoordinatedGraphicsScene. The crash happens because there's no current gl context, which is needed in the destructor of TextureMapperGL.

What I haven't discovered yet is how we can reach a situation where there's no current gl context in the compositor thread. The context is created and made current in the ThreadedCompositor constructor, and made current again with each call to renderLayertTree(), and that worked at least once cause otherwise the TextureMapperGL wouldn't have been created. There should always been a current context on that thread from that point on.
After that, the context is only destroyed:
   * in the invalidate() call just after purgeGLResouces(). As it's deleted after the call, it should not cause a crash. If, by any chance, invalidate() was called 2 times in a row, the second time there wouldn't be a TextureMappreGL to delete, so there wouldn't be a crash either.
   * when setting an empty nativeSurfaceHandleForCompositing: this is only used when not using a redirected window and it's not the case.
   * in the ThreadedCompositor destructor which would be triggered by the ThreadedCoordinatedLayerTreeHost destructor. But in this case the scene would be deleted as well, so there wouldn't a TextureMapper instance to cause the crash.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180307/59adff1f/attachment.html>


More information about the webkit-unassigned mailing list