[Webkit-unassigned] [Bug 216777] REGRESSION(r267010) [GLIB] compositing/video/video-update-rendering.html is a flaky crash

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Oct 27 20:30:10 PDT 2020


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

--- Comment #8 from Carlos Alberto Lopez Perez <clopez at igalia.com> ---
(In reply to Lauro Moura from comment #7)
[....]
> 
> And between the 19.3 and 20.0 branches, the assert was added to Mesa to
> avoid invalid mutex states.
> https://gitlab.freedesktop.org/mesa/mesa/-/commit/74665eaf
> 
> With the 0.3 SDK, mesa was bumped to 20.1.5 and the assert from this bug
> started to be hit both locally and in the bots.
> 
> That said, using the Mesa version from the SDK (20.1.5) and bisecting
> WebKit, the assert starts to be triggered in a small range with the
> following revisions from August 2019, related to color formats in the
> texturemapper & cia:
> 
> r249427 / bug132869
> r249428 / bug200914
> r249429 / bug200922
> 
> The previous revision (r249426) works fine.
> 
> I could not bisect further as these commits are closely related and trying
> one of the first two trigger a different assert (related to Cairo).
> 
> cc'ing Zan and Chris as they were the original authors of the patches.
> 
> To build, I had to backport the changes from r250747 related to ICU 65>.
> 
> To reliably trigger the mesa assert, I've used the comand from #c5.
> 
> As these tests were not yet imported, I manually copied the
> LayoutTests/imported/w3c folder from a recent checkout before running and
> used `--root=<builddir>` to point to the folder where I had run cmake/ninja.


Great job with this findings!


I have checked that if you build with -DUSE_GSTREAMER_GL=OFF then the crash is not longer reproducible, so the codepath that triggers this crash is only enabled with USE_GSTREAMER_GL=ON

In the traceback above I can see that it enters into this state in the function WebCore::BitmapTextureGL::updateContents() when it calls glBindTexture(), which triggers this assertion inside Mesa.

I guess that then the assertion happens because Mesa tries to acquire the texture mutex for updating it, but the mutex is marked with an invalid state because the texture was previously destroyed.

Looking into the Mesa repository I spotted two commit that we don't have in our branch and looks like two good candidates to be merged with the hope of fixing this issue.

- https://gitlab.freedesktop.org/mesa/mesa/-/commit/045267d1e62
- https://gitlab.freedesktop.org/mesa/mesa/-/commit/de3d7dbed52

I have not tested if rebuilding Mesa with this two commits backported fix the issue or not. I tried to build locally to test it but I found issues with bst-wrapper, it fails to build some packages previous to building mesa

-- 
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/20201028/0d510ca9/attachment.htm>


More information about the webkit-unassigned mailing list