Game Development Community

Alt + Tab crash

by amaranthia · in Torque Game Builder · 03/23/2007 (10:28 am) · 3 replies

I know this is an elusive problem, but I thought I would list it for you (I saw some old posts dedicated to it in the TGE forum). When I sent my game to my publisher, one of their QA guys found that the game crashed when he did an ALT + TAB to another application. I can't get the problem to repro on my test machines, so I'm not quite sure how to fix the issue. I don't think it's a huge deal since it doesn't seem to effect that many people, but I thought any info I could forward on to you could be useful.

The QA guy sent me the following report:

On Vista Ultimate 64 bit edition if you alt tab out of the game, and alt tab back in to the game a window comes up saying "Grimm's Hatchery has stopped working".

This does not repro on Vista Ultimate 32 bit edition or Windows XP (32 bit).

Here's a !analyze -v of the exception (no symbols for GH):
{noformat}0:000:x86> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************

*** WARNING: Unable to verify checksum for C:\Users\michael.sunwoo\Desktop\Grimm's Hatchery\Grimms_Hatchery.exe
*** ERROR: Module load completed but symbols could not be loaded for C:\Users\michael.sunwoo\Desktop\Grimm's Hatchery\Grimms_Hatchery.exe

FAULTING_IP: 
+7307834f
00000000'7307834f ?? ???

EXCEPTION_RECORD: ffffffffffffffff -- (.exr ffffffffffffffff)
ExceptionAddress: 000000007307834f
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000008
Parameter[1]: 000000007307834f
Attempt to execute non-executable address 000000007307834f

FAULTING_THREAD: 0000000000000e34

DEFAULT_BUCKET_ID: SOFTWARE_NX_FAULT

PROCESS_NAME: Grimms_Hatchery.exe

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

WRITE_ADDRESS: 000000007307834f 

BUGCHECK_STR: ACCESS_VIOLATION

IP_ON_HEAP: 000000007307834f
The fault address in not in any loaded module, please check your build's rebase
log at <releasedir>\bin\build_logs\timebuild\ntrebase.log for module which may
contain the address if it were loaded.

IP_IN_FREE_BLOCK: 1800200000000a

LAST_CONTROL_TRANSFER: from 0000000000000000 to 000000007307834f

SYMBOL_ON_RAW_STACK: 1

STACK_ADDR_RAW_STACK_SYMBOL: 1f002800010004

STACK_COMMAND: dds 000000000017FF00-0x20 ; kb

STACK_TEXT: 
00000000'0017fee0 00000000
00000000'0017fee4 0061e1a0 Grimms_Hatchery+0x21e1a0
00000000'0017fee8 024a14e8
00000000'0017feec 024a07c8
00000000'0017fef0 b1a2d901
00000000'0017fef4 0017ffa0
00000000'0017fef8 005937c3 Grimms_Hatchery+0x1937c3
00000000'0017fefc 00000000
00000000'0017ff00 00000022
00000000'0017ff04 00000000
00000000'0017ff08 00000004
00000000'0017ff0c 0058495d Grimms_Hatchery+0x18495d
00000000'0017ff10 00400000 Grimms_Hatchery
00000000'0017ff14 00000000
00000000'0017ff18 007d2b17
00000000'0017ff1c 00000001
00000000'0017ff20 b1d5e1ac
00000000'0017ff24 00000000
00000000'0017ff28 00000000
00000000'0017ff2c fffde000
00000000'0017ff30 00000044
00000000'0017ff34 007eb9b0
00000000'0017ff38 007ead88
00000000'0017ff3c 007ed978
00000000'0017ff40 00000000
00000000'0017ff44 00000000
00000000'0017ff48 00000000
00000000'0017ff4c 00000000
00000000'0017ff50 00000000
00000000'0017ff54 00000000
00000000'0017ff58 00000000
00000000'0017ff5c 00000001


PRIMARY_PROBLEM_CLASS: SOFTWARE_NX_FAULT

FOLLOWUP_IP: 
Grimms_Hatchery+1937c3
00000000'005937c3 83c410 add esp,10h

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: Grimms_Hatchery

IMAGE_NAME: Grimms_Hatchery.exe

DEBUG_FLR_IMAGE_TIMESTAMP: 45ff3c66

SYMBOL_NAME: Grimms_Hatchery+1937c3

FAILURE_BUCKET_ID: X64_ACCESS_VIOLATION_Grimms_Hatchery+1937c3

BUCKET_ID: X64_ACCESS_VIOLATION_Grimms_Hatchery+1937c3

Followup: MachineOwner{noformat}

#1
03/23/2007 (11:27 am)
Http://www.garagegames.com/mg/forums/result.thread.php?qt=42370
#2
03/23/2007 (11:40 am)
Just checked out the code, but I think the link is for another fix... something about full screen appearing with a border... My problem is that the game crashes and I get this error:

"Grimm's Hatchery has stopped working
A problem caused the program to stop working correctly. Windows will close the program and notify you if a solution is available."
#3
03/23/2007 (2:41 pm)
What you get above is an NX error.
This means that you try to execute code from "storage" RAM which is not allowed to execute code and the processor + Windows blocked that.


As Vista64 enforces a much stronger security level (not allows but enforces) than Vista 32 bit, there is no way around that other than making sure that you do not try to execute code from Storage RAM addresses.


Have you enabled the 64bit compatibility warnings etc in the project settings of TGB yet to find the potential cause for this failure.

PS: Torque technology does not officially support Vista at all