[Mesa-dev] WebGL test suite, and whitelisting drivers / OpenGL implementations in Firefox

Eric Anholt eric at anholt.net
Tue Jan 18 11:17:44 PST 2011

On Sun, 16 Jan 2011 16:29:45 -0500, Benoit Jacob <bjacob at mozilla.com> wrote:
> Hi List,
> I realize that you may well not have time to care about WebGL [1] or 
> Firefox. In that case, I'm still writing because there's a new test 
> suite, namely the WebGL conformance test suite, that may be of interest 
> to help find and fix bugs in OpenGL implementations.
> The goal of this email is to discuss steps towards whitelisting Xorg 
> OpenGL drivers for WebGL rendering, and more generally for all 
> OpenGL-based features, in Firefox. Although I'm only directly concerned 
> with Firefox, this really applies equally well to all browsers 
> implementing WebGL.
> OpenGL-based features are disabled by default in Firefox 4 on X11 
> because of OpenGL bugs we've hit [2], and currently only the NVIDIA 
> proprietary driver is whitelisted [3].

We're definitely interested in the intel driver being whitelisted (or,
more accurately, in convincing you to not blacklist on linux at all so
linux developers can actually see bugs so they can get fixed).  So far,
though, I've had an awful time trying to debug webgl issues under
firefox, so I haven't spent much time on it.

For example, right now when I hit that page with:

MOZ_GLX_IGNORE_BLACKLIST=1 ./firefox -g -P -no-remote

on Mesa 7.10 or master, with ff 4.0b9 or the current nightly of
4.0b10pre, I get a segfault almost immediately:

Program received signal SIGSEGV, Segmentation fault.
__strlen_ia32 () at ../sysdeps/i386/i686/multiarch/../../i586/strlen.S:99
99	../sysdeps/i386/i686/multiarch/../../i586/strlen.S: No such file or directory.
	in ../sysdeps/i386/i686/multiarch/../../i586/strlen.S
(gdb) bt
#0  __strlen_ia32 () at ../sysdeps/i386/i686/multiarch/../../i586/strlen.S:99
#1  0xb5ff9145 in __strdup (s=0x0) at strdup.c:42
#2  0xb6a68c37 in moz_strdup () from /home/anholt/firefox/libmozalloc.so
#3  0x00000001 in ?? ()
#4  0x0000003f in ?? ()
#5  0xb60c8560 in ?? () from /lib/i686/cmov/libc.so.6
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

just before that is a GL user error from firefox calling a GL function
with no context.  That may or may not be related, but without debug
symbols it's hard to tell:

#0  NoOpGeneric () at glapi_nop.c:120
#1  0xb784ef07 in ?? () from /home/anholt/firefox4.0b10pre/firefox/libxul.so
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

I tried running under valgrind, but on (eventually) getting to a page,
valgrind died complaining that it can't handle a general clone() call.

I've been getting bug reports from VMware doing regression testing of
our driver for webgl, and I think our QA is working on getting it into
their automated system, so if we just can work out a debug environment
we should be able to get things in shape to get whitelisted at least.
Are there really no nightlies/betas with debug symbols?  I'd really
rather not build firefox on my own if I can avoid it.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20110118/231a5b14/attachment.pgp>

More information about the mesa-dev mailing list