Apex Legends

Apex Legends

View Stats:
Apex Legends DX12 Crash Technical Report (RTX 4060)
Issue Summary:

The user experiences consistent crashes in Apex Legends, reproducible under all conditions when running the game on an RTX 4060 GPU.
The game forcibly launches in DirectX 12 mode, despite explicit user attempts to run DX11 through:

Steam launch commands +gfx_dx11 1

Config file edits and read-only locking

Clearing shader and game config caches

Disabling Steam Cloud Sync

Full uninstall and reinstall via Steam and EA App

Testing across multiple driver versions, including:

572.70 (Mar 2025)

560.94 (Aug 2024)

Even clean reinstalls with driver sweeps (DDU method)

Multi-GPU setup has been ruled out by physically removing the secondary GTX 1660 Ti and disabling iGPU.

Despite these exhaustive steps, Apex still force-launches in DX12 and crashes at runtime.

FAILURE_BUCKET_ID: NULL_CLASS_PTR_READ_INVALID_POINTER_READ_c0000005_D3D12Core.dll!CPipelineState::GetHash

MODULE_NAME: D3D12Core
IMAGE_NAME: D3D12Core.dll
EXCEPTION_CODE: c0000005 (Access violation)

STACK_TRACE:
D3D12Core!CPipelineState::GetHash+0x32
D3D12Core!CLibrary::StorePipeline+0xf0
r5apex_dx12!ffxGetCommandListDX12+0x31ee64
r5apex_dx12!AmdPowerXpressRequestHighPerformance+0x4990bd0
Conclusion:

Crash occurs inside D3D12Core.dll, specifically at pipeline state hashing during graphics pipeline creation.

Invalid pointer read (NULL_CLASS_PTR_READ) at address 0000000000000190.

Indicates game engine or driver is passing an uninitialized or invalid pipeline state descriptor to DirectX 12 core functions.
Additional Notes:

No thermal or power irregularities.

No memory instability (validated).

No background conflicting software.

Multi-monitor setup was removed and tested.

Other modern games (Darktide, Helldivers, Warframe) operate perfectly stable.

Issue is specific to Apex Legends and RTX 40-series + DX12 runtime.
Requested Action:

Review Apex Legends DX12 engine pipeline initialization, particularly under Ada Lovelace GPUs (RTX 40 series).

Validate user-configurable DX11 launch option (+gfx_dx11 1) is functioning properly.

Investigate NVIDIA driver and game engine interactions for pipeline state validation.
< >
Showing 1-2 of 2 comments
************* Preparing the environment for Debugger Extensions Gallery repositories **************
ExtensionRepository : Implicit
UseExperimentalFeatureForNugetShare : true
AllowNugetExeUpdate : true
NonInteractiveNuget : true
AllowNugetMSCredentialProviderInstall : true
AllowParallelInitializationOfLocalRepositories : true
EnableRedirectToChakraJsProvider : false

-- Configuring repositories
----> Repository : LocalInstalled, Enabled: true
----> Repository : UserExtensions, Enabled: true

>>>>>>>>>>>>> Preparing the environment for Debugger Extensions Gallery repositories completed, duration 0.000 seconds

************* Waiting for Debugger Extensions Gallery to Initialize **************

>>>>>>>>>>>>> Waiting for Debugger Extensions Gallery to Initialize completed, duration 0.046 seconds
----> Repository : UserExtensions, Enabled: true, Packages count: 0
----> Repository : LocalInstalled, Enabled: true, Packages count: 43

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


Loading Dump File [C:\Users\jpak0\AppData\Local\Temp\Apex\3a39499f-0f16-45ba-9e53-a05d7497aed0.dmp]
User Mini Dump File: Only registers, stack and portions of memory are available

Symbol search path is: srv*
Executable search path is:
Windows 10 Version 26100 MP (32 procs) Free x64
Product: WinNt, suite: SingleUserTS Personal
Edition build lab: 26100.1.amd64fre.ge_release.240331-1435
Debug session time: Sun Apr 6 23:17:13.000 2025 (UTC - 4:00)
System Uptime: 0 days 8:11:45.261
Process Uptime: 0 days 0:00:25.000
.WARNING: Teb 48 pointer is NULL - defaulting to 00000000`7ffde000
WARNING: 00000000`7ffde000 does not appear to be a TEB
...............................................................
................................................................
...................
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr
(4014.27fc): Access violation - code c0000005 (first/second chance not available)

+------------------------------------------------------------------------+
| This target supports Hardware-enforced Stack Protection. A HW based |
| "Shadow Stack" may be available to assist in debugging and analysis. |
| See aka.ms/userhsp for more info. |
| |
| dps @ssp |
| |
+------------------------------------------------------------------------+

For analysis of this file, run !analyze -v
ntdll!NtWaitForSingleObject+0x14:
00007ffe`c353f874 c3 ret
0:036> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************


KEY_VALUES_STRING: 1

Key : AV.Type
Value: Read

Key : Analysis.CPU.mSec
Value: 468

Key : Analysis.Elapsed.mSec
Value: 10769

Key : Analysis.IO.Other.Mb
Value: 12

Key : Analysis.IO.Read.Mb
Value: 1

Key : Analysis.IO.Write.Mb
Value: 65

Key : Analysis.Init.CPU.mSec
Value: 343

Key : Analysis.Init.Elapsed.mSec
Value: 76861

Key : Analysis.Memory.CommitPeak.Mb
Value: 321

Key : Analysis.Version.DbgEng
Value: 10.0.27793.1000

Key : Analysis.Version.Description
Value: 10.2410.02.02 amd64fre

Key : Analysis.Version.Ext
Value: 1.2410.2.2

Key : Failure.Bucket
Value: NULL_CLASS_PTR_READ_INVALID_POINTER_READ_c0000005_D3D12Core.dll!CPipelineState::GetHash

Key : Failure.Exception.Code
Value: 0xffffffffc0000005

Key : Failure.Exception.IP.Address
Value: 0x7ffe00923e7e

Key : Failure.Exception.IP.Module
Value: D3D12Core

Key : Failure.Exception.IP.Offset
Value: 0x43e7e

Key : Failure.Hash
Value: {45be3929-ec3c-8188-81ca-7c22769e36c9}

Key : ProblemClass.Collapse.After.BUCKET_ID
Value: NULL_CLASS_PTR_READ_INVALID_POINTER_READ

Key : ProblemClass.Collapse.After.DEFAULT_BUCKET_ID
Value: NULL_CLASS_PTR_READ_INVALID_POINTER_READ

Key : ProblemClass.Collapse.After.PRIMARY_PROBLEM_CLASS
Value: NULL_CLASS_PTR_READ

Key : ProblemClass.Collapse.Before.BUCKET_ID
Value: NULL_CLASS_PTR_READ_INVALID_POINTER_READ

Key : ProblemClass.Collapse.Before.DEFAULT_BUCKET_ID
Value: NULL_CLASS_PTR_READ_INVALID_POINTER_READ

Key : ProblemClass.Collapse.Before.PRIMARY_PROBLEM_CLASS
Value: NULL_CLASS_PTR_READ

Key : Timeline.OS.Boot.DeltaSec
Value: 29505

Key : Timeline.Process.Start.DeltaSec
Value: 25

Key : WER.OS.Branch
Value: ge_release

Key : WER.OS.Version
Value: 10.0.26100.1

Key : WER.Process.Version
Value: 1.0.0.0


FILE_IN_CAB: 3a39499f-0f16-45ba-9e53-a05d7497aed0.dmp

CONTEXT: (.ecxr)
rax=000024381a8e5c85 rbx=000002267e31c8a0 rcx=0000000000000000
rdx=0000006b5c4cd5f8 rsi=00007ff61e02ee30 rdi=000002267e31c840
rip=00007ffe00923e7e rsp=0000006b5c4cb000 rbp=0000006b5c4cb100
r8=0000000000000020 r9=00000000000000f6 r10=00007ffec0bf0000
r11=0000006b5c4cd490 r12=000000000000110c r13=000002267e31c770
r14=0000000000000000 r15=0000000000000000
iopl=0 nv up ei pl nz na pe nc
cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010202
D3D12Core!CPipelineState::GetHash+0x32:
00007ffe`00923e7e 80b99001000000 cmp byte ptr [rcx+190h],0 ds:00000000`00000190=??
Resetting default scope

EXCEPTION_RECORD: (.exr -1)
ExceptionAddress: 00007ffe00923e7e (D3D12Core!CPipelineState::GetHash+0x0000000000000032)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000000
Parameter[1]: 0000000000000190
Attempt to read from address 0000000000000190

PROCESS_NAME: r5apex_dx12.exe

READ_ADDRESS: 0000000000000190

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

EXCEPTION_CODE_STR: c0000005

EXCEPTION_PARAMETER1: 0000000000000000

EXCEPTION_PARAMETER2: 0000000000000190

STACK_TEXT:
0000006b`5c4cb000 00007ffe`00923950 : 00000226`7e31c8a0 00000000`01300d00 00000226`7e31c8a0 00000001`00000000 : D3D12Core!CPipelineState::GetHash+0x32
0000006b`5c4cd550 00007ff6`18105364 : 0000006b`5c4ce850 00007ff6`1e02ee30 00000000`00000000 0000006b`5c4cdb40 : D3D12Core!CLibrary::StorePipeline+0xf0
0000006b`5c4cd690 0000006b`5c4ce850 : 00007ff6`1e02ee30 00000000`00000000 0000006b`5c4cdb40 0000006b`5c4cdb20 : r5apex_dx12!ffxGetCommandListDX12+0x31ee64
0000006b`5c4cd698 00007ff6`1e02ee30 : 00000000`00000000 0000006b`5c4cdb40 0000006b`5c4cdb20 12090401`09020400 : 0x0000006b`5c4ce850
0000006b`5c4cd6a0 00000000`00000000 : 0000006b`5c4cdb40 0000006b`5c4cdb20 12090401`09020400 00610033`00370037 : r5apex_dx12!AmdPowerXpressRequestHighPerformance+0x4990bd0


SYMBOL_NAME: D3D12Core!CPipelineState::GetHash+32

MODULE_NAME: D3D12Core

IMAGE_NAME: D3D12Core.dll

STACK_COMMAND: ~36s; .ecxr ; kb

FAILURE_BUCKET_ID: NULL_CLASS_PTR_READ_INVALID_POINTER_READ_c0000005_D3D12Core.dll!CPipelineState::GetHash

OS_VERSION: 10.0.26100.1

BUILDLAB_STR: ge_release

OSPLATFORM_TYPE: x64

OSNAME: Windows 10

IMAGE_VERSION: 10.0.26100.3323

FAILURE_ID_HASH: {45be3929-ec3c-8188-81ca-7c22769e36c9}

Followup: MachineOwner
---------
here is the link for the DMP files trough a google drive
https://drive.google.com/drive/folders/1ZEvznStdH-Cs4cw5nKoG2cFzXHoUpQx6?usp=drive_link
and also a video example
< >
Showing 1-2 of 2 comments
Per page: 1530 50