Bug 100618

Summary: Dead Island crash after starting a new game
Product: Mesa Reporter: at46n
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED DUPLICATE QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium    
Version: 17.0   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
See Also: https://bugs.freedesktop.org/show_bug.cgi?id=85564
Whiteboard:
i915 platform: i915 features:
Attachments: crash log of Dead Island
gdb backtrace after crash
gdb backtrace from dead island after crash
valgrind logfile

Description at46n 2017-04-08 10:20:11 UTC
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
Comment 1 Michel Dänzer 2017-04-10 03:19:07 UTC
What are the symptoms of the crash? Can you get a backtrace?
Comment 2 at46n 2017-04-10 06:43:28 UTC
Created attachment 130769 [details]
crash log of Dead Island
Comment 3 at46n 2017-04-10 06:49:09 UTC
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.
Comment 4 Michel Dänzer 2017-04-10 06:58:44 UTC
Can you try attaching gdb to the game process and getting a backtrace of the crash?
Comment 5 at46n 2017-04-10 14:55:59 UTC
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.
Comment 6 at46n 2017-04-10 15:34:33 UTC
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.
Comment 7 Michel Dänzer 2017-04-11 02:07:12 UTC
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?
Comment 8 at46n 2017-04-11 15:37:12 UTC
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.
Comment 9 Michel Dänzer 2017-04-12 01:50:36 UTC
Something like

 valgrind %command%

in the game's Properties -> Launch Options should work.
Comment 10 at46n 2017-04-12 15:35:09 UTC
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.
Comment 11 Michel Dänzer 2017-04-13 04:06:16 UTC
(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.
Comment 12 at46n 2017-04-13 15:58:22 UTC
Created attachment 130831 [details]
valgrind logfile

An absolute path was the key. Logfile from valgrind is attached.
Comment 13 at46n 2017-05-09 17:47:03 UTC
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 ***
Comment 14 John Brooks 2017-05-09 18:30:56 UTC
(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.

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.