I'm getting a different access violation. Seems to happen shortly after an autosave. In fact, I know for a fact it's ave related - it just happened when I hit 'save'. The message is:
Error: Access violation at 0x00000002 (tried to read from 0x00000002), program terminated.
I work in Tech support, so I know that printing just an access violation address isn't going to be a huge help.
Here is the stacks:
Thread 0:
# ChildEBP RetAddr Args to Child
WARNING: Stack unwind information not available. Following frames may be wrong.
00 0012d7a4 77d561c6 000f034e 00000000 00000001 ntdll!KiFastSystemCallRet
01 0012d7cc 77d6a92e 77d40000 0014b6f8 00000000 USER32!DrawStateW+0x1f2
02 0012da8c 77d6a294 0012dbe8 00000000 ffffffff USER32!SoftModalMessageBox+0x677
03 0012dbdc 77d95fbb 0012dbe8 00000028 00000000 USER32!MessageBoxIndirectA+0x23a
04 0012dc34 77d96060 00000000 0014b180 00000000 USER32!MessageBoxTimeoutW+0x7a
05 0012dc68 77d80577 00000000 0012e638 00000000 USER32!MessageBoxTimeoutA+0x9c
06 0012dc88 77d8052f 00000000 0012e638 00000000 USER32!MessageBoxExA+0x1b
07 0012dca4 00b06422 00000000 0012e638 00000000 USER32!MessageBoxA+0x45
08 0012f774 00b0176f 00000000 00000004 00000000 Sam_and_Max___The_Mole__The_Mob_and_the_Meatball+0 x706422
09 0012fed8 00b018ac 0012ff0c 00b020ca 00000000 Sam_and_Max___The_Mole__The_Mob_and_the_Meatball+0 x70176f
0a 0012fee0 00b020ca 00000000 00b15b2b 0012fef8 Sam_and_Max___The_Mole__The_Mob_and_the_Meatball+0 x7018ac
0b 0012ff0c 00b15bf9 00400000 00000000 00142517 Sam_and_Max___The_Mole__The_Mob_and_the_Meatball+0 x7020ca
0c 0012ffc0 7c816fd7 00380039 00350039 7ffde000 Sam_and_Max___The_Mole__The_Mob_and_the_Meatball+0 x715bf9
0d 0012ffc4 00380039 00350039 7ffde000 805502fa kernel32!RegisterWaitForInputIdle+0x49
0e 0012ffc8 00350039 7ffde000 805502fa 0012ffc8 0x380039
0f 0012ffcc 7ffde000 805502fa 0012ffc8 84bbe020 0x350039
10 0012ffd0 805502fa 0012ffc8 84bbe020 ffffffff 0x7ffde000
11 0012ffd4 0012ffc8 84bbe020 ffffffff 7c839aa8 0x805502fa
12 0012ffd8 84bbe020 ffffffff 7c839aa8 7c816fe0 0x12ffc8
13 0012ffdc ffffffff 7c839aa8 7c816fe0 00000000 0x84bbe020
14 0012ffe0 7c839aa8 7c816fe0 00000000 00000000 0xffffffff
15 0012ffe4 7c816fe0 00000000 00000000 00000000 kernel32!ValidateLocale+0x2b0
16 0012ffe8 00000000 00000000 00000000 00b2a000 kernel32!RegisterWaitForInputIdle+0x52
Thread 1:
# ChildEBP RetAddr Args to Child
WARNING: Stack unwind information not available. Following frames may be wrong.
00 014aec58 7c90104b 00b41490 00b037ad 00b41490 ntdll!KiFastSystemCallRet
01 014afcf8 77d48734 00200686 00000113 00000001 ntdll!RtlEnterCriticalSection+0x46
02 014afd24 77d48816 00b036ca 00200686 00000113 USER32!GetDC+0x6d
03 014afd8c 77d489cd 00000000 00b036ca 00200686 USER32!GetDC+0x14f
04 014afdec 77d496c7 014afe40 00000001 014affb4 USER32!GetWindowLongW+0x127
05 014afdfc 00b03677 014afe40 0012d9c4 7c80243c USER32!DispatchMessageA+0xf
06 014affb4 7c80b683 0000004c 0012d9c4 7c80243c Sam_and_Max___The_Mole__The_Mob_and_the_Meatball+0 x703677
07 014affec 00000000 00b032c3 0000004c 00000000 kernel32!GetModuleFileNameA+0x1b4
Thread 2:
# ChildEBP RetAddr Args to Child
00 0165fff4 00000000 00000000 00000008 000060c0 ntdll!DbgBreakPoint
I am currently doing the following in order to gather additional info when my next access violation occurs. I suggest everyone does the same. Knowing what the program is doing at the time of the access violation is a tremendous help in debugging.
1) Install Debugging tools for windows:
http://www.microsoft.com/whdc/devtoo...nstallx86.mspx
2) Start Sam and max: set options to turn off full screen.
(possibly an optional step)
3) Start windbg, installed in step 1.
4) File -> attach to process
select the sam and max process.
5) play the game until you hit the access violation box.
6) Go back to windbg, and do: Debug -> break
7) view ->processes and threads
view -> call stack
8) click on each thread in the processes and threads window.
THe contents of the Calls (call stack) window will change for each thread.
IN the calls window, in the upper right corner, there is an icon that you can right click on, that lists the option 'copy stack to clipboard'.
Copy , and post to this thread, the three stack dumps. Actually i suspect
the 'large one' is the only one you need, but it never hurts to have more info!
Some more notes:
1) It'll be difficult/annoying to play with windbg if sam and max is running in full screen mode, hence that suggestion.
2) You may need to do 'show to desktop' in order to be able to see the windebug window while S&M is running - it seems to have 'stay on top' activated.
Actually, I suspect it's easier to get a drwatson dump instead via:
drwtsn32 -p ProcessID
But I haven't verified that works well. I"ll try it, and post results.
- Frank