Bug 63051

Summary: Displist with multiple OpenGL contexts crashes.
Product: Mesa Reporter: Campbell Barton <ideasman42>
Component: Drivers/DRI/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium    
Version: 9.1   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: open this file in blender2.66a, Press '1' key, to crash.

Description Campbell Barton 2013-04-03 01:50:53 UTC
Created attachment 77349 [details]
open this file in blender2.66a, Press '1' key, to crash.

This is a bug we had reported in blender (3d modeling application).
But which I tracked down to being a crash in:
/usr/lib/xorg/modules/dri/nouveau_dri.so

The crash is caused by calling glCallList() when there are multiple windows sharing the same opengl context.

(single window doesn't crash for example and removing use of display-lists in the code also works).

I did some more tests and using Mesa-SoftwareGL doesn't crash, using NVidia closed-source drivers.

Attached blend file to reproduce the crash, just run...

./blender displist_crash.blend

... then press ONE-Key, over either of the windows to see crash.
If you close a window before pressing ONE, it works without crashing.
Comment 1 Ilia Mirkin 2014-02-05 08:21:19 UTC
What hardware are you on? It looks like you were using mesa-9.1 -- can you try 10.0.x? I'm looking at installing blender, but it seems like Gentoo has gone out of their way to make it a giant pain by requiring python3.3 for everything.

Can you get a backtrace, preferably with debug symbols?
Comment 2 Ilia Mirkin 2015-10-23 07:26:04 UTC
Unable to repro with Blender 2.72 and Mesa 11.0.3 on either GF108 or GT215. I'm guessing it got fixed in the intervening years.
Comment 3 Campbell Barton 2015-10-23 08:11:30 UTC
Confirm this is fixed,

renderer:	'Gallium 0.4 on NVC3'
vendor:		'nouveau'
version:	'3.0 Mesa 11.0.3'

(tested with Blender 2.76).

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.