Summary: | The r300 driver causes a SIGSEV while running nexuiz. | ||
---|---|---|---|
Product: | Mesa | Reporter: | WolfgangKoebler <wk-list> |
Component: | Drivers/DRI/r300 | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | high | CC: | cyril.brulebois, gnarlin |
Version: | git | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | Backtrace with mesa 6.5.3rc4 |
Description
WolfgangKoebler
2006-11-27 07:58:24 UTC
Hint: One can avoid the crash by setting all graphics details from default to low. Does this still happen? You might want to provide a little more information; what is enabled or disabled with the settings "high" and "low"? Make sure you test with the latest code from Git. Here are additional infos about the bug: 0. I have not (yet) tried current mesa git. 1. I upgraded my debian mesa to experimental, which has version 6.5.2-3, including libgl1-mesa-dri-dbg 2. I reproduced the bug with the new versions 3. I included info about nexuiz config 4. I included info about how I ran gdb 5. I included the gdb output, including full backtrace I hope it helps (and you do not get lost in the 400-something lines). ========================================================================== about 1. -------------------------------------------------------------------------- $ dpkg -l \*mesa\* libdrm2 \*nexuiz\* xserver-xorg|grep ^ii ii libdrm2 2.3.0-1 Userspace interface to kernel ii libgl1-mesa-dev 6.5.2-3 A free implementation of the ii libgl1-mesa-dri 6.5.2-3 A free implementation of the ii libgl1-mesa-dri-dbg 6.5.2-3 A free implementation of the ii libgl1-mesa-glx 6.5.2-3 A free implementation of the ii libglu1-mesa 6.5.2-3 The OpenGL utility library (G ii libglu1-mesa-dev 6.5.2-3 The OpenGL utility library -- ii mesa-common-dev 6.5.2-3 Developer documentation for M ii mesa-utils 6.5.2-3 Miscellaneous Mesa GL utiliti ii nexuiz 2.2.1-1 A fast-paced 3D Ego-Shooter ii nexuiz-data 2.2.1-1 Nexuiz game data files ii xserver-xorg 7.1.0-12 the X.Org X server ========================================================================== about 3. -------------------------------------------------------------------------- https://bugs.freedesktop.org/show_bug.cgi?id=9170 > You might want to provide a little more information; > what is enabled or disabled with the settings "high" and "low"? high: - no .nexuiz directory - alternative: .nexuiz-high as .nexuiz (see below) low: - .nexuiz-low as .nexuiz (see below) -------------------------------------------------------------------------- $ diff -Naur .nexuiz-high/data/config.cfg .nexuiz-low/data/config.cfg --- .nexuiz-high/data/config.cfg 2007-02-28 19:23:55.000000000 +0100 +++ .nexuiz-low/data/config.cfg 2007-02-28 19:22:12.000000000 +0100 @@ -63,3 +63,15 @@ bind "MWHEELDOWN" "weapprev" bind "MOUSE4" "weaplast" bind "MOUSE5" "+hook" +cl_decals "0" +cl_particles_quality "0.100000" +seta g_campaign_index "6" +gl_picmip "4" +r_coronas "0" +r_glsl_deluxemapping "0" +r_shadow_realtime_dlight "0" +r_shadow_realtime_world_shadows "0" +showfps "1" +vid_bitsperpixel "16" +vid_height "480" +vid_width "640" -------------------------------------------------------------------------- .nexuiz-high/data/config.cfg : bind "TAB" "+showscores" bind "ENTER" "+jump" bind "ESCAPE" "togglemenu" bind "SPACE" "+jump" bind "-" "sizedown" bind "0" "impulse 210" bind "1" "impulse 1" bind "2" "impulse 2" bind "3" "impulse 3" bind "4" "impulse 4" bind "5" "impulse 5" bind "6" "impulse 6" bind "7" "impulse 7" bind "8" "impulse 8" bind "9" "impulse 9" bind "=" "sizeup" bind "`" "toggleconsole" bind "a" "+moveleft" bind "d" "+moveright" bind "e" "+hook" bind "i" "+show_info" bind "r" "messagemode2" bind "s" "+back" bind "t" "messagemode" bind "w" "+forward" bind "y" "messagemode2" bind "~" "toggleconsole" bind "BACKSPACE" "dropweapon" bind "UPARROW" "+forward" bind "DOWNARROW" "+back" bind "LEFTARROW" "+moveleft" bind "RIGHTARROW" "+moveright" bind "SHIFT" "+crouch" bind "F1" "vyes" bind "F2" "vno" bind "F3" "spec" bind "F4" "ready" bind "F5" "menu_showteamselect" bind "F10" "quit" bind "F11" "disconnect" bind "F12" "screenshot" bind "PAUSE" "pause" bind "KP_INS" "messagemode" bind "KP_END" "say_team quad soon (h:%h a:%a w:%w l:%l)" bind "KP_DOWNARROW" "say_team item free x:%x (h:%h a:%a w:%w l:%l)" bind "KP_PGDN" "say_team took item (h:%h a:%a w:%w l:%l)" bind "KP_LEFTARROW" "say_team negative (h:%h a:%a w:%w l:%l)" bind "KP_5" "say_team help me (h:%h a:%a w:%w l:%l)" bind "KP_RIGHTARROW" "say_team incoming (h:%h a:%a w:%w l:%l)" bind "KP_HOME" "say_team defending (h:%h a:%a w:%w l:%l)" bind "KP_UPARROW" "say_team roaming (h:%h a:%a w:%w l:%l)" bind "KP_PGUP" "say_team attacking (h:%h a:%a w:%w l:%l)" bind "KP_DEL" "messagemode2" bind "KP_SLASH" "say_team dropped flag (h:%h a:%a w:%w l:%l)" bind "KP_MULTIPLY" "say_team killed flagcarrier (h:%h a:%a w:%w l:%l)" bind "KP_MINUS" "say hi / good luck and have fun" bind "KP_PLUS" "say good game" bind "KP_ENTER" "say :-) / nice one" bind "MOUSE1" "+attack" bind "MOUSE2" "+attack2" bind "MOUSE3" "+zoom" bind "MWHEELUP" "weapnext" bind "MWHEELDOWN" "weapprev" bind "MOUSE4" "weaplast" bind "MOUSE5" "+hook" -------------------------------------------------------------------------- .nexuiz-low/data/config.cfg : bind "TAB" "+showscores" bind "ENTER" "+jump" bind "ESCAPE" "togglemenu" bind "SPACE" "+jump" bind "-" "sizedown" bind "0" "impulse 210" bind "1" "impulse 1" bind "2" "impulse 2" bind "3" "impulse 3" bind "4" "impulse 4" bind "5" "impulse 5" bind "6" "impulse 6" bind "7" "impulse 7" bind "8" "impulse 8" bind "9" "impulse 9" bind "=" "sizeup" bind "`" "toggleconsole" bind "a" "+moveleft" bind "d" "+moveright" bind "e" "+hook" bind "i" "+show_info" bind "r" "messagemode2" bind "s" "+back" bind "t" "messagemode" bind "w" "+forward" bind "y" "messagemode2" bind "~" "toggleconsole" bind "BACKSPACE" "dropweapon" bind "UPARROW" "+forward" bind "DOWNARROW" "+back" bind "LEFTARROW" "+moveleft" bind "RIGHTARROW" "+moveright" bind "SHIFT" "+crouch" bind "F1" "vyes" bind "F2" "vno" bind "F3" "spec" bind "F4" "ready" bind "F5" "menu_showteamselect" bind "F10" "quit" bind "F11" "disconnect" bind "F12" "screenshot" bind "PAUSE" "pause" bind "KP_INS" "messagemode" bind "KP_END" "say_team quad soon (h:%h a:%a w:%w l:%l)" bind "KP_DOWNARROW" "say_team item free x:%x (h:%h a:%a w:%w l:%l)" bind "KP_PGDN" "say_team took item (h:%h a:%a w:%w l:%l)" bind "KP_LEFTARROW" "say_team negative (h:%h a:%a w:%w l:%l)" bind "KP_5" "say_team help me (h:%h a:%a w:%w l:%l)" bind "KP_RIGHTARROW" "say_team incoming (h:%h a:%a w:%w l:%l)" bind "KP_HOME" "say_team defending (h:%h a:%a w:%w l:%l)" bind "KP_UPARROW" "say_team roaming (h:%h a:%a w:%w l:%l)" bind "KP_PGUP" "say_team attacking (h:%h a:%a w:%w l:%l)" bind "KP_DEL" "messagemode2" bind "KP_SLASH" "say_team dropped flag (h:%h a:%a w:%w l:%l)" bind "KP_MULTIPLY" "say_team killed flagcarrier (h:%h a:%a w:%w l:%l)" bind "KP_MINUS" "say hi / good luck and have fun" bind "KP_PLUS" "say good game" bind "KP_ENTER" "say :-) / nice one" bind "MOUSE1" "+attack" bind "MOUSE2" "+attack2" bind "MOUSE3" "+zoom" bind "MWHEELUP" "weapnext" bind "MWHEELDOWN" "weapprev" bind "MOUSE4" "weaplast" bind "MOUSE5" "+hook" cl_decals "0" cl_particles_quality "0.100000" seta g_campaign_index "6" gl_picmip "4" r_coronas "0" r_glsl_deluxemapping "0" r_shadow_realtime_dlight "0" r_shadow_realtime_world_shadows "0" showfps "1" vid_bitsperpixel "16" vid_height "480" vid_width "640" ========================================================================== about 4. run via $ cd /usr/share/games/nexuiz $ gdb /usr/lib/games/nexuiz/nexuiz.bin < ~/cmd.txt > ~/result.txt 2>&1 with this cmd.txt: -------------------------------------------------------------------------- run bt full quit ========================================================================== about 5.: result.txt GNU gdb 6.4.90-debian Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"...(no debugging symbols found) Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (gdb) Starting program: /usr/lib/games/nexuiz/nexuiz.bin Failed to read a valid object file image from memory. (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Console initialized. Nexuiz Linux 21:53:49 Dec 14 2006 [Thread debugging using libthread_db enabled] [New Thread -1212040640 (LWP 10197)] (no debugging symbols found) Trying to load library... "libz.so.1" - loaded. Compressed files support enabled Added packfile data/data20061212.pk3 (2875 files) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Trying to load library... "libcurl.so.3" - loaded. cURL support enabled Initializing client (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Failed to init SDL joystick subsystem: (no debugging symbols found) (no debugging symbols found) Trying to load library... "libvorbis.so.0" - loaded. (no debugging symbols found) Trying to load library... "libvorbisfile.so.3" - loaded. Ogg Vorbis support enabled couldn't exec data/campaign.cfg couldn't exec autoexec.cfg Starting video system Video: fullscreen 800x600x32x60hz Linked against SDL version 1.2.11 Using SDL library version 1.2.11 (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) checking for OpenGL 1.1.0... enabled GL_VENDOR: Tungsten Graphics, Inc. GL_RENDERER: Mesa DRI R300 20060815 x86/MMX+/3DNow!+/SSE2 TCL GL_VERSION: 1.3 Mesa 6.5.2 GL_EXTENSIONS: GL_ARB_fragment_program GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_MESAX_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_EXT_convolution GL_EXT_copy_texture GL_EXT_draw_range_elements GL_EXT_gpu_program_parameters GL_EXT_histogram GL_EXT_packed_pixels GL_EXT_polygon_offset GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texture GL_EXT_texture3D GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_vertex_array GL_APPLE_packed_pixels GL_ATI_blend_equation_separate GL_ATI_texture_env_combine3 GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_INGR_blend_func_separate GL_MESA_pack_invert GL_MESA_ycbcr_texture GL_MESA_window_pos GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texture_rectangle GL_NV_texgen_reflection GL_NV_vertex_program GL_OES_read_format GL_SGI_color_matrix GL_SGI_color_table GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod SDL_EXTENSIONS: Checking OpenGL extensions... checking for glDrawRangeElements... enabled checking for GL_ARB_multitexture... enabled checking for GL_ARB_texture_env_combine... enabled checking for GL_ARB_texture_env_dot3... enabled checking for GL_EXT_texture3D... enabled checking for GL_ARB_texture_cube_map... enabled checking for GL_EXT_compiled_vertex_array... enabled checking for GL_EXT_texture_edge_clamp... enabled checking for GL_EXT_texture_filter_anisotropic... enabled checking for GL_EXT_stencil_two_side... not detected checking for GL_ARB_shader_objects... not detected 0 SDL joystick(s) found: OpenGL Backend starting... glDrawRangeElements detected (max vertices 3000, max indices 3000) multitexture detected: texture units = 8 OpenGL backend started. Trying to load library... "libjpeg.so.62" - loaded. JPEG support enabled Trying to load library... "libpng12.so.0" - loaded. PNG support enabled Draw_CachePic: failed to load gfx/complete Draw_CachePic: failed to load gfx/inter Draw_CachePic: failed to load gfx/finale SndSys_Init: using the SDL module Sound format: 48000Hz, 2 channels, 16 bits per sample Found 0 cdrom drives. CDAudio_Init: No CD in player. Can't get initial CD volume CD Audio Initialized Draw_CachePic: failed to load gfx/m_white No CD in player. Client using port 0 Client opened a socket on address local:2 Client opened a socket on address 0.0.0.0:32770 maps/downer.bsp: could not load texture for missing shader "noshader" Server using port 26000 Server listening on address local:1 Server listening on address 0.0.0.0:26000 Loaded maps/downer.ent Trying to connect... "challenge `xu&N.Yp['r" received, sending connect request back to local:1 Got challenge response "challenge `xu&N.Yp['r" received, sending connect request back to local:1 Got challenge response Accepted Connection accepted to local:1 <-- server to client keepalive Server: Nexuiz build 21:53:49 Dec 14 2006 (progs 13480 crc) <===================================> [1;33mDowner[m CDAudio: Bad track number 0. Player entered the game No CD in player. [1;31mautoswitch turned on[m You got the [1;32mMortar[m [New Thread -1370727504 (LWP 10200)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1212040640 (LWP 10197)] r300_setup_textures (ctx=0x12c4e538) at r300_state.c:1240 1240 r300_state.c: No such file or directory. in r300_state.c (gdb) #0 r300_setup_textures (ctx=0x12c4e538) at r300_state.c:1240 i = 2 mtu = 8 t = (struct r300_tex_obj *) 0x0 r300 = (r300ContextPtr) 0x12c44628 hw_tmu = 2 last_hw_tmu = 1 tmu_mappings = {0, 1, 0, 0, 0, 0, 0, 0} __FUNCTION__ = "r300_setup_textures" __PRETTY_FUNCTION__ = "r300_setup_textures" warn__LINE__ = 1 warn__LINE__ = 1 warn__LINE__ = 1 #1 0xb6f2e779 in r300UpdateShaderStates (rmesa=0x12c44628) at r300_state.c:1765 ctx = (GLcontext *) 0x12c4e538 #2 0xb6f242a5 in radeonDrawRangeElements (mode=4, min=2333, max=2337, count=6, type=5125, c_indices=0xac8ea3f8) at radeon_vtxfmt_a.c:485 rmesa = (r300ContextPtr) 0x12c44628 prim = {mode = 2929, start = 2129, count = 2135} elt_size = 2 i = <value optimized out> ptr = (void *) 0xae957170 rvb = {buf = 0x140f4ff0, address = 0xae8b7000 "\002", start = 655728, end = 655740, ptr = 655728, aos_offset = -129359504, aos_stride = 0, aos_size = 0, aos_reg = 0} indices = (const GLvoid *) 0xac8ea3f8 __FUNCTION__ = "radeonDrawRangeElements" warn__LINE__ = 1 warn__LINE__ = 1 #3 0x08095162 in ?? () No symbol table info available. #4 0x00000004 in ?? () No symbol table info available. #5 0x0000091d in ?? () No symbol table info available. #6 0x00000921 in ?? () No symbol table info available. #7 0x00000006 in ?? () No symbol table info available. #8 0x00001405 in ?? () No symbol table info available. #9 0xac8ea3f8 in ?? () No symbol table info available. #10 0x0000084d in ?? () No symbol table info available. #11 0x00000004 in ?? () No symbol table info available. #12 0x0000091d in ?? () No symbol table info available. #13 0x00000006 in ?? () No symbol table info available. #14 0xac8ea3f8 in ?? () No symbol table info available. #15 0x00000002 in ?? () No symbol table info available. #16 0x00000004 in ?? () No symbol table info available. #17 0x0000091d in ?? () No symbol table info available. #18 0x0000084d in ?? () No symbol table info available. #19 0x14504724 in ?? () No symbol table info available. #20 0x00000001 in ?? () No symbol table info available. #21 0x00000000 in ?? () No symbol table info available. (gdb) ========================================================================== Ok, seems like I managed to build and use current mesa git. Same test and crash here, too. gdb logfile: GNU gdb 6.4.90-debian Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"...(no debugging symbols found) Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (gdb) Starting program: /usr/lib/games/nexuiz/nexuiz.bin Failed to read a valid object file image from memory. (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Console initialized. Nexuiz Linux 21:53:49 Dec 14 2006 [Thread debugging using libthread_db enabled] [New Thread -1212040640 (LWP 23929)] (no debugging symbols found) Trying to load library... "libz.so.1" - loaded. Compressed files support enabled Added packfile data/data20061212.pk3 (2875 files) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Trying to load library... "libcurl.so.3" - loaded. cURL support enabled Initializing client (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Failed to init SDL joystick subsystem: (no debugging symbols found) (no debugging symbols found) Trying to load library... "libvorbis.so.0" - loaded. (no debugging symbols found) Trying to load library... "libvorbisfile.so.3" - loaded. Ogg Vorbis support enabled couldn't exec data/campaign.cfg couldn't exec autoexec.cfg Starting video system Video: fullscreen 800x600x32x60hz Linked against SDL version 1.2.11 Using SDL library version 1.2.11 checking for OpenGL 1.1.0... enabled GL_VENDOR: Tungsten Graphics, Inc. GL_RENDERER: Mesa DRI R300 20060815 x86/MMX+/3DNow!+/SSE2 TCL GL_VERSION: 1.3 Mesa 6.5.3 GL_EXTENSIONS: GL_ARB_fragment_program GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_MESAX_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_EXT_convolution GL_EXT_copy_texture GL_EXT_draw_range_elements GL_EXT_gpu_program_parameters GL_EXT_histogram GL_EXT_packed_pixels GL_EXT_polygon_offset GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texture GL_EXT_texture3D GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_vertex_array GL_APPLE_packed_pixels GL_ATI_blend_equation_separate GL_ATI_texture_env_combine3 GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_INGR_blend_func_separate GL_MESA_pack_invert GL_MESA_ycbcr_texture GL_MESA_window_pos GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texture_rectangle GL_NV_texgen_reflection GL_NV_vertex_program GL_OES_read_format GL_SGI_color_matrix GL_SGI_color_table GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod SDL_EXTENSIONS: Checking OpenGL extensions... checking for glDrawRangeElements... enabled checking for GL_ARB_multitexture... enabled checking for GL_ARB_texture_env_combine... enabled checking for GL_ARB_texture_env_dot3... enabled checking for GL_EXT_texture3D... enabled checking for GL_ARB_texture_cube_map... enabled checking for GL_EXT_compiled_vertex_array... enabled checking for GL_EXT_texture_edge_clamp... enabled checking for GL_EXT_texture_filter_anisotropic... enabled checking for GL_EXT_stencil_two_side... enabled checking for GL_ARB_shader_objects... not detected 0 SDL joystick(s) found: OpenGL Backend starting... glDrawRangeElements detected (max vertices 3000, max indices 3000) multitexture detected: texture units = 8 OpenGL backend started. Trying to load library... "libjpeg.so.62" - loaded. JPEG support enabled Trying to load library... "libpng12.so.0" - loaded. PNG support enabled Draw_CachePic: failed to load gfx/complete Draw_CachePic: failed to load gfx/inter Draw_CachePic: failed to load gfx/finale SndSys_Init: using the SDL module Sound format: 48000Hz, 2 channels, 16 bits per sample Found 0 cdrom drives. CDAudio_Init: No CD in player. Can't get initial CD volume CD Audio Initialized Draw_CachePic: failed to load gfx/m_white No CD in player. Client using port 0 Client opened a socket on address local:2 Client opened a socket on address 0.0.0.0:32917 maps/downer.bsp: could not load texture for missing shader "noshader" Server using port 26000 Server listening on address local:1 Server listening on address 0.0.0.0:26000 Loaded maps/downer.ent Trying to connect... "challenge Q-&<#!(c#u5" received, sending connect request back to local:1 Got challenge response "challenge Q-&<#!(c#u5" received, sending connect request back to local:1 Got challenge response Accepted Connection accepted to local:1 <-- server to client keepalive Server: Nexuiz build 21:53:49 Dec 14 2006 (progs 13480 crc) <===================================> [1;33mDowner[m CDAudio: Bad track number 0. Player entered the game No CD in player. [1;31mautoswitch turned on[m You got the [1;32mMortar[m [New Thread -1370625104 (LWP 23932)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1212040640 (LWP 23929)] r300_setup_textures (ctx=0x12c4d740) at r300_state.c:1251 1251 r300_state.c: No such file or directory. in r300_state.c (gdb) #0 r300_setup_textures (ctx=0x12c4d740) at r300_state.c:1251 i = 2 mtu = 8 t = (struct r300_tex_obj *) 0x0 r300 = (r300ContextPtr) 0x12c439f0 hw_tmu = 2 last_hw_tmu = 1 tmu_mappings = {0, 1, 0, 0, 0, 0, 0, 0} rp = <value optimized out> __FUNCTION__ = "r300_setup_textures" __PRETTY_FUNCTION__ = "r300_setup_textures" warn__LINE__ = 1 warn__LINE__ = 1 warn__LINE__ = 1 #1 0xb6f44541 in r300UpdateShaderStates (rmesa=0x12c439f0) at r300_state.c:1774 ctx = (GLcontext *) 0x12c4d740 #2 0xb6f4557d in r300_run_vb_render (ctx=0x12c4d740, stage=0x12c94edc) at r300_render.c:344 rmesa = (r300ContextPtr) 0x12c439f0 VB = (struct radeon_vertex_buffer *) 0x12c4d030 i = -1075909544 __FUNCTION__ = "r300_run_vb_render" __func__ = "r300_run_vb_render" #3 0xb6f45f1a in r300_run_tcl_render (ctx=0x12c4d740, stage=0x12c94edc) at r300_render.c:540 __FUNCTION__ = "r300_run_tcl_render" #4 0xb6fc682d in _tnl_run_pipeline (ctx=0x12c4d740) at tnl/t_pipeline.c:159 s = (struct tnl_pipeline_stage *) 0x0 tnl = (TNLcontext *) 0x12c94d88 __tmp = 895 i = 0 mask = 63 #5 0xb6fc74cc in _tnl_draw_prims (ctx=0x12c4d740, arrays=0xbfdeed6c, prim=0xbfdef340, nr_prims=1, ib=0xbfdeed5c, min_index=0, max_index=21) at tnl/t_draw.c:400 bo = {0xbfdeeca8, 0xb7eea4f8, 0xe8, 0x8, 0xbfdef2a8, 0xb6f9abfe, 0x12c4d740, 0x8804, 0x1502bb80, 0xffa, 0xffa, 0xffa, 0x2, 0xbdeddcc, 0x11, 0x0, 0xbfdef1b4, 0x1d, 0xbfdef13c, 0x10, 0x2000078b, 0x12, 0xbfdef1d4, 0x3440005, 0x12c606d8, 0xb59a36f, 0xb7ee8ff4, 0xb7eea4c0, 0x12c814a8, 0xbfdeed28, 0xb7e2392f, 0xb7eea4c0, 0xe4} nr_bo = 0 tnl = (TNLcontext *) 0x12c94d88 #6 0xb7076e78 in vbo_rebase_prims (ctx=0x12c4d740, arrays=0x12c834c0, prim=0xbfdef340, nr_prims=1, ib=0xbfdeed5c, min_index=6687, max_index=6708, draw=0xb6fc68ef <_tnl_draw_prims>) at vbo/vbo_rebase.c:206 tmp_arrays = {{Size = 3, Type = 5126, Stride = 12, StrideB = 12, Ptr = 0xac823998 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 2000000000}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e42c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 3, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e43c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e44c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e45c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e46c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e47c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e48c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 2, Type = 5126, Stride = 8, StrideB = 8, Ptr = 0xac88317c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 2000000000}, {Size = 3, Type = 5126, Stride = 12, StrideB = 12, Ptr = 0xa1b93998 "Û[ÔÃ\\Q\215ÃË+\220CÛ[âÃpEœÂË+\220CÛ[âÞ¢~ÃË+\220C°œÅÁ\\Q\215ÃË+\220C(!mB\\Q\217ÃË+\220C°œÅÁpEÝÂË+\220CÛ[\206ÃpEœÂË+\220C\224\220îBpEÝÂË+\220C¶·DÃpEœÂË+\220C%€¹C\\Q\217ÃË+\220C°œÅÁpEœÂË+\220C¶·DÀ®\200CË+\220CÛ[\206Ã\220º\232BË+\220CÛ[âÃ\220º\232BË+\220C°œÅÁ u\005BË+\220C¶·(À®\216CË+\220C°œÅÁ€®\216C"..., Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 2000000000}, {Size = 3, Type = 5126, Stride = 12, StrideB = 12, Ptr = 0xac823998 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 2000000000}, { Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e4cc "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e4dc "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e4ec "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e4fc "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e50c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c57004 "ÍÌL>ÍÌL>ÍÌL>", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c57014 "ÍÌL>ÍÌL>ÍÌL>", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c57024 "ÍÌL?ÍÌL?ÍÌL?", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c57034 "ÍÌL?ÍÌL?ÍÌL?", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c57044 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c57054 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c57064 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c57074 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c57084 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c57094 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c570a4 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c570b4 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e5dc "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e5ec "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e5fc "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e60c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c3ad30, _MaxElement = 0}} tmp_array_pointers = {0xbfdeedec, 0xbfdeee0c, 0xbfdeee2c, 0xbfdeee4c, 0xbfdeee6c, 0xbfdeee8c, 0xbfdeeeac, 0xbfdeeecc, 0xbfdeeeec, 0xbfdeef0c, 0xbfdeef2c, 0xbfdeef4c, 0xbfdeef6c, 0xbfdeef8c, 0xbfdeefac, 0xbfdeefcc, 0xbfdeefec, 0xbfdef00c, 0xbfdef02c, 0xbfdef04c, 0xbfdef06c, 0xbfdef08c, 0xbfdef0ac, 0xbfdef0cc, 0xbfdef0ec, 0xbfdef10c, 0xbfdef12c, 0xbfdef14c, 0xbfdef16c, 0xbfdef18c, 0xbfdef1ac, 0xbfdef1cc} tmp_ib = {count = 57, type = 5125, obj = 0x12c3ad30, ptr = 0x150730e8} tmp_prims = (struct _mesa_prim *) 0x0 tmp_indices = (void *) 0x150730e8 i = <value optimized out> __PRETTY_FUNCTION__ = "vbo_rebase_prims" #7 0xb6fc6951 in _tnl_draw_prims (ctx=0x12c4d740, arrays=0x12c834c0, prim=0xbfdef340, nr_prims=1, ib=0xbfdef34c, min_index=6687, max_index=6708) at tnl/t_draw.c:363 tnl = (TNLcontext *) 0x12c94d88 #8 0xb6fc06fa in vbo_exec_DrawRangeElements (mode=4, start=6687, end=6708, count=57, type=5125, indices=0xac8c9fac) at vbo/vbo_exec_array.c:330 ctx = (GLcontext *) 0x12c4d740 ib = {count = 57, type = 5125, obj = 0x12c3ad30, ptr = 0xac8c9fac} prim = {{mode = 4, indexed = 1, begin = 1, end = 1, weak = 0, pad = 0, start = 0, count = 57}} #9 0x08095162 in ?? () No symbol table info available. #10 0x00000004 in ?? () No symbol table info available. #11 0x00001a1f in ?? () No symbol table info available. #12 0x00001a34 in ?? () No symbol table info available. #13 0x00000039 in ?? () No symbol table info available. #14 0x00001405 in ?? () No symbol table info available. #15 0xac8c9fac in ?? () No symbol table info available. #16 0x0000084d in ?? () No symbol table info available. #17 0x00000015 in ?? () No symbol table info available. #18 0x00001a1f in ?? () No symbol table info available. #19 0x00000039 in ?? () No symbol table info available. #20 0xac8c9fac in ?? () No symbol table info available. #21 0x00000013 in ?? () No symbol table info available. #22 0x00000015 in ?? () No symbol table info available. #23 0x00001a1f in ?? () No symbol table info available. #24 0x0000084d in ?? () No symbol table info available. #25 0x142f464c in ?? () No symbol table info available. #26 0x00000001 in ?? () No symbol table info available. #27 0x00000000 in ?? () No symbol table info available. (gdb) Ok, next (and probably last) test from my side. Within now I have found out enough about the problem so that I could patch my mesa. So it does not crash nexuiz any more on my machine. Please have a look at it. Here are the details: 1. I upgraded to current (2007-03-10) git again 2. I tested again, same result as before 3. I analyzed some source code: The problem is in function: void r300_setup_textures(GLcontext *ctx) file r300_state.c line 1251 We have a null pointer dereferencation there. This is easy to see from the logfiles I posted. So why do we get this error ? The relevant code is in a loop (l.1241) that iterates over all texture units (0..7). In the next line we have a check if the current texture unit is "enabled" (TMU_ENABLED, l.1242). If so, it is accessed: First the pointer to the texture object is fetched, ("t=r300->state.texture.unit[i].texobj", l.1249), then the status of the texture unit is checked (l.1251). This is where we crash. The reason is that the texture object pointer is a null pointer. Argh. So sometimes we have texture units where the check with TMU_ENABLED says its enabled, but the pointer to the texture object is NULL. I do not know much about the big picture here, but this looks just wrong. Either we should not say the texture unit is enabled when the texture object pointer is NULL, or we should make sure the texture object pointer is not NULL when we say it is enabled. So where does this TMU_ENABLED come from ? It can be found in r300_context.h, line 609. A quick check (mesa/src/mesa/drivers/dri/r300$ grep TMU_ENABLED *.[ch]) tells me that this TMU_ENABLED is only used in our function (r300_setup_textures). Ah, ok. That means there is no special semantics associated with it, it only needs to work here. Let's take a more detailed look at its definition. We find two alternative definitions of TMU_ENABLED in r300_context.h, just above the active one. Both commented out (see lines 604-607). No further info about the reason for these alternative versions is given in the src ;-(. So let's look at the data structures themself. The "main" structure is ctx. The TMU_ENABLED uses "ctx->Texture.Unit[unit]._ReallyEnabled". In our function (r300_setup_textures) we use "r300->state.texture.unit[i].texobj". The "r300" is found via "r300 = R300_CONTEXT(ctx)" (r300_state.c line 1210). R300_CONTEXT(ctx) is found in r300_context.h l.859: "#define R300_CONTEXT(ctx) ((r300ContextPtr)(ctx->DriverCtx))" So we have: ctx->Texture.Unit[unit]._ReallyEnabled vs. ctx->DriverCtx->state.texture.unit[i].texobj Both seem not to be in sync. But I do not know the code close enough to interpret this. But still I can dig a bit further. Where does this "_ReallyEnabled" appear ? ("grep -l _ReallyEnabled *.[ch]" => r300_context.h r300_render.c r300_tex.c r300_texstate.c) The code in r300_tex.c around l.986 seems to need work anyways. (line 984 says "This is incorrect: ..."). Nothing that gives me any clue. The code in r300_texstate.c (function r300UpdateTextureUnit) is more interesting. It seems to do some enabling according to _ReallyEnabled. This makes me guess: maybe a call to r300UpdateTextureUnit would put ctx->Texture.Unit[unit]._ReallyEnabled and ctx->DriverCtx->state.texture.unit[i].texobj in sync (and thus solve our problem) ? So what can I do now ? The simplest thing I can do is to make the definition of TMU_ENABLED more narrow. Another thing I could try is to call r300UpdateTextureUnit before using TMU_ENABLED. 3. Patched and tested: I patched r300_context.h. I replaced #define TMU_ENABLED(ctx, unit) (ctx->Texture.Unit[unit]._ReallyEnabled) with #define TMU_ENABLED(ctx, _unit_) (ctx->Texture.Unit[_unit_]._ReallyEnabled && R300_CONTEXT(ctx) && R300_CONTEXT(ctx)->state.texture.unit[_unit_].texobj) Then I recompiled mesa and did another nexuiz test. And what should I say ? It worked ! However as I am anything but a mesa expert, I am aware that this code maybe only avoids but does not solve the problem. PLEASE, can someone from the mesa team have a closer look at this problem? IMHO I have provided enough information to make it as easy as possible for you to see what is happening. (I will not try calling r300UpdateTextureUnit before using TMU_ENABLED. I think someone who understands mesa should do further examination.) ------------------------------------------------------------------------ logfile of crash with current mesa (without my patch): GNU gdb 6.4.90-debian Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"...(no debugging symbols found) Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (gdb) Starting program: /usr/lib/games/nexuiz/nexuiz.bin Failed to read a valid object file image from memory. (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Console initialized. Nexuiz Linux 21:53:49 Dec 14 2006 [Thread debugging using libthread_db enabled] [New Thread -1212212672 (LWP 22603)] (no debugging symbols found) Trying to load library... "libz.so.1" - loaded. Compressed files support enabled Added packfile data/data20061212.pk3 (2875 files) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Trying to load library... "libcurl.so.3" - loaded. cURL support enabled Initializing client (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Failed to init SDL joystick subsystem: (no debugging symbols found) (no debugging symbols found) Trying to load library... "libvorbis.so.0" - loaded. (no debugging symbols found) Trying to load library... "libvorbisfile.so.3" - loaded. Ogg Vorbis support enabled couldn't exec data/campaign.cfg couldn't exec autoexec.cfg Starting video system Video: fullscreen 800x600x32x60hz Linked against SDL version 1.2.11 Using SDL library version 1.2.11 checking for OpenGL 1.1.0... enabled GL_VENDOR: Tungsten Graphics, Inc. GL_RENDERER: Mesa DRI R300 20060815 x86/MMX+/3DNow!+/SSE2 TCL GL_VERSION: 1.3 Mesa 6.5.3 GL_EXTENSIONS: GL_ARB_fragment_program GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_MESAX_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_EXT_convolution GL_EXT_copy_texture GL_EXT_draw_range_elements GL_EXT_gpu_program_parameters GL_EXT_histogram GL_EXT_packed_pixels GL_EXT_polygon_offset GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texture GL_EXT_texture3D GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_vertex_array GL_APPLE_packed_pixels GL_ATI_blend_equation_separate GL_ATI_texture_env_combine3 GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_INGR_blend_func_separate GL_MESA_pack_invert GL_MESA_ycbcr_texture GL_MESA_window_pos GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texture_rectangle GL_NV_texgen_reflection GL_NV_vertex_program GL_OES_read_format GL_SGI_color_matrix GL_SGI_color_table GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod SDL_EXTENSIONS: Checking OpenGL extensions... checking for glDrawRangeElements... enabled checking for GL_ARB_multitexture... enabled checking for GL_ARB_texture_env_combine... enabled checking for GL_ARB_texture_env_dot3... enabled checking for GL_EXT_texture3D... enabled checking for GL_ARB_texture_cube_map... enabled checking for GL_EXT_compiled_vertex_array... enabled checking for GL_EXT_texture_edge_clamp... enabled checking for GL_EXT_texture_filter_anisotropic... enabled checking for GL_EXT_stencil_two_side... enabled checking for GL_ARB_shader_objects... not detected 0 SDL joystick(s) found: OpenGL Backend starting... glDrawRangeElements detected (max vertices 3000, max indices 3000) multitexture detected: texture units = 8 OpenGL backend started. Trying to load library... "libjpeg.so.62" - loaded. JPEG support enabled Trying to load library... "libpng12.so.0" - loaded. PNG support enabled Draw_CachePic: failed to load gfx/complete Draw_CachePic: failed to load gfx/inter Draw_CachePic: failed to load gfx/finale SndSys_Init: using the SDL module Sound format: 48000Hz, 2 channels, 16 bits per sample Found 0 cdrom drives. CDAudio_Init: No CD in player. Can't get initial CD volume CD Audio Initialized Draw_CachePic: failed to load gfx/m_white No CD in player. Client using port 0 Client opened a socket on address local:2 Client opened a socket on address 0.0.0.0:32918 maps/downer.bsp: could not load texture for missing shader "noshader" Server using port 26000 Server listening on address local:1 Server listening on address 0.0.0.0:26000 Loaded maps/downer.ent Trying to connect... "challenge !iw&v@Q=PWL" received, sending connect request back to local:1 Got challenge response "challenge !iw&v@Q=PWL" received, sending connect request back to local:1 Got challenge response Accepted Connection accepted to local:1 <-- server to client keepalive Server: Nexuiz build 21:53:49 Dec 14 2006 (progs 13480 crc) <===================================> [1;33mDowner[m CDAudio: Bad track number 0. Player entered the game No CD in player. [1;31mautoswitch turned on[m *********************************WARN_ONCE********************************* File radeon_mm.c function radeon_mm_alloc line 216 Ran out of GART memory (for 1048576)! Please consider adjusting GARTSize option. *************************************************************************** You got the [1;32mMortar[m [New Thread -1370797136 (LWP 22606)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1212212672 (LWP 22603)] r300_setup_textures (ctx=0x12c4d510) at r300_state.c:1251 1251 r300_state.c: No such file or directory. in r300_state.c (gdb) #0 r300_setup_textures (ctx=0x12c4d510) at r300_state.c:1251 i = 2 mtu = 8 t = (struct r300_tex_obj *) 0x0 r300 = (r300ContextPtr) 0x12c437c0 hw_tmu = 2 last_hw_tmu = 1 tmu_mappings = {0, 1, 0, 0, 0, 0, 0, 0} rp = <value optimized out> __FUNCTION__ = "r300_setup_textures" __PRETTY_FUNCTION__ = "r300_setup_textures" warn__LINE__ = 1 warn__LINE__ = 1 warn__LINE__ = 1 #1 0xb6f1a671 in r300UpdateShaderStates (rmesa=0x12c437c0) at r300_state.c:1774 ctx = (GLcontext *) 0x12c4d510 #2 0xb6f1b6ad in r300_run_vb_render (ctx=0x12c4d510, stage=0x12c94fdc) at r300_render.c:344 rmesa = (r300ContextPtr) 0x12c437c0 VB = (struct radeon_vertex_buffer *) 0x12c4ce00 i = -1076143096 __FUNCTION__ = "r300_run_vb_render" __func__ = "r300_run_vb_render" #3 0xb6f1c04a in r300_run_tcl_render (ctx=0x12c4d510, stage=0x12c94fdc) at r300_render.c:540 __FUNCTION__ = "r300_run_tcl_render" #4 0xb6f9c82d in _tnl_run_pipeline (ctx=0x12c4d510) at tnl/t_pipeline.c:159 s = (struct tnl_pipeline_stage *) 0x0 tnl = (TNLcontext *) 0x12c94e88 __tmp = 895 i = 0 mask = 63 #5 0xb6f9d4cc in _tnl_draw_prims (ctx=0x12c4d510, arrays=0xbfdb5d1c, prim=0xbfdb62f0, nr_prims=1, ib=0xbfdb5d0c, min_index=0, max_index=21) at tnl/t_draw.c:400 bo = {0xbfdb5c58, 0xb7ec04f8, 0xe8, 0x8, 0xbfdb6258, 0xb6f70bfe, 0x12c4d510, 0x8804, 0x150d9b10, 0xffa, 0xffa, 0xffa, 0x2, 0xbdb4d7c, 0x11, 0xb7ec04f8, 0x14f85860, 0x1d, 0xbfdb60ec, 0xf8, 0x2000078b, 0x12, 0xbfdb6184, 0x3440005, 0x12c604a8, 0xb59a36f, 0xb7ebeff4, 0xb7ec04c0, 0x12c815b8, 0xbfdb5cd8, 0xb7df992f, 0xb7ec04c0, 0xe4} nr_bo = 0 tnl = (TNLcontext *) 0x12c94e88 #6 0xb704ce78 in vbo_rebase_prims (ctx=0x12c4d510, arrays=0x12c835d0, prim=0xbfdb62f0, nr_prims=1, ib=0xbfdb5d0c, min_index=6687, max_index=6708, draw=0xb6f9c8ef <_tnl_draw_prims>) at vbo/vbo_rebase.c:206 tmp_arrays = {{Size = 3, Type = 5126, Stride = 12, StrideB = 12, Ptr = 0xac7f9998 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 2000000000}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e1fc "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 3, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e20c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e21c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e22c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e23c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e24c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e25c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 2, Type = 5126, Stride = 8, StrideB = 8, Ptr = 0xac85917c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 2000000000}, {Size = 3, Type = 5126, Stride = 12, StrideB = 12, Ptr = 0xa1ab7998 "ÓÔÙÃ", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 2000000000}, { Size = 3, Type = 5126, Stride = 12, StrideB = 12, Ptr = 0xac7f9998 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 2000000000}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e29c "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e2ac "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e2bc "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e2cc "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e2dc "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c56dd4 "ÍÌL>ÍÌL>ÍÌL>", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c56de4 "ÍÌL>ÍÌL>ÍÌL>", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c56df4 "ÍÌL?ÍÌL?ÍÌL?", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c56e04 "ÍÌL?ÍÌL?ÍÌL?", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c56e14 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c56e24 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c56e34 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c56e44 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c56e54 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c56e64 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c56e74 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 4, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c56e84 "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e3ac "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e3bc "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e3cc "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}, {Size = 1, Type = 5126, Stride = 0, StrideB = 0, Ptr = 0x12c4e3dc "", Enabled = 1 '\001', Normalized = 0 '\0', BufferObj = 0x12c351e0, _MaxElement = 0}} tmp_array_pointers = {0xbfdb5d9c, 0xbfdb5dbc, 0xbfdb5ddc, 0xbfdb5dfc, 0xbfdb5e1c, 0xbfdb5e3c, 0xbfdb5e5c, 0xbfdb5e7c, 0xbfdb5e9c, 0xbfdb5ebc, 0xbfdb5edc, 0xbfdb5efc, 0xbfdb5f1c, 0xbfdb5f3c, 0xbfdb5f5c, 0xbfdb5f7c, 0xbfdb5f9c, 0xbfdb5fbc, 0xbfdb5fdc, 0xbfdb5ffc, 0xbfdb601c, 0xbfdb603c, 0xbfdb605c, 0xbfdb607c, 0xbfdb609c, 0xbfdb60bc, 0xbfdb60dc, 0xbfdb60fc, 0xbfdb611c, 0xbfdb613c, 0xbfdb615c, 0xbfdb617c} tmp_ib = {count = 57, type = 5125, obj = 0x12c351e0, ptr = 0x14f85868} tmp_prims = (struct _mesa_prim *) 0x0 tmp_indices = (void *) 0x14f85868 i = <value optimized out> __PRETTY_FUNCTION__ = "vbo_rebase_prims" #7 0xb6f9c951 in _tnl_draw_prims (ctx=0x12c4d510, arrays=0x12c835d0, prim=0xbfdb62f0, nr_prims=1, ib=0xbfdb62fc, min_index=6687, max_index=6708) at tnl/t_draw.c:363 tnl = (TNLcontext *) 0x12c94e88 #8 0xb6f966fa in vbo_exec_DrawRangeElements (mode=4, start=6687, end=6708, count=57, type=5125, indices=0xac89ffac) at vbo/vbo_exec_array.c:330 ctx = (GLcontext *) 0x12c4d510 ib = {count = 57, type = 5125, obj = 0x12c351e0, ptr = 0xac89ffac} prim = {{mode = 4, indexed = 1, begin = 1, end = 1, weak = 0, pad = 0, start = 0, count = 57}} #9 0x08095162 in ?? () No symbol table info available. #10 0x00000004 in ?? () No symbol table info available. #11 0x00001a1f in ?? () No symbol table info available. #12 0x00001a34 in ?? () No symbol table info available. #13 0x00000039 in ?? () No symbol table info available. #14 0x00001405 in ?? () No symbol table info available. #15 0xac89ffac in ?? () No symbol table info available. #16 0x0000084d in ?? () No symbol table info available. #17 0x00000015 in ?? () No symbol table info available. #18 0x00001a1f in ?? () No symbol table info available. #19 0x00000039 in ?? () No symbol table info available. #20 0xac89ffac in ?? () No symbol table info available. #21 0x00000013 in ?? () No symbol table info available. #22 0x00000015 in ?? () No symbol table info available. #23 0x00001a1f in ?? () No symbol table info available. #24 0x0000084d in ?? () No symbol table info available. #25 0x142d4a4c in ?? () No symbol table info available. #26 0x00000001 in ?? () No symbol table info available. #27 0x00000000 in ?? () No symbol table info available. (gdb) Same bug discussed earlier: http://www.mail-archive.com/dri-devel@lists.sourceforge.net/msg28462.html aka http://www.archivesat.com/Direct_Rendering_Open_Source_Project_development/thread1644203.htm You should attach large log files rather than adding them into the comment because Bugzilla often destroys the formatting of these logs and more importantly it adds a lot of lines to the bug report that people have to wade through. Created attachment 9750 [details]
Backtrace with mesa 6.5.3rc4
Just to let you know, it looks like this still affects 6.5.3rc4. I'm attaching another backtrace (obtained thanks to the debug packages of the Debian X packagers), quite similar, but the formatting should be kept intact, as you requested/suggested. In case some prefers a direct link to a file, it can also be found at http://kibi.sysif.net/pub/logs/nexuiz_r300.backtrace I have no experience w/ this driver, but maybe something like this will be a work-around: Insert at line 1272 of r300_state.c: if (!t) continue; Brian Paul wrote: > I have no experience w/ this driver, but maybe something like this will be a > work-around Hint: I have a working workaround in my Comment #5 https://bugs.freedesktop.org/show_bug.cgi?id=9170#c5 (Sorry for hiding my info between logfile lines) Hmmm, I don't see any sign of a TMU_ENABLED macro in the R300 driver (as described in comment #5). Brian Paul wrote:
> Hmmm, I don't see any sign of a TMU_ENABLED macro in the R300 driver (as
> described in comment #5).
Yes, you are right. I did a new checkout and found it's gone.
But your proposed code should have just the same effect.
If you can test my suggestion and report back soon, I'll put it in 6.5.3 which I'm releasing today. The proposed patch [if (!t) continue;] just works, many thanks. (And sorry for the lag, I don't own the affected HW.) me too, patch works: it avoids nexuiz crash. OK, I've commited the work-around for Mesa 6.5.3. I'll leave this bug open until an R300 developer can double-check it. It has been fixed long time ago and has proved to be working. Closing. Mass version move, cvs -> git |
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.