Segfault when clicking on Fight

After clicking on “Fight”, the splashscreen shows. I press a key and the game segfaults with

[0] vostro:~/tmp/GSB$ ./GSB.bin.x86_64
EE r600_shader.c:921 tgsi_unsupported - RET tgsi opcode unsupported
EE r600_shader.c:141 r600_pipe_shader_create - translation from TGSI failed !
Segmentation fault

[139] vostro:~/tmp/GSB$ cat version.txt
1:56:0

[0] vostro:~/tmp/GSB$ lspci
00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1
00:1c.2 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 3
00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)
00:1f.0 ISA bridge: Intel Corporation 82801JIR (ICH10R) LPC Interface Controller
00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
01:00.0 VGA compatible controller: ATI Technologies Inc RV730 PRO [Radeon HD 4650]
01:00.1 Audio device: ATI Technologies Inc RV710/730
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)

GDB backtrace attached - why doesn’t this forum allow me to upload .txt files?

(gdb) run
Starting program: /home/nikratio/tmp/GSB/GSB.bin.x86_64
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff2a0e700 (LWP 9448)]
[New Thread 0x7fffee22c700 (LWP 9449)]
[New Thread 0x7fffe9737700 (LWP 9450)]
EE r600_shader.c:921 tgsi_unsupported - RET tgsi opcode unsupported
EE r600_shader.c:141 r600_pipe_shader_create - translation from TGSI failed !

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff1488200 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
(gdb) bt
#0 0x00007ffff1488200 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
Cannot access memory at address 0x7fffffffdd08
(gdb) quit
A debugging session is active.

Inferior 1 [process 9445] will be killed.

Quit anyway? (y or n) y
Quitting: Couldn’t get registers: No such process.
[0] vostro:~/tmp/GSB$ echo DISPLAY :0.0 [0] vostro:~/tmp/GSB o gdb.txt
[0] vostro:~/tmp/GSB$ cat gdb.txt

Thread 4 (Thread 0x7fffe9737700 (LWP 9590)):
#0 0x00007ffff797689d in nanosleep () at …/sysdeps/unix/syscall-template.S:82
No locals.
#1 0x00007ffff6748bc4 in SDL_Delay (ms=) at ./src/timer/unix/SDL_systimer.c:118
was_error =
elapsed = {tv_sec = 0, tv_nsec = 36334618}
tv = {tv_sec = 0, tv_nsec = 100000000}
#2 0x000000000077029f in UpdaterThread(void*) ()
No symbol table info available.
#3 0x00007ffff67031f7 in SDL_RunThread (data=0xf37150) at ./src/thread/SDL_thread.c:204
userfunc = 0x770270 <UpdaterThread(void*)>
userdata = 0x0
#4 0x00007ffff6746b49 in RunThread (data=0x7fffe9736e30) at ./src/thread/pthread/SDL_systhread.c:47
No locals.
#5 0x00007ffff796eb40 in start_thread (arg=) at pthread_create.c:304
__res =
pd = 0x7fffe9737700
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737110046464, -2628848071224629937, 140737488342864, 140737110047168, 140737354125376, 3, 2628877864905172303, 2628866014898775375}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call =
freesize =
PRETTY_FUNCTION = “start_thread”
#6 0x00007ffff4ba836d in clone () at …/sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#7 0x0000000000000000 in ?? ()
No symbol table info available.

Thread 3 (Thread 0x7fffee22c700 (LWP 9589)):
#0 0x00007ffff4b9d723 in *__GI___poll (fds=, nfds=, timeout=-1) at …/sysdeps/unix/sysv/linux/poll.c:87
_a3 = -1
_a1 = 15693168
resultvar =
_a2 = 2
oldtype = 0
result =
#1 0x00007ffff0e7c17f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#2 0x00007ffff0e6d59c in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#3 0x00007ffff0e6dc09 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#4 0x00007ffff0e6dcc0 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#5 0x00007ffff0e7c12f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#6 0x00007ffff0a24998 in ?? () from /usr/lib/x86_64-linux-gnu/libpulsecommon-1.0.so
No symbol table info available.
#7 0x00007ffff796eb40 in start_thread (arg=) at pthread_create.c:304
__res =
pd = 0x7fffee22c700
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737188644608, -2628848071224629937, 140737347293600, 140737188645312, 140737354125376, 3, 2628880483224610127, 2628866014898775375}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call =
freesize =
PRETTY_FUNCTION = “start_thread”
#8 0x00007ffff4ba836d in clone () at …/sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#9 0x0000000000000000 in ?? ()
No symbol table info available.

Thread 2 (Thread 0x7ffff2a0e700 (LWP 9584)):
#0 0x00007ffff797689d in nanosleep () at …/sysdeps/unix/syscall-template.S:82
No locals.
#1 0x00007ffff6748bc4 in SDL_Delay (ms=) at ./src/timer/unix/SDL_systimer.c:118
was_error =
elapsed = {tv_sec = 0, tv_nsec = 126428}
tv = {tv_sec = 0, tv_nsec = 1000000}
#2 0x00007ffff6748bfe in RunTimer (unused=) at ./src/timer/unix/SDL_systimer.c:203
No locals.
#3 0x00007ffff67031f7 in SDL_RunThread (data=0xb1d440) at ./src/thread/SDL_thread.c:204
userfunc = 0x7ffff6748be0
userdata = 0x0
#4 0x00007ffff6746b49 in RunThread (data=0x7ffff2a0de40) at ./src/thread/pthread/SDL_systhread.c:47
No locals.
#5 0x00007ffff796eb40 in start_thread (arg=) at pthread_create.c:304
__res =
pd = 0x7ffff2a0e700
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737264019200, -2628848071224629937, 140737488345424, 140737264019904, 140737354125376, 3, 2628855174056076623, 2628866014898775375}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call =
freesize =
PRETTY_FUNCTION = “start_thread”
#6 0x00007ffff4ba836d in clone () at …/sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#7 0x0000000000000000 in ?? ()
No symbol table info available.

Thread 1 (Thread 0x7ffff7fd1720 (LWP 9581)):
#0 0x00007ffff1488200 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
No symbol table info available.
#1 0x00007ffff154583a in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
No symbol table info available.
#2 0x00007ffff1541e6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
No symbol table info available.
#3 0x000000000076556e in IDirect3DDevice9::DrawPrimitiveUP(_D3DPRIMITIVETYPE, unsigned int, void const*, unsigned int) ()
No symbol table info available.
#4 0x00000000005665d4 in GUI_PostProcessor::DrawScenarioEffect() ()
No symbol table info available.
#5 0x0000000000566ab4 in GUI_PostProcessor::Apply() ()
No symbol table info available.
#6 0x0000000000687fe9 in GUI_BattleGUI::DrawFighting() ()
No symbol table info available.
#7 0x0000000000688774 in GUI_BattleGUI::Draw() ()
No symbol table info available.
#8 0x000000000062a123 in Game::GameProc() ()
No symbol table info available.
#9 0x00000000006b4588 in WinMain(void*, void*, char*, int) ()
No symbol table info available.
#10 0x00007ffff4af1ead in __libc_start_main (main=, argc=, ubp_av=, init=, fini=, rtld_fini=, stack_end=0x7fffffffe3d8) at libc-start.c:228
result =
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -2628848071224629937, 5117584, 140737488348128, 0, 0, 2628848070255666511, 2628868280139343183}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7b4cb0, 0x7fffffffe3e8}, data = {prev = 0x0, cleanup = 0x0, canceltype = 8080560}}}
not_first_call =
#11 0x00000000004e16b9 in _start ()

Which scenario were you trying to run?

That looks like a bug in the Open source driver that is not liking the GLSL shaders that one of the scenarios is using. If we can isolate which scenario causes that issue then I can nail down which shader is the culprit.

I was trying the tutorial.

Is there a way to get email notifications when someone replies to this thread?

Is there a mesa-dbg package available for your distro? If so, I think it would allow you to generate a more helpful crash log in case it needs to be sent to the mesa team.

Also, there’s a “subscribe topic” down at the bottom… And also a checkbox for “notify me when a reply is posted” when you make a post.

Edit: Looking at the latest source code for the R600 Gallium drivers, it looks like TGSI_OPCODE_RET is simply not supported (r600_shader.c)… Not supported by mesa or not supported by the hardware, I’m not sure which… I’d guess this is a mesa bug if this game has a shader that needs it.

Is it possible to convert those GLSL shaders to ARB? If so, I think that might be something to try.

I get a whole bunch of shader link errors every time I click on fight…

This happens on this PC:
Debian Linux 5.0 (Lenny) 32-bit
AMD Catalyst 9.3
MESA 7.3

and also on this PC:

Windows Vista host with Debian Linux 7.0 (Wheezy) 64-bit Guest
VirtualBox (latest version with guest extensions installed)
nVidia drivers for Windows (latest version)
MESA 7.11

So I do think there is something wrong with how the shaders are linked… Both my PCs play through the fight and even though the shaders give link errors about shields and such, the shields are still showing up in the game just fine… So I don’t know what the deal is with the shader link errors… They seem to be bogus / irrelevant because the game still runs fine.

I have to run the game in windowed mode on both Linux PCs so that I can click “OK” on the shader link error pop-ups or the game will not proceed to the battle.

The Windows version of the game runs just fine on Windows.

I also get this message from the game into the console…

XOpenIM() failed After clicking on fight

The shaders are used for global screen effects, and only some scenarios even use them. The latest build (hopefully up there today) handles the shader issue better, but first not displaying popups like it currently did, but just logging it to the console and silently ignoring the errors. However you shouldn’t be receiving any errors with the system using the AMD Catalyst drivers if they are setup right… (note that if you are using the proprietary drivers you shouldn’t be using mesa)

The drivers I’m using are about 3 years old because AMD dropped support for the hardware…

Anyway, game appears to run just fine now…

Just in case you’re curious about the link erros that I get…

Starting up GSB for Linux, Build: 2011-12-23T15:20:16Z data/shaders/nebulalightning.fx: Link Error (No Log) data/shaders/default_noeffect.fx: glCreateShader Error: 1282 data/shaders/shader.fx: Link Error (No Log) data/shaders/motionblur.fx: glCreateShader Error: 1282 data/shaders/stencil.fx: Link Error (No Log) data/shaders/shieldblast.fx: glCreateShader Error: 1282 data/shaders/default_noeffect.fx: Link Error (No Log) data/shaders/shader.fx: glCreateShader Error: 1282 data/shaders/motionblur.fx: Link Error (No Log) data/shaders/stencil.fx: glCreateShader Error: 1282 data/shaders/shieldblast.fx: Link Error (No Log) data/shaders/default_noeffect.fx: glCreateShader Error: 1282 data/shaders/shader.fx: Link Error (No Log) data/shaders/motionblur.fx: glCreateShader Error: 1282 data/shaders/stencil.fx: Link Error (No Log) data/shaders/shieldblast.fx: glCreateShader Error: 1282 data/shaders/default_noeffect.fx: Link Error (No Log) data/shaders/shader.fx: glCreateShader Error: 1282 data/shaders/motionblur.fx: Link Error (No Log) data/shaders/stencil.fx: glCreateShader Error: 1282 data/shaders/shieldblast.fx: Link Error (No Log) data/shaders/default_noeffect.fx: glCreateShader Error: 1282 data/shaders/shader.fx: Link Error (No Log) data/shaders/motionblur.fx: glCreateShader Error: 1282 data/shaders/stencil.fx: Link Error (No Log) data/shaders/shieldblast.fx: glCreateShader Error: 1282 data/shaders/default_noeffect.fx: Link Error (No Log) data/shaders/shader.fx: glCreateShader Error: 1282 data/shaders/motionblur.fx: Link Error (No Log) data/shaders/stencil.fx: glCreateShader Error: 1282 data/shaders/shieldblast.fx: Link Error (No Log)