PDA

View Full Version : Crash on New Game or Benchmark



CreatorCray
25th Feb 2014, 10:02
Thief crashes immediately when clicking New Game or Benchmark menu items.
Tried to set lowest settings, just in case.
GPU nVidia GTS 250, Latest official drivers.


01:55:58:577 (3256) > THIEF (64-bit)
01:55:58:613 (3256) > ==============
01:55:58:651 (3256) >
01:55:58:682 (3256) >
01:55:58:717 (3256) > Memory statistics:
01:55:58:749 (3256) > Total RAM = 16.0 GB (16367 MB)
01:55:58:784 (3256) > Avail RAM = 14.0 GB (14330 MB)
01:55:58:822 (3256) > Total virtual memory = 8192.0 GB (8388607 MB)
01:55:58:859 (3256) > Avail virtual memory = 8191.8 GB (8388363 MB)
01:55:58:891 (3256) > OS = Windows Server 2008 R2 (build 7601)
01:55:58:964 (3256) > [audio] TrueAudio unavailable
01:55:58:991 (3256) > [audio] Convolution Reverb Option = SOFTWARE
01:55:59:087 (3256) > [Render] D3D reports feature level 11 is _not_ supported. Feature level: a000
01:55:59:378 (3256) > [Render] Initializing NxRenderer
01:55:59:466 (3256) > [Render] NxApp successfully created
01:56:00:516 (3256) > [Render] Applying display settings
01:56:00:559 (3724) > [Settings] New display settings are:
01:56:00:591 (3724) > [Settings] Using Mantle:0
01:56:00:626 (3724) > [Settings] Window mode:
01:56:00:657 (3724) > [Settings] Fullscreen:1
01:56:00:692 (3724) > [Settings] Excl.Fullscreen:1
01:56:00:724 (3724) > [Settings] Monitor:0
01:56:00:767 (3724) > [Settings] Monitor Rect: x:0 y:0 w:1920 h:1200
01:56:00:799 (3724) > [Settings] Workspace Rect: x:0 y:0 w:1920 h:1200
01:56:00:834 (3724) > [Settings] Aspect Ratio:1.600473 (Pixel Aspect Ratio:0.999705)
01:56:00:866 (3724) > [Settings] Fullscreen display mode:
01:56:00:901 (3724) > [Settings] Display mode: 1920x1200@60
01:56:00:932 (3724) > [Settings] VSync:1, TripleBuffer:0
01:56:00:967 (3724) > [Settings] Stereoscopic3D:0
01:56:01:007 (3724) > [Settings] Window settings:
01:56:01:042 (3724) > [Settings] Window rect: x:160 y:150 w:1600 h:900
01:56:01:074 (3724) > [Settings] User window: w:1600 h:900
01:56:01:109 (3724) > [Settings] Window maximized:0
01:56:01:141 (3724) > [Settings] Graphics Options:
01:56:01:176 (3724) > [Settings] TextureQuality:2, ShadowQuality:0, TextureFiltering:0
01:56:01:216 (3724) > [Settings] SSR:0, DOFQuality:0, POM:0, SSAA:0, FXAA:0, CHS:0, Tess:0
01:56:01:251 (3724) > [Settings] FOVCorrection:0.000000
01:56:01:282 (3724) > [Settings] StereoSeparation:0.400000
01:56:01:317 (3724) > [Settings] StereoPlaneDepth:0.100000
01:56:01:349 (3724) > [Settings] End of settings.
01:56:01:384 (3256) > [Render] Finished applying display settings
01:56:15:806 (3256) > [audio] Convolution Reverb Option = SOFTWARE

I do not see how to attach crashdump file, so I tried to triage this issue for you.
Initial analysis shows the following issue:


FAULTING_IP:
+795c9
00000000`00000000 ?? ???

EXCEPTION_RECORD: ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0000000000000000
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000008
Parameter[1]: 0000000000000000
Attempt to execute non-executable address 0000000000000000
PROCESS_NAME: shipping-thiefgame.exe

FOLLOWUP_IP:
shipping_thiefgame!Scaleform::Render::Matrix2x4<float>::Prepend+795c9
00000001`3f849a09 4883c428 add rsp,28h

STACK_TEXT:
00000000`0059f628 00000001`3f849a09 : 00000000`3252b4c0 00000001`40d11f50 00000000`11bbc2c0 00000001`3f440f17 : 0x0
00000000`0059f630 00000001`3f84a07b : 00000000`00000000 00000001`40d11f50 00000000`00000000 00000000`00000000 : shipping_thiefgame!Scaleform::Render::Matrix2x4<float>::Prepend+0x795c9
00000000`0059f660 00000001`3f3a0e80 : 00000000`00000000 00000001`411e0f70 00000000`00000000 00000000`00000000 : shipping_thiefgame!Scaleform::Render::Matrix2x4<float>::Prepend+0x79c3b
00000000`0059f690 00000001`3f8aaf5b : 00000000`00000000 00000000`00000000 00000000`00000000 00000001`411e0f70 : shipping_thiefgame!Scaleform::System::`default constructor closure'+0x23f130
00000000`0059f7f0 00000001`3f8af29c : 00000000`00000fb0 00000001`4101adc0 00000000`31686c60 00000000`31686c60 : shipping_thiefgame!Scaleform::Render::Matrix2x4<float>::Prepend+0xdab1b
00000000`0059f8b0 00000001`3f8af35a : 00000000`006c3200 00000000`00000000 00000000`0000000a 00000001`3f050000 : shipping_thiefgame!Scaleform::Render::Matrix2x4<float>::Prepend+0xdee5c
00000000`0059f930 00000001`3f8af42d : 00000000`006c3200 00000000`0000000a 00000000`006c3cad 00000000`008f2af0 : shipping_thiefgame!Scaleform::Render::Matrix2x4<float>::Prepend+0xdef1a
00000000`0059f970 00000001`404c084f : 00000000`006c3cad 00000000`00000000 00000000`00000000 00000000`00000000 : shipping_thiefgame!Scaleform::Render::Matrix2x4<float>::Prepend+0xdefed
00000000`0059f9b0 00000000`774b652d : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : shipping_thiefgame!AK::MemoryMgr::GetPoolName+0x29a39f
00000000`0059fa60 00000000`775ec541 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0xd
00000000`0059fa90 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d


Regards,
-- Alex

NixxesSoftware
25th Feb 2014, 10:54
Hello Alex,

Thank you for your information and our apologies for this inconvenience. We are aware of the issue and the problem is currently being investigated further. I have forwarded your files and we hope to be able to deliver a solution soon.

wokingpanda
25th Feb 2014, 13:36
I don't have the crash report or the screen crashes anymore. Now my screen just exits to the desktop screen without a trace.

Electron05
27th Feb 2014, 03:34
I have had the same problem and noticed something odd in the log.


19:19:19:173 (3732) > THIEF (64-bit)
19:19:19:175 (3732) > ==============
19:19:19:175 (3732) >
19:19:19:176 (3732) >
19:19:19:176 (3732) > Memory statistics:
19:19:19:177 (3732) > Total RAM = 12.0 GB (12279 MB)
19:19:19:178 (3732) > Avail RAM = 10.6 GB (10878 MB)
19:19:19:178 (3732) > Total virtual memory = 8192.0 GB (8388607 MB)
19:19:19:179 (3732) > Avail virtual memory = 8191.7 GB (8388339 MB)
19:19:19:180 (3732) > OS = Windows Server 2008 R2 (build 7601)
19:19:19:222 (3732) > [audio] TrueAudio unavailable
19:19:19:222 (3732) > [audio] Convolution Reverb Option = SOFTWARE
19:19:19:288 (3732) > [Render] Initializing NxRenderer
19:19:19:289 (3732) > [Render] NxApp successfully created
19:19:35:488 (3732) > [audio] Convolution Reverb Option = SOFTWARE


The log lists 8192.0 GB Total virtual memory. I do not have a paging file so this should be 0. I have tried running the game with different sizes of paging files and the Total and Available virtual memory numbers are always the same as in this log. I also see that we are both running server 2008 R2. I wonder if the game is not properly reading memory numbers from server.

Server 2008 R2 64bit
Nvidia GTX 570 334.89
12GB RAM

CreatorCray
27th Feb 2014, 04:40
Ok, I fixed that crash.
I'll tell you how, but first I want to express my disappointment of awful coding practice I saw during investigation of this crash.
Well, where to start.
I looked into the dump file trying to find more information about the place where this crash occurs and found more than I expected.

Crash occurs at some kind of proxy call to the address stored in global variable.
There only two places from where this variable is assigned:
1) Some initialization routine, just 'var = 0'
2) Some startup routine, literally doing 'var = GetProcAddress ("XInput9_1_0.dll", "XInputSetState")'

Yes, that's it. No checks for missing XInput9_1_0.dll (It was missing on my box by some strange reason), and no checks for NULL being returned from GetProcAddress.

Guys, I'm seriously disappointed! Seriously! No hire!
It's a shame that your customer found this one faster than you! Yes, I was a game developer some years ago and yes, I know how to use WinDbg but I had nothing but dump and you have source code.

Ok, now, how to fix it.
I think the DX installer is kinda buggy - it just do not want to install this DLL.
I tried webinstaller from MS site and the one that comes with the game - nothing works.
To install this DLL you should unpack <steam folder>\Thief\_CommonRedist\DirectX\Jun2010\Oct2005_xinput_x64.cab somewhere, then run 'infinst.exe xinput9_1_0_x64.inf, Install_Driver' in that folder.

PS. Forum says that I cannot attach files, how I supposed to report crashes then? Reporters must have an ability to attach crash dump to the report.

Electron05
27th Feb 2014, 04:53
Thank you CreatorCray. Your solution worked perfectly for me. Still a little concerned that the game thinks i have 8TB of virtual memory tho.