Bug 66967

Summary: Dota 2 crashes with r600g when starting the tutorial
Product: Mesa Reporter: Tilman Sauerbeck <tilman>
Component: Drivers/Gallium/r600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: Log

Description Tilman Sauerbeck 2013-07-16 16:06:08 UTC
Created attachment 82486 [details]
Log

When trying to start the tutorial in today's version of Dota 2, there's a segfault in check_begin_texture_render():

Program received signal SIGSEGV, Segmentation fault.
0xf5397c5a in check_begin_texture_render (ctx=0x8bb4000, fb=0x17e90700)
    at ../../src/mesa/main/fbobject.c:1871
1871	      if (att->Texture && att->Renderbuffer->TexImage) {
(gdb) p *att
$3 = {Type = 5890, Complete = 0 '\000', Renderbuffer = 0x0, 
  Texture = 0x17e88500, TextureLevel = 0, CubeMapFace = 0, Zoffset = 0, 
  Layered = 0 '\000'}

att->Renderbuffer is dereferenced even though it's null.

I can reproduce this segfault reliably with Mesa git-e4fdf1b on my rv730.

The log I'm attaching shows a bunch of messages like
>  ##### CMaterialReference::Init got error material for dev\white in tex group Other textures
that might be related.
Comment 1 Tilman Sauerbeck 2013-07-17 15:43:33 UTC
Ugh, I forgot to post the backtrace:

#0  0xf538fc5a in check_begin_texture_render (ctx=0x8bbe000, fb=0x17da4a80)
    at ../../src/mesa/main/fbobject.c:1871
#1  0xf539007d in _mesa_BindFramebuffer (target=36160, framebuffer=24)
    at ../../src/mesa/main/fbobject.c:2018
#2  0xf730f3d1 in ?? ()
   from /home/tilman/.local/share/Steam/SteamApps/common/dota 2 test/bin/libtogl.so
#3  0xf7302e30 in IDirect3DDevice9::UpdateBoundFBO() ()
   from /home/tilman/.local/share/Steam/SteamApps/common/dota 2 test/bin/libtogl.so
#4  0xf7303070 in IDirect3DDevice9::Clear(unsigned int, _D3DRECT const*, unsigned int, unsigned int, float, unsigned int) ()
   from /home/tilman/.local/share/Steam/SteamApps/common/dota 2 test/bin/libtogl.so
#5  0xf1a10849 in ?? ()
   from /home/tilman/.local/share/Steam/SteamApps/common/dota 2 test/bin/shaderapidx9.so
#6  0xf375ef8f in ?? ()
   from /home/tilman/.local/share/Steam/SteamApps/common/dota 2 test/bin/materialsystem.so
#7  0xee553ea7 in ?? ()
   from /home/tilman/.local/share/Steam/SteamApps/common/dota 2 test/dota/bin/client.so
[...]
Comment 2 Tilman Sauerbeck 2013-07-31 15:18:43 UTC
With a driver that was configured with --enable-texture-float, it doesn't crash in that particular spot anymore.

Instead it now crashes in dota 2 beta/bin/stdshader_dx9.so. Strangely, it does _not_ crash if you run it in apitrace. I don't know what to make of that.
Comment 3 Daniel Dietrich 2013-08-07 10:52:38 UTC
I'm not sure if I and others experience the same problem as you, but when I try to start the first tutorial mission in DotA 2 (or change the resolution in the options menu), the game crashes.
I reported my issues first at the Valve bugtracker:
https://github.com/ValveSoftware/Dota-2/issues/597
https://github.com/ValveSoftware/Dota-2/issues/598

User dabreese00 compiled a collection of all similiar bug reports in the following meta-issue:
https://github.com/ValveSoftware/Dota-2/issues/655

It seems to boil down to a general shader issue with Mesa, as users with Intel & R600 drivers are having the problems. When one delete certain shader files the game will start.

User Plagman there said
"These GLSL shaders should be syntactically correct, so I suggest filing a bug against Mesa instead and using the official AMD driver until this is fixed on their end."

The latest version I did try was mesa/lib32-mesa 9.3.0_devel.57891-1.

I would really appreciate if you could take a look into the problem.

This bug report might be related to https://bugs.freedesktop.org/show_bug.cgi?id=55241
Comment 4 Tilman Sauerbeck 2013-08-21 07:08:42 UTC
(In reply to comment #3)
> I'm not sure if I and others experience the same problem as you, but when I
> try to start the first tutorial mission in DotA 2 (or change the resolution
> in the options menu), the game crashes.

I can change the resolution just fine.

> It seems to boil down to a general shader issue with Mesa, as users with
> Intel & R600 drivers are having the problems. When one delete certain shader
> files the game will start.

Nope, deleting/renaming the fxc subdirectory doesn't help on my system.

Looks like I'm seeing a different problem than you are.
Comment 5 Tilman Sauerbeck 2014-01-05 15:53:53 UTC
(In reply to comment #2)
> With a driver that was configured with --enable-texture-float, it doesn't
> crash in that particular spot anymore.

resolved/invalid.

> Instead it now crashes in dota 2 beta/bin/stdshader_dx9.so. Strangely, it
> does _not_ crash if you run it in apitrace. I don't know what to make of
> that.

This might have been a bug in dota2.

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.