Bug 93934 - DRI_PRIME=1: DeadIsland crash
Summary: DRI_PRIME=1: DeadIsland crash
Status: RESOLVED DUPLICATE of bug 85564
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/nouveau (show other bugs)
Version: 11.0
Hardware: Other All
: medium normal
Assignee: Nouveau Project
QA Contact: Nouveau Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-30 02:33 UTC by Marcos Souza
Modified: 2017-10-26 23:28 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Output of game when running steam on console using DRI_PRIME=1 (127.53 KB, application/octet-stream)
2016-01-30 02:33 UTC, Marcos Souza
Details

Description Marcos Souza 2016-01-30 02:33:42 UTC
Created attachment 121406 [details]
Output of game when running steam on console using DRI_PRIME=1

DeadIsland starts OK, you choose the character, and the loading starts. When the loading finishes, screen goes black and the game crashes. I'm using Fedora 23 with mesa from reporitory.

DRI_PRIME=1 glxinfo | grep OpenGL
OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NVD7
OpenGL core profile version string: 4.1 (Core Profile) Mesa 11.1.0 (git-525f3c2)
OpenGL core profile shading language version string: 4.10
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.1.0 (git-525f3c2)
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.1.0 (git-525f3c2)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

This problem also happens when using my Haswell card, and it crashes of the same point:
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile 
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.1.0 (git-525f3c2)
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.1.0 (git-525f3c2)
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.1.0 (git-525f3c2)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

Please, let me know if more info is needed.

Thanks.
Comment 1 Marcos Souza 2016-01-30 02:40:16 UTC
I don't know if this helps, but this is some output of demsg while running the game:

[ 5604.958910] nouveau 0000:04:00.0: DRM: resuming kernel object tree...
[ 5605.066267] nouveau 0000:04:00.0: DRM: resuming client object trees...
[ 5612.931359] ACPI Warning: \_SB_.PCI0.RP05.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150818/nsarguments-95)
[ 5612.931715] ACPI: \_SB_.PCI0.RP05.PEGP: failed to evaluate _DSM
[ 5612.931720] ACPI Warning: \_SB_.PCI0.RP05.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150818/nsarguments-95)
[ 5612.931881] nouveau 0000:04:00.0: DRM: evicting buffers...
[ 5612.971139] nouveau 0000:04:00.0: DRM: waiting for kernel channels to go idle...
[ 5612.971174] nouveau 0000:04:00.0: DRM: suspending client object trees...
[ 5612.971546] nouveau 0000:04:00.0: DRM: suspending kernel object tree...
[ 5614.303597] nouveau 0000:04:00.0: DRM: resuming kernel object tree...
[ 5614.419667] nouveau 0000:04:00.0: DRM: resuming client object trees...
[ 5633.956289] ACPI Warning: \_SB_.PCI0.RP05.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150818/nsarguments-95)
[ 5633.956562] ACPI: \_SB_.PCI0.RP05.PEGP: failed to evaluate _DSM
[ 5633.956566] ACPI Warning: \_SB_.PCI0.RP05.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150818/nsarguments-95)
[ 5633.956702] nouveau 0000:04:00.0: DRM: evicting buffers...
[ 5634.304888] nouveau 0000:04:00.0: DRM: waiting for kernel channels to go idle...
[ 5634.304927] nouveau 0000:04:00.0: DRM: suspending client object trees...
[ 5634.305325] nouveau 0000:04:00.0: DRM: suspending kernel object tree...
[ 5636.107703] nouveau 0000:04:00.0: DRM: resuming kernel object tree...
[ 5636.233536] nouveau 0000:04:00.0: DRM: resuming client object trees...
[ 5705.167328] DeadIslandGame[6952]: segfault at 0 ip 00000000f6f8a106 sp 00000000ffe1ec88 error 4 in libc-2.22.so[f6ef2000+1c7000]
[ 5710.009638] ACPI Warning: \_SB_.PCI0.RP05.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150818/nsarguments-95)
[ 5710.010004] ACPI: \_SB_.PCI0.RP05.PEGP: failed to evaluate _DSM
[ 5710.010010] ACPI Warning: \_SB_.PCI0.RP05.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150818/nsarguments-95)
[ 5710.010213] nouveau 0000:04:00.0: DRM: evicting buffers...
[ 5711.269442] nouveau 0000:04:00.0: DRM: waiting for kernel channels to go idle...
[ 5711.269481] nouveau 0000:04:00.0: DRM: suspending client object trees...
[ 5711.269903] nouveau 0000:04:00.0: DRM: suspending kernel object tree...
[ 5721.336572] nouveau 0000:04:00.0: DRM: resuming kernel object tree...
[ 5721.472976] nouveau 0000:04:00.0: DRM: resuming client object trees...
Comment 2 Ilia Mirkin 2016-01-30 02:40:59 UTC
Mesa 11.1.1 has been released, you should definitely try updating. (You appear to be using the 11.1.0 release.) It appears you're self-compiling... please be aware that most games on Steam are 32-bit, so the libraries you build have to match.

Either way, the log you attached provides no information as to the issue. Probably the easiest course of action is to apitrace the program. There's some advice on how to do that here: https://github.com/apitrace/apitrace/wiki/Steam

Alternatively try running it in gdb and seeing what the problem is. Try getting a debug mesa build, perhaps you'll get more information with that.

If there's a demo/free-to-play version of the game which reproduces this issue, I could have a look directly.
Comment 3 Ilia Mirkin 2016-01-30 03:43:04 UTC
Some version of the game also had buggy shaders for which we have a workaround in Mesa, but perhaps it's not the same one (the workaround applies to the binary name). Try starting the game with

allow_glsl_extension_directive_midshader=true

in the environment.
Comment 4 Marcos Souza 2016-01-30 03:49:37 UTC
(In reply to Ilia Mirkin from comment #2)
> Mesa 11.1.1 has been released, you should definitely try updating. (You
> appear to be using the 11.1.0 release.) It appears you're self-compiling...
> please be aware that most games on Steam are 32-bit, so the libraries you
> build have to match.
> 
> Either way, the log you attached provides no information as to the issue.
> Probably the easiest course of action is to apitrace the program. There's
> some advice on how to do that here:
> https://github.com/apitrace/apitrace/wiki/Steam
> 
> Alternatively try running it in gdb and seeing what the problem is. Try
> getting a debug mesa build, perhaps you'll get more information with that.
> 
> If there's a demo/free-to-play version of the game which reproduces this
> issue, I could have a look directly.

I'm using mesa of Fedora repository, and not a self-compiled one.(In reply to Ilia Mirkin from comment #3)
> Some version of the game also had buggy shaders for which we have a
> workaround in Mesa, but perhaps it's not the same one (the workaround
> applies to the binary name). Try starting the game with
> 
> allow_glsl_extension_directive_midshader=true
> 
> in the environment.

Thank you for the tips. I'll get the info from GDB and apitrace, and also from this env var, and post the result here.
Comment 5 Marcos Souza 2016-05-19 04:41:11 UTC
New information, using GDB it shows the crash:
#0  0xf703fe16 in __strchr_sse2_bsf () from /lib/libc.so.6
#1  0x09e20afc in ExtractDescriptions(ttl::string_base<char> const&) ()
#2  0x09e23724 in Renderer::RCreateShaderHwResources(_RSeparateShaderObject*&, _RCompiledByteCode*, EShaderProfile::TYPE) ()
#3  0x09dff13a in CPShader::CPShader(ClassReaderResolve*) ()
#4  0x09dff8a8 in ConstructMaterial(void*, unsigned int, unsigned int, void*) ()
#5  0x09e9862d in ClassReader::Resolve(bool (*)(void*, unsigned int, unsigned int, void*), void*) ()
#6  0x09a9db47 in CRLRPlatformLinux::RegisterMaterialResource(CResourceDataPack*, RDPLogicalResourceEntryHeader*) ()
#7  0x09d0b2de in CResourceLoadingRuntimeCommons::RegisterResources(CResourceDataPack*, EResType, void (CResourceLoadingRuntimeCommons::*)(CResourceDataPack*, RDPLogicalResourceEntryHeader*)) ()
#8  0x09a9dd30 in CRLRPlatformLinux::OnLoadComplete(CResourceDataPack*) ()
#9  0x09aaf90c in CResourceDataPack::LoadDataTasks(ttl::vectorm<(EMem::TYPE)40, CResourceDataPack::LoadTask>&, bool) ()
#10 0x09aafa88 in CResourceDataPack::LoadData(bool) ()
#11 0x09a99f51 in CResourceLoadingRuntime::LoadPack(char const*, CResourceDataPack**, unsigned int) ()
#12 0x0985a9db in CLevel::CLevel(ILevel*) ()
#13 0x097d97b6 in CFactory::CreateObject(CRTTI const*, CGSObject*, bool, unsigned char, unsigned long long, bool) ()
#14 0x09bd0ea1 in CSerializableObject::ChunkLoadGSObject(fs::ifile&, long, int, CGSObject*, CRTTI const*) ()
#15 0x097cda11 in CGame::LoadChunk(fs::ifile&, unsigned short, long) ()
#16 0x09bd14f7 in CSerializableObject::BaseLoad(fs::ifile&, long) ()
#17 0x09bd1611 in CSerializableObject::Load(fs::ifile&, long) ()
#18 0x097d1353 in CGame::SafeLoad(char const*, fs::ifile&, long) ()
#19 0x097d5140 in CGame::LoadGameModuleInternal(char const*, CGSObject*, IProgressIndicator*) ()
#20 0x097dda1d in IGame::LoadModule(ttl::string_base<char> const&, IGSObject*, IProgressIndicator*) ()
#21 0x08ac4014 in SessionDI::LoadLevel() ()
#22 0x08aa4267 in SessionCooperative::LoadLevel() ()
#23 0x08ac9b21 in SessionDI::ChangeActiveLevel() ()
#24 0x097d1d48 in CGame::CallFrameEndHandlers() ()
#25 0x097d244a in CGame::Frame(bool, bool) ()
#26 0x097cdeae in CGame::OnPaint() ()
#27 0x097cd473 in CGame::DoSdlLoop() ()
#28 0x088f4712 in main ()

The output is the same on Haswell and nouveau, this is isn't related to mesa?
Comment 6 Timothy Arceri 2017-10-26 23:28:55 UTC

*** This bug has been marked as a duplicate of bug 85564 ***


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.