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: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
Created attachment 31568 [details] Xorg.0.log
Created attachment 31569 [details] lspci -vvnn
Created attachment 31570 [details] 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
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.
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.
Created attachment 31638 [details] [review] possible fix for r2xx Does this patch help for the r2xx cards (9000,9200, etc.)?
(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.
(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 attachment 31709 [details] [review] 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.
fix pushed: 8d8fd9776e23a34e0d22e489ce1f85eb5e383121
*** Bug 25721 has been marked as a duplicate of this bug. ***
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.