After you choose a character, the game loads for a few seconds and then it crashes. Graphic card is an AMD R7 260X. Tried Mesa 12.0.6 and 17.0.3 via padoka stable ppa. Could be related to #85564 https://bugs.freedesktop.org/show_bug.cgi?id=85564
What are the symptoms of the crash? Can you get a backtrace?
Created attachment 130769 [details]
crash log of Dead Island
I added the crash log of the game. There is no error at the end. The Game seems to crash while compiling shaders. Let me know if I could do any more to help with this bug or if you need more infos of my system.
Can you try attaching gdb to the game process and getting a backtrace of the crash?
Created attachment 130779 [details]
gdb backtrace after crash
I'm not familiar with gdb, so I'm not sure if I did what you were asking for. I started the game with "DEBUGGER=gdb steam steam://rungameid/91310", continued till the game crashes, typed backtrace and copied the output.
Created attachment 130781 [details]
gdb backtrace from dead island after crash
The first file seems to be only gdb backtrace of steam. So I tried to use "gdb --pid=xxxx" and this looks like I got gdb running with the game. Hope this helps.
That's it, thanks.
There is no direct reference to any driver code in the backtrace. It's still possible that the crash is at least indirectly related to driver code, but the backtrace isn't enough to find out how. Any chance you can run the game in valgrind and see if that gives more clues?
I have no idea how to start the game in valgrind because I have to start the game through steam. For gdb I used the --pid option to take over the process of the game after starting it through steam but there doesn't seems to be such an option for valgrind. All I managed to do was debug steam with valgrind but not the game.
in the game's Properties -> Launch Options should work.
Yes, that works. Valgrind starts the game which takes a long time (about 20 min). But how do I get the log from valgrind now? I started steam in a terminal but there is only steam and normal game output like in crash.log but nothing from valgrind. I also tried starting steam with "steam > log.txt 2>&1" but there's nothing from valgrind in log.txt either. And "valgrind --log-file=val.txt %command%" doesn't give me a log file.
But none the less Dead Island doesn't crash when started through valgrind. I can start a new game. Unfortunately the character spawns somewhere out of the map and dies, repeatable. But I couldn't get the game to crash any more. If I start the game without valgrind it crashes either from a new game or from continuing the game started in valgrind.
(In reply to at46n from comment #10)
> I started steam in a terminal but there is only steam and normal game output
> like in crash.log but nothing from valgrind.
It might be captured in ~/.steam/error.log .
> And "valgrind --log-file=val.txt %command%" doesn't give me a log file.
Might try specifying an absolute path, or searching for val.txt inside ~/.steam/ .
> But none the less Dead Island doesn't crash when started through valgrind. I
> can start a new game.
That probably means there are indeed memory management/access violations, which valgrind absorbs enough to make things limp along. So it would be good to see the valgrind output.
Created attachment 130831 [details]
An absolute path was the key. Logfile from valgrind is attached.
Seems like its a glsl compiler bug and not a radeonsi bug. With "prlimit --pid PIDofDeadIsland -n65535" I am able to start and play the game.
*** This bug has been marked as a duplicate of bug 85564 ***
(In reply to at46n from comment #13)
> Seems like its a glsl compiler bug and not a radeonsi bug. With "prlimit
> --pid PIDofDeadIsland -n65535" I am able to start and play the game.
> *** This bug has been marked as a duplicate of bug 85564 ***
Not quite. The shaders actually compile fine, but Mesa does not yet support retrieving a binary with glGetProgramBinary(), and it's likely that the game mishandles this, resulting in running out of file descriptors, mishandling that error condition, and then crashing.