blender-bin crashed with SIGSEGV in GPU_state_init()

Bug #446632 reported by Olle Hints on 2009-10-08
100
This bug affects 15 people
Affects Status Importance Assigned to Milestone
Mesa
Fix Released
Medium
mesa (Ubuntu)
Medium
Unassigned

Bug Description

Binary package hint: blender

Description: Ubuntu karmic (development branch)
Release: 9.10
---
blender:
  Installed: 2.49a+dfsg-0ubuntu2
  Candidate: 2.49a+dfsg-0ubuntu2
  Version table:
 *** 2.49a+dfsg-0ubuntu2 0
        500 http://archive.ubuntu.com karmic/universe Packages
        100 /var/lib/dpkg/status
---
blender crashes when trying to start the program

ProblemType: Crash
Architecture: i386
CheckboxSubmission: 65004fc7e0752e805e7e102b2e41173a
CheckboxSystem: 0e752440aa26e80e9a85e2a4a4e041ff
Date: Thu Oct 8 22:23:38 2009
DistroRelease: Ubuntu 9.10
ExecutablePath: /usr/bin/blender-bin
Package: blender 2.49a+dfsg-0ubuntu2
ProcCmdline: blender-bin -w
ProcEnviron:
 LANGUAGE=en_GB.UTF-8
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-12.41-generic
SegvAnalysis:
 Segfault happened at: 0x6b3f8d: mov (%ecx),%eax
 PC (0x006b3f8d) ok
 source "(%ecx)" (0x22222222) not located in a known VMA region (needed readable region)!
 destination "%eax" ok
SegvReason: reading unknown VMA
Signal: 11
SourcePackage: blender
StacktraceTop:
 ?? () from /lib/ld-linux.so.2
 ?? () from /lib/ld-linux.so.2
 ?? () from /lib/ld-linux.so.2
 GPU_state_init ()
 BIF_init ()
Title: blender-bin crashed with SIGSEGV in GPU_state_init()
Uname: Linux 2.6.31-12-generic i686
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare
XsessionErrors:
 (gnome-settings-daemon:1905): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (gnome-settings-daemon:1905): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (nautilus:1938): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed
 (polkit-gnome-authentication-agent-1:1943): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
 (gnome-panel:1937): Gdk-WARNING **: /build/buildd/gtk+2.0-2.18.2/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window

Olle Hints (olle-hints) wrote :

StacktraceTop:_dl_lookup_symbol_x (undef_name=0x80ead77 "",
_dl_fixup (l=<value optimized out>,
_dl_runtime_resolve () at ../sysdeps/i386/dl-trampoline.S:37
GPU_state_init ()
BIF_init () at source/blender/src/usiblender.c:1091

Changed in blender (Ubuntu):
importance: Undecided → Medium
tags: removed: need-i386-retrace
Geir Ove Myhr (gomyhr) on 2009-10-10
visibility: private → public
diamond (3diamondsional) wrote :

Some additional information:
I have compiz disabled, but compiz works. glxgears also works.
When I start Blender I only see the window decoration. After some seconds it crashes.
My graphics card is a Radeon 9200 SE.

Sami Pelkonen (sami-s-pelkonen) wrote :

Same crash here on T41 laptop with ATI Radeon Mobility 9000 (M9) Lf (AGP). Compiz disabled and glxgears also works.
In Jaunty everything worked ok. I have tried following versions with same results: official 32bit releases of 2.48a, 2.49, 2.49a and Ubuntu version.

Compiled Blender SVN version (24195) with debugging and it produces following backtrace in gdb:
Program received signal SIGSEGV, Segmentation fault.
0x00dfff8d in ?? () from /lib/ld-linux.so.2
(gdb) bt
#0 0x00dfff8d in ?? () from /lib/ld-linux.so.2
#1 0x00e04326 in ?? () from /lib/ld-linux.so.2
#2 0x00e09fc0 in ?? () from /lib/ld-linux.so.2
#3 0x08713e75 in GPU_state_init () at source/blender/gpu/intern/gpu_draw.c:1298
#4 0x083e150a in wm_window_add_ghostwindow (wm=0xa0f01a8, title=0x93fd0c7 "Blender",
    win=0xa0f0278) at source/blender/windowmanager/intern/wm_window.c:332
#5 0x083e15df in wm_window_add_ghostwindows (wm=0xa0f01a8)
    at source/blender/windowmanager/intern/wm_window.c:371
#6 0x083e096e in wm_check (C=0x9dfbb78) at source/blender/windowmanager/intern/wm.c:218
#7 0x083df566 in WM_read_homefile (C=0x9dfbb78, op=0x0)
    at source/blender/windowmanager/intern/wm_files.c:325
#8 0x083ea58f in WM_init (C=0x9dfbb78) at source/blender/windowmanager/intern/wm_init_exit.c:130
#9 0x083ddd7b in main (argc=1, argv=0xbffff4e4) at source/creator/creator.c:498

gpu_draw.c:1298 line contains following call:
glMatrixMode(GL_TEXTURE);

This seems to point that something has changed in Mesa packages?

ementos (ementos) wrote :

I have Radeon 9200 and I have the same problem :/
So in console not much to see:

jozio@ementos-desktop:~$ blender
Compiled with Python version 2.5.4.
Checking for installed Python... got it!
Segmentation fault

Bruno Girin (brunogirin) wrote :

Same problem on a ThinkPad T42. Blender worked perfectly well in Jaunty but doesn't work in Karmic anymore. I've tried with Compiz enabled and disabled.

Changed in blender (Ubuntu):
status: New → Confirmed
Geir Ove Myhr (gomyhr) wrote :

It seems that everyone with this bug has an ATI graphics card, so this may be a problem with the ATI-specific part of mesa. You may test with xorg-edgers (https://launchpad.net/~xorg-edgers/+archive/ppa), since that has the newest development version of mesa. Xorg-edgers on Jaunty has the same mesa version, so if this is the problem and it is still present with Karmic with xorg-edgers, it should also be a problem with Jaunty with xorg-edgers.

Also, at https://launchpad.net/ubuntu/karmic/+source/mesa there is a list of mesa versions that was published during the karmic release cycle. It seems there are still debs available for download. The source package mesa builds many binary packages, so there are a quite a few debs that has to be installed for each version. Another option is to build the source package (something like dpkg-source -x mesa-xyz.dsc; cd mesa-xyz; debuild -b -us -uc; cd ..; dpkg -i -O *.deb). If downgrading mesa helps, we know that mesa is the problem.

mistr (mstrecke) wrote :

I Installed the xorg-edgers pakets. No luck with blender. Still segfaulting.

The onboard graphics card is a: ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500]

Is there a simple way to confirm which driver version is currently running?

mistr (mstrecke) wrote :

I can confirm that downgrading helps.

I installed the following packages from the very first karmic versions of mesa, skipping the binaries from the mesa packages that were not already installed on my system:

libgl1-mesa-dri_7.4-0ubuntu3_i386.deb
libgl1-mesa-glx_7.4-0ubuntu3_i386.deb
libgl1-mesa-glx-dbg_7.4-0ubuntu3_i386.deb
libglu1-mesa_7.4-0ubuntu3_i386.deb
mesa-utils_7.4-0ubuntu3_i386.deb

I now have a very nice pattern if the notifier pops up, and the window decoration looks a bit strange, too. Redrawing of damaged areas is also a bit slow. But Blender does not crash!

The next task would be to find the version that makes Blender crash.

mistr (mstrecke) wrote :

"Another" blender version

mistr (mstrecke) wrote :

Some "sudo restart gdm" later.....

The latest version of mesa that Blender can run under is: 7.6.0~git20090817.7c422387-0ubuntu8
Window decoration looks ok now; still problems with notifier pop-ups.

Starting from 7.6.0-1ubuntu1 the segfault occurs.

Geir Ove Myhr (gomyhr) wrote :

mistr, thank you for doing a great job in isolating which package update introduced the problem. I should also thank Sami for figuring out what OpenGL call causes the crash. It is interesting that it was the mesa upgrade from the git snapshot to the stable version that introduced it. It was done fairly late in the release cycle with the justification that it would fix many bugs and hopefully not introduce new ones. You may read about this in the ubuntu-x mail archive at https://lists.ubuntu.com/archives/ubuntu-x/2009-October/thread.html . I guess I should have suspected that this bug was related since it was reported shortly after 7.6.0 hit the Karmic repositories.

This bug report should now have enough information to pass on to upstream. I'm not quite sure of which component of Mesa to use, since some who has commented here probably use the r200 driver (8500-9200), and some the radeon driver (up to 7500). The component should be either Drivers/DRI/r200 or Drivers/DRI/Radeon.

It would still be incredibly useful to have a full git-bisect to find out exactly which commit is triggering the crash. I think there are a couple of hundred commits between 2009-08-17 and the release of mesa 7.6.0 which should translate to 8-9 rounds of git-bisect. There is some information for how to do this at https://wiki.ubuntu.com/X/Bisecting .

Geir Ove Myhr (gomyhr) wrote :

Changed source package from blender to mesa.

affects: blender (Ubuntu) → mesa (Ubuntu)
Geir Ove Myhr (gomyhr) wrote :

mistr, could you run `apport-collect 446632 ` from the computer where this problem occurs. This will upload various mesa related logs and information about your system that we need for reporting this upstream. It would be best if you could do this when running xorg-edgers, since that will show logs generated with the latest development version of mesa.

Architecture: i386
DistroRelease: Ubuntu 9.10
Lsusb:
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: Compaq Evo N610c (DD502A#AK8)
Package: mesa (not installed)
PccardctlIdent:
 Socket 0:
   no product info available
 Socket 1:
   no product info available
PccardctlStatus:
 Socket 0:
   3.3V 32-bit PC Card
 Socket 1:
   no card
ProcCmdLine: root=UUID=394fbc0f-c812-4c3b-b10a-445391ec9917 ro quiet splash
ProcEnviron:
 SHELL=/bin/bash
 LANG=de_DE.UTF-8
ProcVersionSignature: Ubuntu 2.6.31-15.50-generic
RelatedPackageVersions:
 xserver-xorg 1:7.4+3ubuntu7
 libgl1-mesa-glx 7.7.0~git20091128+mesa-7-7-branch.e5159996-0ubuntu0tormod
 libdrm2 2.4.15+git20091125.6f66de98-0ubuntu0tormod~karmic
 xserver-xorg-video-intel 2:2.9.0+git20091125.917f9bb2-0ubuntu0tormod~karmic
 xserver-xorg-video-ati 1:6.12.99+git20091127.a8dbf7c2-0ubuntu0tormod~karmic
Uname: Linux 2.6.31-15-generic i686
UserGroups: adm admin cdrom dialout dip lpadmin plugdev sambashare
XsessionErrors:
 (gnome-settings-daemon:2250): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (gnome-settings-daemon:2250): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (nautilus:2283): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed
 (polkit-gnome-authentication-agent-1:2314): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
dmi.bios.date: 05/24/2003
dmi.bios.vendor: Compaq
dmi.bios.version: 68P4F v2.49 F.14
dmi.board.name: 07F4
dmi.board.vendor: Compaq
dmi.board.version: KBC Version .
dmi.chassis.asset.tag: CNU33406WF
dmi.chassis.type: 10
dmi.chassis.vendor: Compaq
dmi.modalias: dmi:bvnCompaq:bvr68P4Fv2.49F.14:bd05/24/2003:svnCompaq:pnEvoN610c(DD502A#AK8):pvr:rvnCompaq:rn07F4:rvrKBCVersion.:cvnCompaq:ct10:cvr:
dmi.product.name: Evo N610c (DD502A#AK8)
dmi.sys.vendor: Compaq
fglrx: Not loaded
system:
 distro: Ubuntu
 architecture: i686kernel: 2.6.31-15-generic

mistr (mstrecke) wrote : Lspci.txt
mistr (mstrecke) wrote : UdevDb.txt
mistr (mstrecke) wrote : UdevLog.txt
mistr (mstrecke) wrote : XorgLog.txt
mistr (mstrecke) wrote : Xrandr.txt
mistr (mstrecke) wrote : glxinfo.txt
mistr (mstrecke) wrote : xkbcomp.txt
tags: added: apport-collected
Download full text (3.3 KiB)

Reporting on behalf of ubuntu user mistr, based on comments on Launchpad bug:
https://bugs.launchpad.net/bugs/446632

[Summary]
Blender crashes in GPU_state_init() on startup on a computer with Radeon Mobility 7500. The same is reported on Radeon Mobility 9000 (M9) and Radeon 9200 by other users. The crash is on line 1298 in recent blender SVN, which contains the call:
glMatrixMode(GL_TEXTURE);

[How to reproduce]
Start blender. Crash reported on official 32bit releases of 2.48a, 2.49, 2.49a, Ubuntu version (2.49a), 2.50 alpha0 and SVN 24195.

A[ffected mesa versions]
Crashes with mesa 7.6.0 which is currently in Ubuntu Karmic, and also with 7.7.0~git20091125+mesa-7-7-branch.7fac8ce7-0ubuntu0tormod from the ubuntu xorg-edgers repository. Downgrading to the git snapshot 7.6.0~git20090817.7c422387 that Ubuntu carried until 7.6.0 was released stops the crashes. mistr has said he is willing to git-bisect between 7.6.0~git20090817.7c422387 and 7.6.0, but he has not done it before and needs to figure out the details for how to do it in practice.

[Chipset]
01:00.0 VGA compatible controller [0300]: ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500] [1002:4c57]
 Subsystem: Compaq Computer Corporation Device [0e11:00b7]

[Other system information]
Architecture: i386
DistroRelease: Ubuntu 9.10
Lsusb:
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: Compaq Evo N610c (DD502A#AK8)
Package: mesa (not installed)
PccardctlIdent:
 Socket 0:
   no product info available
 Socket 1:
   no product info available
PccardctlStatus:
 Socket 0:
   3.3V 32-bit PC Card
 Socket 1:
   no card
ProcCmdLine: root=UUID=394fbc0f-c812-4c3b-b10a-445391ec9917 ro quiet splash
ProcEnviron:
 SHELL=/bin/bash
 LANG=de_DE.UTF-8
ProcVersionSignature: Ubuntu 2.6.31-15.50-generic
RelatedPackageVersions:
 xserver-xorg 1:7.4+3ubuntu7
 libgl1-mesa-glx 7.7.0~git20091128+mesa-7-7-branch.e5159996-0ubuntu0tormod
 libdrm2 2.4.15+git20091125.6f66de98-0ubuntu0tormod~karmic
 xserver-xorg-video-intel 2:2.9.0+git20091125.917f9bb2-0ubuntu0tormod~karmic
 xserver-xorg-video-ati 1:6.12.99+git20091127.a8dbf7c2-0ubuntu0tormod~karmic
Uname: Linux 2.6.31-15-generic i686
UserGroups: adm admin cdrom dialout dip lpadmin plugdev sambashare
XsessionErrors:
 (gnome-settings-daemon:2250): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (gnome-settings-daemon:2250): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (nautilus:2283): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed
 (polkit-gnome-authentication-agent-1:2314): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
dmi.bios.date: 05/24/2003
dmi.bios.vendor: Compaq
dmi.bios.version: 68P4F v2.49 F.14
dmi.board.name: 07F4
dmi.board.vendor: Compaq
dmi.board.version: KBC Version .
dmi.chassis.asset.tag: CNU33406WF
dmi.chassis.type: 10
dmi.chassis.vendor: Compaq
dmi.modalias: dmi:bvnCompaq:bvr68P4Fv2.49F.14:bd05/24/2003:svnCompaq:pnEvoN610c(DD502A#AK8):pvr:rvnCompaq:rn07F4:rvrKBCV...

Read more...

Created an attachment (id=31568)
Xorg.0.log

Created an attachment (id=31569)
lspci -vvnn

Created an attachment (id=31570)
glxinfo.txt

Here is a backtrace obtained by Sami Pelkonen on T41 laptop with ATI Radeon Mobility 9000 (M9) Lf (AGP). Compiz disabled and glxgears also works.
Compiled Blender SVN version (24195) with debugging and it produces following backtrace in gdb:
Program received signal SIGSEGV, Segmentation fault.
0x00dfff8d in ?? () from /lib/ld-linux.so.2
(gdb) bt
#0 0x00dfff8d in ?? () from /lib/ld-linux.so.2
#1 0x00e04326 in ?? () from /lib/ld-linux.so.2
#2 0x00e09fc0 in ?? () from /lib/ld-linux.so.2
#3 0x08713e75 in GPU_state_init () at source/blender/gpu/intern/gpu_draw.c:1298
#4 0x083e150a in wm_window_add_ghostwindow (wm=0xa0f01a8, title=0x93fd0c7 "Blender",
    win=0xa0f0278) at source/blender/windowmanager/intern/wm_window.c:332
#5 0x083e15df in wm_window_add_ghostwindows (wm=0xa0f01a8)
    at source/blender/windowmanager/intern/wm_window.c:371
#6 0x083e096e in wm_check (C=0x9dfbb78) at source/blender/windowmanager/intern/wm.c:218
#7 0x083df566 in WM_read_homefile (C=0x9dfbb78, op=0x0)
    at source/blender/windowmanager/intern/wm_files.c:325
#8 0x083ea58f in WM_init (C=0x9dfbb78) at source/blender/windowmanager/intern/wm_init_exit.c:130
#9 0x083ddd7b in main (argc=1, argv=0xbffff4e4) at source/creator/creator.c:498

gpu_draw.c:1298 line contains following call:
glMatrixMode(GL_TEXTURE);

(In reply to comment #4)
> gpu_draw.c:1298 line contains following call:
> glMatrixMode(GL_TEXTURE);

The current SVN version of the file gpu_draw.c is available at
https://svn.blender.org/svnroot/bf-blender/trunk/blender/source/blender/gpu/intern/gpu_draw.c

Geir Ove Myhr (gomyhr) wrote :

mistr, I have reported this upstream at https://bugs.freedesktop.org/show_bug.cgi?id=25354 . Please register at bugs.freedesktop.org and add yourself to the CC: field of the bug in order to receive updates and be able to answer questions from the upstream developers. To be sure that you have the same problem as the other guys here, it would be nice if you could post a backtrace of the crash here (https://wiki.ubuntu.com/Backtrace has some info). My favourite way is to produce a core file by running in a terminal:
ulimit -c unlimited
blender
(the first line enables core files, the default maximum size is 0)
Then you can use instructions in the core-file section on the wiki page.

You other guys, I've focused on mistr's computer upstream since he has been doing the latest testing. Feel free to subscribe to and comment on the upstream report, but remember that the report focuses on mistr's case.

mistr's call trace looks a little different from Sami's, but at least they both crash in GPU_state_init():

Program received signal SIGSEGV, Segmentation fault.
#0 0x001fcf8d in ?? () from /lib/ld-linux.so.2
No symbol table info available.
#1 0x00201326 in ?? () from /lib/ld-linux.so.2
No symbol table info available.
#2 0x00206fc0 in ?? () from /lib/ld-linux.so.2
No symbol table info available.
#3 0x086c3fd7 in GPU_state_init ()
No symbol table info available.
#4 0x081ace76 in BIF_init ()
No symbol table info available.
#5 0x081a7fee in main ()
No symbol table info available.
eax 0x0 0
ecx 0x22222222 572662306
edx 0x80ead77 135179639
ebx 0x20fff4 2162676
esp 0xbfffed18 0xbfffed18
ebp 0xbfffedc4 0xbfffedc4
esi 0xc0f69510 -1057581808
edi 0x0 0
eip 0x1fcf8d 0x1fcf8d
eflags 0x10246 [ PF ZF IF RF ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
0x1fcf8d: mov (%ecx),%eax
0x1fcf8f: test %eax,%eax
0x1fcf91: je 0x1fd5ff
0x1fcf97: lea -0x1c(%ebp),%ecx
0x1fcf9a: mov -0x64(%ebp),%edx
0x1fcf9d: mov %ecx,-0x5c(%ebp)
0x1fcfa0: lea -0x10(%ebp),%ecx
0x1fcfa3: mov 0x8(%ebp),%edi
0x1fcfa6: mov %esi,-0x54(%ebp)
0x1fcfa9: mov -0x60(%ebp),%esi
0x1fcfac: mov %ecx,-0x58(%ebp)
0x1fcfaf: jmp 0x1fcfc7
0x1fcfb1: lea 0x0(%esi,%eiz,1),%esi
0x1fcfb8: add $0x4,%edi
0x1fcfbb: xor %edx,%edx
0x1fcfbd: mov (%edi),%eax

Thread 1 (Thread 0xb7fdd6e0 (LWP 2633)):
#0 0x001fcf8d in ?? () from /lib/ld-linux.so.2
#1 0x00201326 in ?? () from /lib/ld-linux.so.2
#2 0x00206fc0 in ?? () from /lib/ld-linux.so.2
#3 0x086c3fd7 in GPU_state_init ()
#4 0x081ace76 in BIF_init ()
#5 0x081a7fee in main ()
A debugging session is active.

 Inferior 1 [process 2633] will be killed.

Quit anyway? (y or n) [answered Y; input not from terminal]

(In reply to comment #6)
> mistr's call trace looks a little different from Sami's, but at least they both
> crash in GPU_state_init():

Actually, the difference in the call trace is only because they were taken using different versions of blender. Thanks to Sami for pointing that out.

mistr (mstrecke) wrote :

The analysis of the core dump did not look very informative (no symbols). So I let blender-bin crash inside gdb. (The file named blender is a shell script executing blender-bin).

Looks like the same bug to me.

There were new packages from xorg-edgers, today. This analysis was performed using those packages.

Thank you for the backtrace. It is a little bit different from Sami's
in that it is main() -> BIF_init() -> GPU_state_init while Sami's is
through WM_init() and some other wm_ functions. At least both crash in
GPU_state_init().

The backtrace was from Blender SVN (24195) version, so therefore it was bit different.

Geir Ove Myhr (gomyhr) wrote :

Thank you for pointing that out, Sami. mistr's backtrace is indeed the same as the one originally attached to this bug report.

mistr (mstrecke) wrote :

Result of bisecting:

bfbad4fbb7420d3b5e8761c08d197574bfcd44b2 is first bad commit
commit bfbad4fbb7420d3b5e8761c08d197574bfcd44b2
Author: Pauli Nieminen <email address hidden>
Date: Fri Aug 28 04:58:50 2009 +0300

    r100/r200: Share PolygonStripple code.

:040000 040000 1b1f09ef26e217307a5768bb9806072dc50f2a14 eb20bf89c37b2f59ce2c243b361587918d3c9021 M src

"bfbad"... :-)

This one does not segfault, but Blender gives the following output and exists.

Compiled with Python version 2.6.4.
Checking for installed Python... got it!
drmRadeonCmdBuffer: -22

Thanks for Tormod Volden for creating https://wiki.ubuntu.com/X/BisectingMesa

its not perfect, yet - but it helped a lot.

A git-bisection against git://anongit.freedesktop.org/mesa/mesa shows that the problem starts with commit bfbad4fbb7420d3b5e8761c08d197574bfcd44b2.

This one does NOT cause blender to segfault.
gdb reports that the "program exists with code 0352".
Output from Blender on the console: "drmRadeonCmdBuffer: -22".

The next commit in line is 4322181e6a07ecb8891c2d1ada74fd48c996a8fc which makes blender segfault.

mistr (mstrecke) wrote :

I have been told that there is no Ubuntu-Git repository, so the bisection has been done against the mesa upstream repository (http://cgit.freedesktop.org/mesa/mesa / git://anongit.freedesktop.org/mesa/mesa).

As reported earlier the first "bad" commit is the bfbad4fbb7420d3b5e8761c08d197574bfcd44b2 commit.
This one does NOT cause a segfault.
gdb reports that the "program exists with code 0352".
Output from Blender on the console: "drmRadeonCmdBuffer: -22".

The next commit in line is 4322181e6a07ecb8891c2d1ada74fd48c996a8fc which makes blender segfault.

Created an attachment (id=31638)
possible fix for r2xx

Does this patch help for the r2xx cards (9000,9200, etc.)?

Thank you for doing a great job in isolating the problem, mistr. Of
course, with such a commit id, it shouldn't have been necessary to
bisect to find it ;-)

Changed in mesa (Ubuntu):
status: Confirmed → Triaged

(In reply to comment #9)
> Does this patch help for the r2xx cards (9000,9200, etc.)?

I have built the current Ubuntu package (7.6.0 + some patches from 7.6.1) with this patch so that the users with r2xx cards may try it.

Geir Ove Myhr (gomyhr) wrote :

There is a proposed patch upstream for those on r2xx graphics cards (9000, 9200, etc.) I have built mesa with this patch in my PPA (https://launchpad.net/~gomyhr/+archive/standard/). The easiest way is probably to add the PPA to /etc/apt/sources.list, since the source package mesa builds several binary packages, and you would want to upgrade all, but not install any that you don't already have. (Alternatively, you may download all the binary packages for your architecture to a folder and `dpkg -i -O *.deb`).

It would be nice if those of you who have r2xx chipsets could test the build and see if it fixes the problem (and if it doesn't maybe get a new backtrace, since it may be a different issue masked by the first one).

Myhr, after applying your mesa builds, the problem seems to be cleared up. Blender runs, but I still get some odd flickering and hard system freezes when minimizing or switching desktops. I'm pretty sure that's unrelated though. Interestingly, this also fixed wings3d, another 3d modeling program, which was having similar issues.

Changed in mesa:
status: Unknown → Confirmed
mistr (mstrecke) wrote :

No luck here. This patch is for r200 only. My laptop uses the radeon driver.

(In reply to comment #9)
> Created an attachment (id=31638) [details]
> possible fix for r2xx
>
> Does this patch help for the r2xx cards (9000,9200, etc.)?
>

There is positive feedback in the Ubuntu bugtracker.

On my laptop however (the one that provided above logs) however, nothing has changed, because it uses the radeon driver.

Pushed the r200 fix to 7.6 branch:
2b5618fc5bdcbee3434f8b5aa3a31eb06fb479c0

I assume the bisection in comment 8 applies to r1xx as well?

(In reply to comment #12)
> Pushed the r200 fix to 7.6 branch:
> 2b5618fc5bdcbee3434f8b5aa3a31eb06fb479c0
>
> I assume the bisection in comment 8 applies to r1xx as well?
>

The laptop that I did the bisection on uses the "radeon" driver. That's at least what "driinfo drivers 0" tells me.

In the source tree is a subdirectory named "radeon" as well as "r200", "r300", ...

If I point LIBGL_DRIVERS_PATH to something other than "radeon" (~/mesa/src/mesa/drivers/dri/radeon") the machine crashes when I start Blender.

The patch only touched the "r200" subdir.

(In reply to comment #12)
> I assume the bisection in comment 8 applies to r1xx as well?

Yes, it was only done on r1xx, actually. Michael (mistr) has a ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500].

Created an attachment (id=31709)
possible fix for r1xx

Does this patch help on r1xx?

(In reply to comment #15)
> Created an attachment (id=31709) [details]
> possible fix for r1xx
>
> Does this patch help on r1xx?
>

Yes. Thank you.

Geir Ove Myhr (gomyhr) wrote :

mistr, there is now a patch for r1xx on the upstream bug report. I assume that after doing the bisecting you're familiar enough with building and testing mesa that you don't need me to build a package with the patch(?)

fix pushed:
8d8fd9776e23a34e0d22e489ce1f85eb5e383121

mistr (mstrecke) wrote :

I applied both patches against upstream version "mesa_7_6".

Blender seems to work fine now.
Yeah!

Geir Ove Myhr (gomyhr) wrote :

Thank you everybody for doing a great job in troubleshooting this bug. Especially to mistr for doing the git-bisect. The fixes have now been pushed to mesa_7_6_branch upstream and should end up in mesa 7.6.1 and newer. This means that it should automatically find its way into Lucid.

I think there is a chance that we can get the patches into Karmic as well. I'll have to look at the SRU procedures again (https://wiki.ubuntu.com/StableReleaseUpdates). The upstream patches are:
r200:
http://cgit.freedesktop.org/mesa/mesa/commit/?h=mesa_7_6_branch&id=2b5618fc5bdcbee3434f8b5aa3a31eb06fb479c0
radeon:
http://cgit.freedesktop.org/mesa/mesa/commit/?h=mesa_7_6_branch&id=8d8fd9776e23a34e0d22e489ce1f85eb5e383121

Otherwise, we can probably put updated packages in a PPA. Actually, it seems that Tormod Volden is already tracking mesa_7_6_branch in the x-updates PPA: https://launchpad.net/~ubuntu-x-swat/+archive/x-updates . The r200 fix should be there already, and the radeon fix will be there in the next build.

Changed in mesa:
status: Confirmed → Fix Released

*** Bug 25721 has been marked as a duplicate of this bug. ***

I've managed to reproduce this bug, and done a workaround. I am using an ATI Mobility Radeon 9000 card, and essentially, you have to disable "DRI" for the "radeon" driver.

My hardware:
- Dell Inspiron 600m laptop
- Processor Pentium M 725 1.60GHz Processor, 2MB L2-Cache
- RAM 768MB
- Graphics card ATI Mobility RADEON 9000 AGP 4X video graphics at 32MB

My OS and drivers:
- Distro Kubuntu Linux 9.10 "Karmic Koala"
- Kernel 2.6.31-16-generic
- libgl1-mesa drivers (from official repositories as I don't know where to download and compile):
  - libgl1-mesa-dri - 7.6.0-1ubuntu4(i386)
  - libgl1-mesa-glx - 7.6.0-1ubuntu4(i386)

Blender versions tried (downloaded from Blender site):
- Blender v2.49b
- Blender v2.5-alpha0

How to workaround this bug:
1. Put the attached xorg.conf as /etc/X11/xorg.conf. Actually the only effective line is the one that changes "DRI" to "false".
2. Restart X or reboot.
3. Run blender (it worked for both the versions I tried).
4. With DRI off, you may notice that windows are not drawn correctly, graphics are a little slower, etc. But Blender works.

I installed the mesa drivers from Ubuntu-X Updates PPA at https://launchpad.net/~ubuntu-x-swat/+archive/x-updates as recommended by Geir Ove Myhr on post #47. My mesa drivers have been updated to version 7.6.1~git20091217.20ee2759-0ubuntu0~xup~1(i386)

After updating, I have removed the line for "DRI" in /etc/X11/xorg.conf, thus allowing "DRI" to be set to the default value of "true".

I confirm that with the new drivers, Blender works for v2.49b and v2.5-alpha0.

However, 3D programs such as "dreamchess", "pouetChess" and "extremetuxracer" are still not able to work. But I guess those are bugs for another day...

Thanks all for your help.

I also installed mesa drivers (same version as above) from x-swat at https://launchpad.net/~ubuntu-x-swat/+archive/x-updates.
My hardware is Thinkpad T41 with ATI Radeon Mobility 9000 (M9) Lf (AGP) chipset 32MB.

With new drivers, Blender v2.49b works, but version 2.5-alpha0 still segfaults after producing following error:
[driAllocateTexture:635] unable to allocate texture

This is odd, since the graphics card seems to be the same as above.

Also tried to take a backtrace with gdb, but this time it freezed my computer entirely.. :(

Hi Sami,

On further testing of the configuration in post #49, I have found instabilities in both Blender v2.49b and v2.5-alpha0.

Both versions startup fine. v2.49b seems to run a little smoother than v2.5-alpha0. v2.5-alpha0 is quite laggy for example when panning around in the 3D-view. However if you do something like unmaximising the Blender window (so it's not maximised), then grabbing the title bar and moving the window around left and right, the whole system will hang and you will have to do a hard reboot.

Using gdb to run program results in the system hanging as well. Hence I was not able to see any error messages, and had to reboot.

On a karmic with

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE]

putting the "buntubunny" xorg on my xorg.conf file stopping the blender starting segfault and make it works.

Hth

Geir Ove Myhr (gomyhr) wrote :

The fix for this bug should now be included in Lucid, so I'm closing this bug report.

For the other crashes you are experiencing with blender 2.5, this bug report should serve as a model for a new bug report. mistr has written up how to git-bisect mesa in order to find the bad commit at [1] . Our experience with this bug is that once the triggering commit is found, upstream can fix it quickly. Of course it is possible that the crashes with 2.5 are not due to mesa but an ati driver or something else, but that should be clear from the full backtrace.

The hangs you are experiencing may be a GPU freeze (see [2]) or a kernel problem. Also in this case, a bisect is usually what is needed to resolve the problem (but possibly of the linux kernel or the ati driver). This should also be reported in a new bug report.

[1]: http://tuxpool.blogspot.com/2009/12/bisecting-mesa-bug-446632.html
[2]: https://wiki.ubuntu.com/X/Troubleshooting/Freeze

Changed in mesa (Ubuntu):
status: Triaged → Fix Released
Bruno Girin (brunogirin) wrote :

Geir, would there be any way to backport this fix to Karmic? Should I open a new bug against karmic-backports for this?

ementos (ementos) wrote :

Now blender work, but first very slow, and second it's not stabily
When I want to select color I got this:

jozio@ementos-desktop:~$ blender
Compiled with Python version 2.6.4.
Checking for installed Python... got it!
blender-bin: ../../../libdrm/radeon/radeon_cs_gem.c:121: cs_gem_write_reloc: Assertion `bo->space_accounted' failed.
Aborted

I have Radeon 9200. In xorg.conf I have:

Section "Device"
 Identifier "Radeon 9200"
 Driver "ati"
 Option "AGPSize" "64"
EndSection
unless I have it, I'm not able to run blender

Changed in mesa:
importance: Unknown → Medium
Changed in mesa:
importance: Medium → Unknown
Changed in mesa:
importance: Unknown → Medium
To post a comment you must log in.