Closed Bug 816451 Opened 12 years ago Closed 5 years ago

crash in mozilla::gl::GLContextGLX::~GLContextGLX @ nouveau_dri with Gallium 0.4 - 2.<n> Mesa 9.<m>

Categories

(Core :: Graphics, defect, P3)

17 Branch
All
Linux
defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: scoobidiver, Assigned: bjacob)

References

Details

(Keywords: crash, Whiteboard: [gfx-noted])

Crash Data

With combined signatures, it's #6 top crasher in 17.0 on Linux.

According to comments, it happens when closing Firefox.


Signature 	nouveau_dri.so@0xd90df More Reports Search
UUID	6e454311-22fa-4d68-a9a4-58bba2121123
Date Processed	2012-11-23 15:45:52
Uptime	28543
Last Crash	1.2 days before submission
Install Age	1.1 days since version was first installed.
Install Time	2012-11-22 13:56:59
Product	Firefox
Version	20.0a1
Build ID	20121122030751
Release Channel	nightly
OS	Linux
OS Version	0.0.0 Linux 3.5.0-18-generic #29-Ubuntu SMP Fri Oct 19 10:27:31 UTC 2012 i686
Build Architecture	x86
Build Architecture Info	AuthenticAM family 15 model 107 stepping 2
Crash Reason	SIGSEGV
Crash Address	0xdbdbdc53
App Notes 	
OpenGL: nouveau -- Gallium 0.4 on NV4E -- 2.1 Mesa 9.0 -- texture_from_pixmap
WebGL? libGL.so.1? libGL.so.1+ GL Context? GL Context+ WebGL+ 
EMCheckCompatibility	True

Frame 	Module 	Signature 	Source
0 	nouveau_dri.so 	nouveau_dri.so@0xd90df 	
1 	nouveau_dri.so 	nouveau_dri.so@0x21c3f 	
2 	libdrm_nouveau.so.2.0.0 	libdrm_nouveau.so.2.0.0@0x6fff 	
3 	libdrm_nouveau.so.2.0.0 	libdrm_nouveau.so.2.0.0@0x2a1d 	
4 	libpthread-2.15.so 	libpthread-2.15.so@0x8cbe 	
5 	libpthread-2.15.so 	libpthread-2.15.so@0x8cbe 	
6 	libpthread-2.15.so 	libpthread-2.15.so@0x9c38 	
7 	libpthread-2.15.so 	libpthread-2.15.so@0x9c38 	
8 	nouveau_dri.so 	nouveau_dri.so@0x4f1fff 	
...
42 	nouveau_dri.so 	nouveau_dri.so@0x1b12b 	
43 	libGL.so.1.2.0 	libGL.so.1.2.0@0x594df 	
44 	libpthread-2.15.so 	libpthread-2.15.so@0x8cbe 	
45 	libGL.so.1.2.0 	libGL.so.1.2.0@0x5d29f 	
46 	libGL.so.1.2.0 	libGL.so.1.2.0@0x594df 	
47 	libGL.so.1.2.0 	libGL.so.1.2.0@0x58fff 	
48 	libGL.so.1.2.0 	libGL.so.1.2.0@0x5d29f 	
49 	libGL.so.1.2.0 	libGL.so.1.2.0@0x42fc8 	
50 	libGL.so.1.2.0 	libGL.so.1.2.0@0x58fff 	
51 	libGL.so.1.2.0 	libGL.so.1.2.0@0x5d29f 	
52 	libGL.so.1.2.0 	libGL.so.1.2.0@0x19e44 	
53 	libxul.so 	mozilla::gl::GLContext::DeleteOffscreenFBOs 	gfx/gl/GLContext.h:3161
54 	libGL.so.1.2.0 	libGL.so.1.2.0@0x19f12 	
55 	libxul.so 	mozilla::gl::GLContextGLX::~GLContextGLX 	gfx/gl/GLContextProviderGLX.cpp:516
56 	libxul.so 	mozilla::gl::GLContextGLX::~GLContextGLX 	gfx/gl/GLContextProviderGLX.cpp:811
57 	libxul.so 	mozilla::gl::GLContextGLX::~GLContextGLX 	gfx/gl/GLContextProviderGLX.cpp:828
58 	libxul.so 	mozilla::gl::GLContextGLX::~GLContextGLX 	gfx/gl/GLContextProviderGLX.cpp:811
59 	libxul.so 	mozilla::gl::GLContext::Release 	GLContext.h:509
60 	libxul.so 	mozilla::gl::GLContextProviderGLX::Shutdown 	nsAutoPtr.h:932
61 	libxul.so 	mozilla::Preferences::RemoveObservers 	modules/libpref/src/Preferences.cpp:1432
62 	libxul.so 	mozilla::gl::GLContextProviderGLX::Shutdown 	gfx/gl/GLContextProviderGLX.cpp:1410
63 	libxul.so 	gfxPlatform::Shutdown 	gfx/thebes/gfxPlatform.cpp:397
64 	libxul.so 	gfxPlatform::Shutdown 	gfx/thebes/gfxPlatform.cpp:363
...

More reports at:
https://crash-stats.mozilla.com/report/list?signature=nouveau_dri.so%400xd90df
https://crash-stats.mozilla.com/report/list?signature=nouveau_dri.so%400x107521
Benoit, any chance this is related to bug 659842, comment 87 check-in where we now proceed with the xDestroyContext call even if xMakeCurrent call fails? In the debug, if xMakeCurrent fails, we'd never call xDestroyContext, but in optimized, we would.  Just checking.
Flags: needinfo?(bjacob)
With combined signatures, it's #2 top browser crasher in 19.0.

More reports at:
https://crash-stats.mozilla.com/query/query?query_search=signature&query_type=contains&query=nouveau_dri.so&do_query=1
Crash Signature: [@ nouveau_dri.so@0xd90df] [@ nouveau_dri.so@0x107521] → [@ nouveau_dri.so@0xd90df ] [@ nouveau_dri.so@0xd2551 ] [@ nouveau_dri.so@0x107521 ] [@ nouveau_dri.so@0xc4a1f ] [@ nouveau_dri.so@0x101ce1 ] [@ nouveau_dri.so@0xd74c0 ] [@ nouveau_dri.so@0xd25e1 ]
Summary: crash in mozilla::gl::GLContextGLX::~GLContextGLX @ nouveau_dri → crash in mozilla::gl::GLContextGLX::~GLContextGLX @ nouveau_dri with Gallium 0.4 - 2.<n> Mesa 9.0.<m>
Version: 17 Branch → Trunk
Sorry about the long delay replying.
The stack points to glDeleteRenderbuffers which can't crash in a sane GL, therefore this has got to be a driver bug, specifically a Mesa bug (or Mesa DRI driver bug).
This needs to be reported to Mesa developers at bugs.freedesktop.org. Another useful thing to do would be to check (from AppNotes in crash reports) which mesa drivers and versions are involved here.

To answer specifically Milan's question: the stacks here point to glDeleteRenderbuffers, not glxDestroyContext, right?
Flags: needinfo?(bjacob)
Assuming it's a driver bug, assigning to Benoit so that we follow up once Mesa stuff is fixed.
Assignee: nobody → bjacob
Crash Signature: [@ nouveau_dri.so@0xd90df ] [@ nouveau_dri.so@0xd2551 ] [@ nouveau_dri.so@0x107521 ] [@ nouveau_dri.so@0xc4a1f ] [@ nouveau_dri.so@0x101ce1 ] [@ nouveau_dri.so@0xd74c0 ] [@ nouveau_dri.so@0xd25e1 ] → [@ nouveau_dri.so@0xd90df ] [@ nouveau_dri.so@0xd2551 ] [@ nouveau_dri.so@0x107521 ] [@ nouveau_dri.so@0xc4a1f ] [@ nouveau_dri.so@0x101ce1 ] [@ nouveau_dri.so@0xd74c0 ] [@ nouveau_dri.so@0xd25e1 ] [@ nouveau_dri.so@0xc4a25 ] [@ nouveau_dri.so@0xf…
It happens also with Mesa 9.1.1: https://crash-stats.mozilla.com/report/list?signature=nouveau_dri.so%400x111971
Crash Signature: nouveau_dri.so@0xff67e ] [@ nouveau_dri.so@0x42c3df ] → nouveau_dri.so@0xff67e ] [@ nouveau_dri.so@0x42c3df ] [@ nouveau_dri.so@0x111971 ]
Summary: crash in mozilla::gl::GLContextGLX::~GLContextGLX @ nouveau_dri with Gallium 0.4 - 2.<n> Mesa 9.0.<m> → crash in mozilla::gl::GLContextGLX::~GLContextGLX @ nouveau_dri with Gallium 0.4 - 2.<n> Mesa 9.<m>
Crash Signature: nouveau_dri.so@0xff67e ] [@ nouveau_dri.so@0x42c3df ] [@ nouveau_dri.so@0x111971 ] → nouveau_dri.so@0xff67e ] [@ nouveau_dri.so@0x42c3df ] [@ nouveau_dri.so@0x111971 ] [@ nouveau_dri.so@0xff6ae ]
We have a user that can reproduce it. Do you want some additional investigations?
Flags: needinfo?(bjacob)
Yes, please ask them to run WebGL conformance tests:

https://www.khronos.org/registry/webgl/conformance-suites/1.0.2/webgl-conformance-tests.html

then 'display text summary'. I'd like to look at the results on an affected machine.
Flags: needinfo?(bjacob)
Flags: needinfo?(brashley46)
Since turning off hardware acceleration I have not had the problem.
Flags: needinfo?(brashley46)
Or is hardware acceleration what I mean? Whatever.
Please can you turn on HW acceleration and run WebGL conformance tests in comment 9?
Flags: needinfo?(scoobidiver)
Okay: I just did that, and it crashed my machine. NOT going to try that again, thank you very much.
Flags: needinfo?(scoobidiver)
Wow, glad that I found this bug report. Have the same problem. When I use Firefox for some time and then want to quit the program, then Firefox crashes with a chance of about 80%. According to the crash dump it's related to nouveau_dri.so

Any information I can provide that you don't already have?
(I know it's not a Firefox problem. I'm answering here because this is the only bug report I've found.)

Had this problem on Fedora 18 (32 bit) and now - on same hardware - with Fedora 19 (64 bit).
Still some crashes remaining, but no longer a topcrash on Beta/Release. Triage believes this may have been fixed by a driver change.
Keywords: topcrash
This is still being discussed in https://bugs.freedesktop.org/show_bug.cgi?id=81680
I'm not sure if the workaround which landed in https://bugs.freedesktop.org/show_bug.cgi?id=81680 resolved this as there are still signatures showing up (these could be a different bug though). So far we have 2 reports in 48 and 53 reports in 49 Beta.
Whiteboard: [gfx-noted]
Version: Trunk → 17 Branch
I encountered more than 10 times a crash which has the crash signature similar with ones mentioned in this bug on Firefox 52.0a1 (2016-10-05/06) under Ubuntu 12.04 64-bit. It constantly crashes when checking for updates: Panel Menu -> Open Help Menu -> About Firefox (and the windows content seems to be incorrectly displayed http://screencast.com/t/b5piDnN0pSB)

Crash reports:
bp-36a228fe-7fe4-4ff2-b293-7b3482161006
bp-9f0c0746-2c50-4601-bfce-6561c2161006
bp-160e4f20-927b-47aa-85ae-218f82161006
bp-f7e9e244-8d7f-4c46-b6fb-cae4d2161006
I'm assuming you're only seeing this crash in nightly, and it's tied to acceleration being enabled.
Depends on: ogl-linux-beta
(In reply to Vasilica Mihasca, QA [:vasilica_mihasca] from comment #18)
> I encountered more than 10 times a crash which has the crash signature
> similar with ones mentioned in this bug on Firefox 52.0a1 (2016-10-05/06)
> under Ubuntu 12.04 64-bit. 

Which according to your reports only has 10.1.3

Which for as much backports, afaiu lacks the fix
https://github.com/mesa3d/mesa/commit/833d698ad5d7dc7598b798653e1413f4379ec476

*Possibly*, something similar also explains what was still seen in late 2016 in comment 17
Up. 
Is this still seen anywhere?

Also, why is this blocked *by* bug 594876, rather than blocking it?

Previous "OpenGL" compositing (bug 594876) is now being replaced by WebRender.
On Nightly, WebRender is already enabled by default for modern Intel and AMD with Mesa 18.2 or newer with screens smaller than 4K.
Nightly 69 introduces a GPU process for Linux to prevent crashing the whole browser in case of problems.
If you want to try it out with Nvidia, please open about:config, set gfx.webrender.all to true to force-enable WebRender and restart Nightly.
Open about:support and check if "Compositing" says "WebRender". Your graphics card must support at least OpenGL 3.1.

If you encounter such a driver crash with WebRender, please file a new bug. Open about:support, click on "Copy text to clipboard", paste it into a text file and attach it to the report. Thanks!

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.