Bug 37253 - SIGSEGV in dri2FlushFrontBuffer/MakeContextCurrent
Summary: SIGSEGV in dri2FlushFrontBuffer/MakeContextCurrent
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact:
URL: https://bugzilla.mozilla.org/show_bug...
: 33188 (view as bug list)
Depends on: 33203
  Show dependency treegraph
Reported: 2011-05-16 06:46 UTC by Benoit Jacob
Modified: 2018-04-10 06:22 UTC (History)
6 users (show)

See Also:
i915 platform:
i915 features:


Description Benoit Jacob 2011-05-16 06:46:13 UTC
This is the bug forcing us to blacklist Gallium in Firefox 6+.

Steps to reproduce:

0. This has been confirmed with Mesa 7.10.2, Gallium 0.4, and both R300 and R600 but seems device-independent. I didn't find the proper category for general Gallium bugs.
1. Grab a Nightly of Firefox:
2. Run it; If you're already using Firefox, you may want to do:
   ./path/to/firefox -no-remote -P
3. Make sure that WebGL is enabled (a bug in parsing version strings makes it unintentionally blacklist some systems). Go to about:config, set webgl.force-enabled=true if needed. You can go to about:support to check WebGL status.
4. Go to http://people.mozilla.com/~sicking/webgl/ray.html

Actual results: segfault

A stack trace is given there:

I discussed this with Corbin Simpson (https://bugzilla.mozilla.org/show_bug.cgi?id=624935#c6) who told me it was a known Gallium bug, been discussed on the mailing list already:
Comment 1 Sven Arvidsson 2011-05-23 10:12:27 UTC
This is the same as bug 33188 isn't it?
Comment 2 Benoit Jacob 2011-05-23 16:22:12 UTC
(In reply to comment #1)
> This is the same as bug 33188 isn't it?

Looks like it (didn't know about the other bug), but this bug has more specific info, and also the testcase link is more specific.

Close the other one as duplicate of this one (despite anachronism) ?
Comment 3 Sven Arvidsson 2011-05-24 10:48:14 UTC
(In reply to comment #2)
> Close the other one as duplicate of this one (despite anachronism) ?

That's probably a good idea. You could also reassign this bug to component "Mesa core" as it isn't a problem specific to r600g.
Comment 4 Benoit Jacob 2011-05-24 10:53:14 UTC
*** Bug 33188 has been marked as a duplicate of this bug. ***
Comment 5 Karl Tomlinson 2011-06-21 19:52:15 UTC
This may well be a dupe of bug 33203.
The same glXMakeCurrent with drawable set to None and ctx set to NULL avoided this as well, at least.
Comment 6 Stephane Marchesin 2011-06-21 19:54:51 UTC
It's probably fixed by http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf69ce37f0dcbb479078ee676d5100ac63e20750
Comment 7 Benoit Jacob 2011-06-21 20:17:36 UTC
(In reply to comment #6)
> It's probably fixed by
> http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf69ce37f0dcbb479078ee676d5100ac63e20750

What Mesa version number/string should I check for? 7.11 ?

Also, there is something that I would like to understand before un-blacklisting Gallium. In https://bugzilla.mozilla.org/show_bug.cgi?id=624935#c6 a Gallium bug about shaders with too many texture indirections was mentioned, see

The present bug/patch doesn't seem to have anything to do with that. Does that mean that the other bug (mentioned in these emails) still exists?

Karl: with the present fix, and the fix from https://bugzilla.mozilla.org/show_bug.cgi?id=659842 , is there still any serious Gallium WebGL crasher? Does the conformance test suite pass without a crash?
Comment 8 Sven Arvidsson 2011-06-24 09:19:19 UTC
I have tried the conformance test with Firefox 7.0a1 and Mesa c0c0bb6cb140825f5bab3c40c0c9c0ec575fbc76

r600g on a HD5670:
Results: (5665 of 5785 passed, 2 timed out)

r300g on a RV570
Results: (5772 of 5907 passed, 1 timed out)

llvmpipe still crashes firefox.
Comment 9 Fabio Pedretti 2011-10-24 02:58:24 UTC
Is this still an issue?
Comment 10 Timothy Arceri 2018-04-10 06:22:36 UTC
Firefox, WebGL and Mesa have worked together well for a long time, this was likely fixed years ago. Closing.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.