Trying to get to the bottom of the Access Violation (c0000005) crashes

The 0xc0000005 Access Violation crash situation is something I've been seeing on Linux and more recently, as a test, on Windows as well. Problems related to these types of crash have also been reported here, numerous times:

Blue Screen after loading into Imperial gardens
PC hard reset during game
path of exile.exe has stopped working after patch 2.3.2
AMD Drivers stopped working

And so on.

From what I've seen, these are mostly AMD related, although a couple of people with Nvidia cards have reported similar crashes, however, these may be unrelated.

From what I've discovered, the game will freeze and will require the process to be killed or a reboot. On some occasions a BSOD (on Windows) is seen.

Looking at the event logs we can see;

"
Faulting application name: PathOfExile.exe, version: 0.0.0.0, time stamp: 0x57ada598
Faulting module name: atiumdag.dll, version: 9.14.10.1209, time stamp: 0x57ac356b
Exception code: 0xc0000005
Fault offset: 0x000ac6d5
Faulting process id: 0x864
Faulting application start time: 0x01d1f7635cb8140f
Faulting application path: C:\Program Files (x86)\Grinding Gear Games\Path of Exile\PathOfExile.exe
Faulting module path: C:\Windows\system32\atiumdag.dll
Report Id: bf1601f2-6371-11e6-907e-94de80212924


There is also an associated dump:

Spoiler
................................................................
..........
Loading unloaded module list
......
0:027> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************

*** ERROR: Symbol file could not be found. Defaulted to export symbols for PathOfExile.exe -
*** WARNING: Unable to verify checksum for fmod.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for fmod.dll -
*** WARNING: Unable to verify checksum for fmodstudio.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for fmodstudio.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for bink2w32.dll -

FAULTING_IP:
atiumdag+ac6d5
70a6c6d5 0fb644d701 movzx eax,byte ptr [edi+edx*8+1]

EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 70a6c6d5 (atiumdag+0x000ac6d5)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 00000001
Attempt to read from address 00000001

CONTEXT: 00000000 -- (.cxr 0x0;r)
eax=00000000 ebx=0b2ef3e0 ecx=00000003 edx=00000000 esi=00000002 edi=00000000
eip=76fb0ab5 esp=0b2ef390 ebp=0b2ef42c iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246
ntdll!NtWaitForMultipleObjects+0x15:
76fb0ab5 83c404 add esp,4

DEFAULT_BUCKET_ID: NULL_CLASS_PTR_READ

PROCESS_NAME: PathOfExile.exe

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

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

EXCEPTION_PARAMETER1: 00000000

EXCEPTION_PARAMETER2: 00000001

READ_ADDRESS: 00000001

FOLLOWUP_IP:
atiumdag+ac6d5
70a6c6d5 0fb644d701 movzx eax,byte ptr [edi+edx*8+1]

NTGLOBALFLAG: 0

APPLICATION_VERIFIER_FLAGS: 0

APP: pathofexile.exe

ANALYSIS_VERSION: 6.3.9600.17336 (debuggers(dbg).150226-1500) amd64fre

FAULTING_THREAD: 000000cc

PRIMARY_PROBLEM_CLASS: NULL_CLASS_PTR_READ

BUGCHECK_STR: APPLICATION_FAULT_NULL_CLASS_PTR_READ

LAST_CONTROL_TRANSFER: from 70a6bc87 to 70a6c6d5

STACK_TEXT:
WARNING: Stack unwind information not available. Following frames may be wrong.
0b2efbb0 70a6bc87 1d0e848c 4d7f7194 1d0e848c atiumdag+0xac6d5
0b2efbe4 70a59b73 1d0e848c 4d7f7194 3e5d0af4 atiumdag+0xabc87
0b2efc24 70a6842e 1d0e848c 67092278 67091dc8 atiumdag+0x99b73
0b2efc50 70a3cb19 67091dac 41422488 00000000 atiumdag+0xa842e
0b2efc68 70ad85d8 3f5b516c 56bf1df8 00000000 atiumdag+0x7cb19
0b2efca0 70ad8700 00000000 0b2efcb8 761a338a atiumdag+0x1185d8
0b2efcac 761a338a 41422488 0b2efcf8 76fca242 atiumdag+0x118700
0b2efcb8 76fca242 41422488 7c784534 00000000 kernel32!BaseThreadInitThunk+0xe
0b2efcf8 76fca215 70ad8684 41422488 00000000 ntdll!__RtlUserThreadStart+0x70
0b2efd10 00000000 70ad8684 41422488 00000000 ntdll!_RtlUserThreadStart+0x1b


SYMBOL_STACK_INDEX: 0

SYMBOL_NAME: atiumdag+ac6d5

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: atiumdag

IMAGE_NAME: atiumdag.dll

DEBUG_FLR_IMAGE_TIMESTAMP: 57ac356b

STACK_COMMAND: ~27s; .ecxr ; kb

FAILURE_BUCKET_ID: NULL_CLASS_PTR_READ_c0000005_atiumdag.dll!Unknown

BUCKET_ID: APPLICATION_FAULT_NULL_CLASS_PTR_READ_atiumdag+ac6d5

ANALYSIS_SOURCE: UM

FAILURE_ID_HASH_STRING: um:null_class_ptr_read_c0000005_atiumdag.dll!unknown

FAILURE_ID_HASH: {480e4178-3919-7a59-0070-d76b0a93de21}

Followup: MachineOwner
---------

0:027> lmvm atiumdag
start end module name
709c0000 710a2000 atiumdag T (no symbols)
Loaded symbol image file: atiumdag.dll
Image path: C:\Windows\System32\atiumdag.dll
Image name: atiumdag.dll
Timestamp: Thu Aug 11 18:20:59 2016 (57AC356B)
CheckSum: 006D75DB
ImageSize: 006E2000
File version: 9.14.10.1209
Product version: 9.14.10.1209
File flags: 0 (Mask 0)
File OS: 40004 NT Win32
File type: 2.0 Dll
File date: 00000000.00000000
Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4


As can be seen, the problem seems to be caused by 'atiumdag.dll' which, according to the the output above, can be found in 'Windows\System32' The problem is, the file is not found in that path, in fact the AMD driver installer installs this file to:

"
"C:\Windows\System32\DriverStore\FileRepository\atiilhag.inf_amd64_neutral_0a660e899f5038a2\atiumdag.dll",4030976,128920092038340000,128919959776911091,32
"C:\Windows\System32\DriverStore\FileRepository\atiilhag.inf_amd64_neutral_0a660e899f5038a2\atiumdag.dll",4030976,128920092038340000,128919959776911091,32
"C:\Windows\System32\DriverStore\FileRepository\c7305721.inf_amd64_neutral_3e55bb717b275fd9\B305731\atiumdag.dll",7162760,131153796880000000,131153796880000000,32
"C:\Windows\System32\DriverStore\FileRepository\c7305721.inf_amd64_neutral_3e55bb717b275fd9\B305731\atiumdag.dll",7162760,131153796880000000,131153796880000000,32
"C:\Windows\SysWOW64\atiumdag.dll",7162760,131153796880000000,131153796880000000,32
"C:\Windows\SysWOW64\atiumdag.dll",7162760,131153796880000000,131153796880000000,32
"C:\Windows\winsxs\amd64_atiilhag.inf_31bf3856ad364e35_6.1.7601.17514_none_03c46b205be81dfd\atiumdag.dll",4030976,128920092038340000,128919959776911091,32
"C:\Symbols\atiumdag.pdb\EC0D7484842C444687BD36EF02236C2E1\atiumdag.pdb",2182144,129350507040000000,129350507040000000,32
"C:\Symbols\atiumdag.pdb\EC0D7484842C444687BD36EF02236C2E1\atiumdag.pdb",2182144,129350507040000000,129350507040000000,32


Looking at dxdiag, the driver is available:

"
Driver Name: aticfx64.dll,aticfx64.dll,aticfx64.dll,aticfx32,aticfx32,aticfx32,atiumd64.dll,atidxx64.dll,atidxx64.dll,atiumdag,atidxx32,atidxx32,atiumdva,atiumd6a.cap,atitmm64.dll


Right now, I can't work out where the problem lies. I've tried several different versions of the AMD driver, currently 16.8.2, (as well as radeonsi on Linux) none of them install the file directly to 'System32'.

Questions:
a. Does this indicate the file being a 32 bit file and the Windows file system redirector not working? (SysWOW64...)

b. Have AMD released drivers, going back several versions, that fail to install the display driver files to the correct locations?

c. Is this something PoE is doing internally?

Right now, I really don't know what the cause of these errors may be. As I mentioned at the start, it happens on Linux under wine (my usual platform) and Windows (I used Windows 7 64bit)


Last bumped on Aug 20, 2016, 12:53:09 AM
i recommend dropping jonathan a pm just in case
age and treachery will triumph over youth and skill!
"
vio wrote:
i recommend dropping jonathan a pm just in case


I'll do that in a while, just thought I'd post here in case anyone had any additional feedback...
Posting an update for Support, updated email sent.

Following our email conversation, I'm posting an update, as the access violation error/crash just occurred again, this time, however, it's unrelated to 'atiumdag.dll; and looks more like a Winsock/Poe crash. See:

"
ws2_32!DSOCKET::DropDSocketReference
ws2_32!shutdown


On this occasion, the game hung, alt+tab was unavailable but I was able to raise Task Manager via Ctrl+Alt+Del and kill the process.

The only event logged was:

"
Faulting application name: PathOfExile.exe, version: 0.0.0.0, time stamp: 0x57b3b611
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x20006f00
Faulting process id: 0x88c
Faulting application start time: 0x01d1fa897e100603
Faulting application path: C:\Program Files (x86)\Grinding Gear Games\Path of Exile\PathOfExile.exe
Faulting module path: unknown
Report Id: e5957350-668b-11e6-bda7-94de80212924


Here's the new WinDbg:

Spoiler

Microsoft (R) Windows Debugger Version 6.3.9600.17336 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [C:\Users\puk\AppData\Local\Microsoft\Windows\WER\ReportQueue\AppCrash_PathOfExile.exe_e6ba7b7cd08690558f11b28c623bf585eef545af_cab_058e7206\WER372A.tmp.hdmp]
User Mini Dump File: Only registers, stack and portions of memory are available


************* Symbol Path validation summary **************
Response Time (ms) Location
Deferred SRV*C:\SymCache*http://msdl.microsoft.com/download/symbols
Symbol search path is: SRV*C:\SymCache*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows 7 Version 7601 (Service Pack 1) MP (8 procs) Free x86 compatible
Product: WinNt, suite: SingleUserTS
Machine Name:
Debug session time: Sat Aug 20 14:09:35.000 2016 (UTC + 10:00)
System Uptime: 0 days 2:26:49.204
Process Uptime: 0 days 1:48:35.000
................................................................
.............
Loading unloaded module list
......
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(88c.84c): Access violation - code c0000005 (first/second chance not available)
eax=00000000 ebx=010ed638 ecx=8098c630 edx=1a5f1d42 esi=00000002 edi=00000000
eip=77b40ab5 esp=010ed5e8 ebp=010ed684 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246
ntdll!NtWaitForMultipleObjects+0x15:
77b40ab5 83c404 add esp,4
0:000> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************

*** WARNING: Unable to verify checksum for fmod.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for fmod.dll -
*** WARNING: Unable to verify checksum for fmodstudio.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for fmodstudio.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for bink2w32.dll -
*** WARNING: Unable to verify timestamp for atiumdag.dll
*** ERROR: Module load completed but symbols could not be loaded for atiumdag.dll
GetUrlPageData2 (WinHttp) failed: 12029.

FAULTING_IP:
+1
20006f00 8c839041e203 mov word ptr [ebx+3E24190h],es

EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 20006f00
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000008
Parameter[1]: 20006f00
Attempt to execute non-executable address 20006f00

CONTEXT: 00000000 -- (.cxr 0x0;r)
eax=00000000 ebx=010ed638 ecx=8098c630 edx=1a5f1d42 esi=00000002 edi=00000000
eip=77b40ab5 esp=010ed5e8 ebp=010ed684 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246
ntdll!NtWaitForMultipleObjects+0x15:
77b40ab5 83c404 add esp,4

DEFAULT_BUCKET_ID: SOFTWARE_NX_FAULT

PROCESS_NAME: PathOfExile.exe

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

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

EXCEPTION_PARAMETER1: 00000008

EXCEPTION_PARAMETER2: 20006f00

WRITE_ADDRESS: 20006f00

FOLLOWUP_IP:
PathOfExile+4f764c
0059764c 8bf8 mov edi,eax

FAILED_INSTRUCTION_ADDRESS:
+4f764c
20006f00 8c839041e203 mov word ptr [ebx+3E24190h],es

NTGLOBALFLAG: 0

APPLICATION_VERIFIER_FLAGS: 0

APP: pathofexile.exe

ANALYSIS_VERSION: 6.3.9600.17336 (debuggers(dbg).150226-1500) amd64fre

FAULTING_THREAD: 0000084c

PRIMARY_PROBLEM_CLASS: SOFTWARE_NX_FAULT

BUGCHECK_STR: APPLICATION_FAULT_SOFTWARE_NX_FAULT

LAST_CONTROL_TRANSFER: from 0059764c to 20006f00

STACK_TEXT:
WARNING: Frame IP not in any known module. Following frames may be wrong.
010edde4 0059764c 010eeac4 803684c0 090f2608 0x20006f00
010ede0c 002ffc27 8036fde4 8036fdec 010eeac4 PathOfExile+0x4f764c
010edfb4 00100e46 010eeac4 8036fcd4 08a35103 PathOfExile+0x25fc27
010eec10 005ae4df 6df5cb04 00000040 80373374 PathOfExile+0x60e46
010eec30 005b33d9 010edfcc 5646831c 00002c87 PathOfExile+0x50e4df
010eec48 007648e8 5b77eaf0 6df5cae0 56468320 PathOfExile+0x5133d9
010eec70 007646ae 00000014 00000000 00000013 PathOfExile+0x6c48e8
010eed80 007645f0 0077eaf0 090f2608 8036fcd0 PathOfExile+0x6c46ae
010eee8c 006f380b 00000000 010eef8c 002fd686 PathOfExile+0x6c45f0
010eee98 002fd686 00863046 00000000 00000013 PathOfExile+0x65380b
010eef9c 75aa2fac 017a8ff8 017a8ff8 75aa44f1 PathOfExile+0x25d686
010eefa8 75aa44f1 00000013 09893500 00000000 ws2_32!DSOCKET::DropDSocketReference+0xc
010eefbc 005a5cf1 00000588 00000001 090f2608 ws2_32!shutdown+0x56
010eeff4 002fd5f8 00863046 00000000 00000013 PathOfExile+0x505cf1
010ef018 002d8a70 00863046 00000000 00000013 PathOfExile+0x25d5f8
010ef084 002d78f1 00863046 00000000 00000013 PathOfExile+0x238a70
010ef0ac 00343efd 00863046 00000000 00000013 PathOfExile+0x2378f1
010ef0e0 00329566 005ebf89 0a6c7ec0 fb5dc602 PathOfExile+0x2a3efd
010ef228 005eb86c 0156dc58 01576958 00050397 PathOfExile+0x289566
010ef944 0081bd61 008188b8 00000000 00000007 PathOfExile+0x54b86c
010ef948 008188b8 00000000 00000007 01573498 PathOfExile+0x77bd61
010ef960 0032de29 00000000 00c93858 fffde000 PathOfExile+0x7788b8
010ef98c 0032deec 00000000 00c93858 fffde000 PathOfExile+0x28de29
010ef9b8 00800049 000a0000 00000000 014f3253 PathOfExile+0x28deec
010efa04 763a338a fffde000 010efa50 77b5a242 PathOfExile+0x760049
010efa10 77b5a242 fffde000 76ee090a 00000000 kernel32!BaseThreadInitThunk+0xe
010efa50 77b5a215 008000c2 fffde000 00000000 ntdll!__RtlUserThreadStart+0x70
010efa68 00000000 008000c2 fffde000 00000000 ntdll!_RtlUserThreadStart+0x1b


STACK_COMMAND: ~0s; .ecxr ; kb

SYMBOL_STACK_INDEX: 1

SYMBOL_NAME: pathofexile+4f764c

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: PathOfExile

IMAGE_NAME: PathOfExile.exe

DEBUG_FLR_IMAGE_TIMESTAMP: 57b3b611

FAILURE_BUCKET_ID: SOFTWARE_NX_FAULT_c0000005_PathOfExile.exe!Unknown

BUCKET_ID: APPLICATION_FAULT_SOFTWARE_NX_FAULT_BAD_IP_pathofexile+4f764c

ANALYSIS_SOURCE: UM

FAILURE_ID_HASH_STRING: um:software_nx_fault_c0000005_pathofexile.exe!unknown

FAILURE_ID_HASH: {ef1b83df-5a4a-b5d1-33ed-9a2a6631de39}

Followup: MachineOwner
---------

0:000> g
^ No runnable debuggees error in 'g'

Report Forum Post

Report Account:

Report Type

Additional Info