Bug 42611

Summary: [865g] webgl enabled pages crash Firefox and mesa
Product: Mesa Reporter: Sandy Beach <dune97>
Component: Drivers/DRI/i830Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTOURBUG QA Contact:
Severity: normal    
Priority: medium CC: celeonar, eugeni, john_a_s2004, kibi
Version: 7.11   
Hardware: x86 (IA32)   
OS: Linux (All)   
URL: https://bugzilla.mozilla.org/show_bug.cgi?id=699181
Whiteboard:
i915 platform: i915 features:
Attachments: dmesg
Xorg log

Description Sandy Beach 2011-11-04 22:21:41 UTC
Using an intel i865g GPU  16Mb ddr3200 shared memory -see(1)
mesa  and firefox  crash when loading  webgl page  such as  <about:support>  or 
getwebgl.org

stderr msg:Mesa 7.11 implementation error: unexpected format in _mesa_choose_tex_format()
Mesa 7.11 implementation error: unexpected MESA_FORMAT for renderbuffer

(gdb) run firefox0
Starting program: /home/llivv/bin/firefox0 firefox0
[Thread debugging using libthread_db enabled]
[New Thread 0xb50cfb70 (LWP 2971)]
[New Thread 0xb42b7b70 (LWP 2972)]
[New Thread 0xb3ab7b70 (LWP 2973)]
[New Thread 0xb2fffb70 (LWP 2974)]
[New Thread 0xb274fb70 (LWP 2975)]
[New Thread 0xb1f4fb70 (LWP 2976)]
[New Thread 0xb0f45b70 (LWP 2977)]
[New Thread 0xb049fb70 (LWP 2980)]
[New Thread 0xafaffb70 (LWP 2981)]
[New Thread 0xaf2ffb70 (LWP 2982)]
[Thread 0xaf2ffb70 (LWP 2982) exited]
[New Thread 0xaf2ffb70 (LWP 2983)]
[New Thread 0xae9ffb70 (LWP 2984)]
[New Thread 0xae0ffb70 (LWP 2999)]
[New Thread 0xad7a1b70 (LWP 3000)]
[New Thread 0xacfa1b70 (LWP 3001)]
[New Thread 0xac5ffb70 (LWP 3002)]
[New Thread 0xabaffb70 (LWP 3003)]
[Thread 0xabaffb70 (LWP 3003) exited]
[New Thread 0xabaffb70 (LWP 3004)]
[New Thread 0xa6cffb70 (LWP 3005)]
[New Thread 0xa645ab70 (LWP 3006)]

http://get.webgl.org

[Thread 0xb049fb70 (LWP 2980) exited]
[New Thread 0xb049fb70 (LWP 3008)]
[New Thread 0xa4fffb70 (LWP 3009)]
[New Thread 0xa3affb70 (LWP 3010)]
[Thread 0xa4fffb70 (LWP 3009) exited]
[New Thread 0xa4fffb70 (LWP 3011)]
Mesa 7.11 implementation error: unexpected format in _mesa_choose_tex_format()
Please report at bugs.freedesktop.org
Mesa 7.11 implementation error: unexpected MESA_FORMAT for renderbuffer
Please report at bugs.freedesktop.org

Program received signal SIGFPE, Arithmetic exception.
0xa42906b7 in intel_region_alloc (screen=0xa70ceec0, tiling=1, cpp=0, 
    width=140, height=150, expect_accelerated_upload=1 '\001')
    at intel_regions.c:190
190     intel_regions.c: No such file or directory.
        in intel_regions.c


(gdb) bt full
#0  0xa42906b7 in intel_region_alloc (screen=0xa70ceec0, tiling=1, cpp=0, 
    width=140, height=150, expect_accelerated_upload=1 '\001')
    at intel_regions.c:190
        buffer = 0xa57f92b0
        flags = 1
        aligned_pitch = 512
        region = <optimized out>
#1  0xa42cf782 in intel_alloc_renderbuffer_storage (ctx=0xa58ba000, 
    rb=0xb11a7a60, internalFormat=33190, width=140, height=150)
    at intel_fbo.c:232
        irb = 0xb11a7a60
        cpp = 0
        tiling = <optimized out>
        __PRETTY_FUNCTION__ = "intel_alloc_renderbuffer_storage"
#2  0xa42f800e in renderbuffer_storage (target=<optimized out>, 
    internalFormat=33190, width=140, height=150, samples=0)
    at main/fbobject.c:1318
        func = 0xa44d61bf "glRenderbufferStorage"
        rb = <optimized out>
        baseFormat = <optimized out>
        ctx = 0xa58ba000
#3  0xb718c070 in ?? () from /home/llivv/firefox0/firefox/libxul.so
No symbol table info available.
Backtrace stopped: Not enough registers or memory available to unwind further.
 
(1) using an intel i915g GPU 32Mb ddr3200 shared memory - both pages load correctly
Comment 1 Sandy Beach 2011-11-04 22:43:33 UTC
Created attachment 53165 [details]
dmesg
Comment 2 Sandy Beach 2011-11-04 22:44:16 UTC
Created attachment 53166 [details]
Xorg log
Comment 3 Cesare Leonardi 2011-12-24 09:53:52 UTC
(In reply to comment #0)
> Using an intel i865g GPU  16Mb ddr3200 shared memory -see(1)
> mesa  and firefox  crash when loading  webgl page  such as  <about:support>  or 
> getwebgl.org
> 
> stderr msg:Mesa 7.11 implementation error: unexpected format in
> _mesa_choose_tex_format()
> Mesa 7.11 implementation error: unexpected MESA_FORMAT for renderbuffer

Looks like the bug refers to gen2 Intel graphics: i have an i855 and i'm experiencing the same problem since some Firefox version.

Here is the bug i've filed to Debian:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=652941

I'm using Debian Sid, Iceweasel 9.0, Mesa 7.11.2.

Cesare.
Comment 4 Sandy Beach 2012-02-13 13:10:58 UTC
I believe this was a firefox issue that mozilla devel has fixed.


The crash has not shown up on any of my newer Debian installations with firefox10 and beyond.

I can still trigger the crash on an 5 year old debian installation.
But after adding a new user to the 5 year old debian installation the crash disappears for the new user.
I tested using firefox versions 8, 9, 10, 11 and 13 with the same results for each version. 
Firefox url = about:support crashes when called by the 5 year old user and 
firefox url = about:support displays all fields of the  about:support webgl page
when called by the newly added user.
Comment 5 Cesare Leonardi 2012-02-16 15:54:01 UTC
Will, have you already upgraded to Mesa 8 from experimental?

The problem is not resolved for me (i855) and i do not reopen this bug only because your bug is specific to Drivers/DRI/i830.
I've renamed my mozilla profile and then created a fresh new user as you suggested: Firefox still crashes with about:support and other sites with the same Mesa error you reported.

This Mozilla bug seems to prove that there is an Intel/Mesa bug somewhere:
https://bugzilla.mozilla.org/show_bug.cgi?id=696636

I haven't yet found the time to file a new bug to Mesa, as they suggested, but i will do. I'm scared to upgrade to Mesa 8, because reading gen2 upstream changelogs entry i suspect i'll have more breakage, since it talks about features removed...

Cesare.
Comment 6 Eugeni Dodonov 2012-02-17 08:41:44 UTC
> I haven't yet found the time to file a new bug to Mesa, as they suggested, but i will do. I'm scared to upgrade to Mesa 8, because reading gen2 upstream
> changelogs entry i suspect i'll have more breakage, since it talks about features removed...


You don't have to upgrade mesa entirely just for this testing. You can compile and install it into any other directory (for example, with ./configure --prefix=/home/myuser/mesa; make; make install), and then use 'export LD_LIBRARY_PATH=/home/myuser/mesa/lib' to tell applications to use this mesa version for testing.

This way, you'll still have your old mesa around in case 8.0.x is broken for you..
Comment 7 john_a_s 2012-02-21 15:34:11 UTC
I tried to follow the instructions to build Mesa 8.0.1, but when I ran ./configure
it reported:

configure: error: Direct rendering requires libdrm >= 2.4.24

I've tried re-installing with 'yum reinstall libdrm':

Running Transaction
  Installing : libdrm-2.4.30-1.fc16.i686                                    1/1 

Installed:
  libdrm.i686 0:2.4.30-1.fc16                                                   

but still no further with ./configure, any advice please?
Comment 8 Cesare Leonardi 2012-03-15 17:40:15 UTC
With the latest Firefox from Debian (Iceweasel 10.0.3esr-1), the problem looks resolved: no more crashes for me. The fix is documented here:
https://bugzilla.mozilla.org/show_bug.cgi?id=696636
https://bugzilla.mozilla.org/show_bug.cgi?id=728656

And for the record, no problems with Mesa 8.

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.