FSR2 Implementation Causing Sudden Crash
My research shows that this issue has been affecting many others since the game launched.
Platform: PC, Steam
Hardware:
CPU: Ryzen 9 7900X
GPU: Nvidia RTX 4090, Driver version 591.44
RAM: 32 GB DDR5 @ 6000 MT/s
Storage: Corsair MP700
Display mode: Borderless @ 165 Hz refresh rate
Summary:
Battlefield 6 repeatedly crashes to desktop in the middle of gameplay with no in game error dialog. Windows Event Viewer shows Application Error 1000 for bf6.exe with ExceptionCode c0000005.
WinDbg analysis of the Frostbite minidump shows an INVALID_POINTER_READ inside bf6!ffxFsr2ResourceIsNull, which appears to be part of the FSR2 integration. This occurs even though FSR is disabled in the game settings.
The faulting instruction is reading from address 0x11 because RAX holds the invalid value 0x1 at the time of the crash, which implies an invalid or corrupted FSR2 resource or handle.
Steps to reproduce:
These are my current conditions. Exact steps may vary, but the pattern is consistent:
1. Launch Battlefield 6 through Steam.
2. Verify in video settings that FSR is set to Off. No upscaling in use, resolution scale 100 percent.
3. Join any multiplayer match.
Play for several minutes. At some point mid game, the client abruptly closes to desktop with no error dialog.
Event Viewer logs Application Error 1000 for bf6.exe, and Frostbite creates a minidump.
Expected result:
Game remains stable during match.
No access violation or crash in bf6.exe.
Actual result:
Game suddenly exits to desktop.
No in game error message.
Windows logs an access violation in bf6.exe.
Frostbite minidump shows an invalid pointer read in bf6!ffxFsr2ResourceIsNull.
Event Viewer entry (Application Error 1000):
AppName: bf6.exe
AppVersion: 1.0.394.13260
ModuleName: bf6.exe
ExceptionCode: c0000005
FaultingOffset: 00000000044a0f97
AppPath: C:\Program Files (x86)\Steam\steamapps\common\Battlefield 6\bf6.exe
ModulePath: C:\Program Files (x86)\Steam\steamapps\common\Battlefield 6\bf6.exe
WinDbg analysis (key parts):
Failure.ProblemClass.Primary = INVALID_POINTER_READ Failure.Exception.Code = 0xc0000005 Failure.Exception.IP.Address = 0x1444a0f97 Failure.Exception.IP.Module = bf6 Failure.Exception.IP.Offset = 0x44a0f97 Failure.Bucket = INVALID_POINTER_READ_c0000005_bf6.exe!Unknown PROCESS_NAME: bf6.exe EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s. READ_ADDRESS: 0000000000000011 COMMENT: Frostbite MiniDump. Address: 1444a0f97 (In WinDbg type: .ecxr) CONTEXT: (.ecxr) rax=0000000000000001 rbx=ecf540b6ea11bb7c rcx=00000000755cf430 rdx=00000000755cf440 rsi=0000000018620fc0 rdi=0000000000000004 rip=00000001444a0f97 rsp=00000000755cf360 rbp=00000000755cf430 ... bf6!ffxFsr2ResourceIsNull+0x1bf5227: 00000001`444a0f97 48035810 add rbx,qword ptr [rax+10h] ^ reads from [rax+0x10] EXCEPTION_RECORD: (.exr -1) ExceptionAddress: 00000001444a0f97 (bf6!ffxFsr2ResourceIsNull+0x0000000001bf5227) NumberParameters: 2 Parameter[0]: 0000000000000000 Parameter[1]: 0000000000000011 Attempt to read from address 0000000000000011 STACK_TEXT: 00000000`755cf360 00000001`444a3d13 : ... : bf6!ffxFsr2ResourceIsNull+0x1bf5227 00000000`755cf3a0 00000001`444af4d8 : ... : bf6!ffxFsr2ResourceIsNull+0x1bf7fa3 00000000`755cf4e0 00000001`444afd35 : ... : bf6!ffxFsr2ResourceIsNull+0x1c03768 ... 00000000`755cfe20 00000001`434f848b : ... : bf6!ffxFsr2ResourceIsNull+0x115a6e7 00000000`755cfe70 00000001`434fa254 : ... : bf6!ffxFsr2ResourceIsNull+0xc4c71b 00000000`755cfec0 00000001`4310864c : ... : bf6!ffxFsr2ResourceIsNull+0x85c8dc 00000000`755cff00 00007ffb`d5d537b0 : ... : bf6!ffxFsr2ResourceIsNull+0x85c8dc 00000000`755cff30 00007ffb`d752e8d7 : ... : ucrtbase!thread_start<unsigned int (__cdecl*)(void *),1>+0x30 00000000`755cff60 00007ffb`d8c8c53c : ... : kernel32!BaseThreadInitThunk+0x17 00000000`755cff90 00000000`00000000 : ... : ntdll!RtlUserThreadStart+0x2c
Interpretation:
The crash is not in a driver or OS DLL.
The fault occurs inside bf6.exe in a function that the symbols identify as ffxFsr2ResourceIsNull, which is part of the FSR2 code path.
At the moment of the crash, the helper function is dereferencing [rax+0x10] where rax is 0x1, which leads to an invalid pointer read from address 0x11.
So the immediate and reproducible technical cause is:
Battlefield 6 is passing an invalid or corrupted FSR2 resource or handle into ffxFsr2ResourceIsNull. That function then dereferences a field of this invalid object and reads from address 0x11, causing a c0000005 access violation in bf6.exe, even when FSR is disabled in the video settings.
Workarounds tried:
Verified game files in Steam.
Disabled all overlays (Steam, Nvidia, Discord, MSI Afterburner).
Clean installed GPU drivers.
Tested with FSR explicitly disabled in game settings, resolution scale 100 percent.
Tested different display modes (Fullscreen vs Borderless).
Ran DISM and SFC.
No CPU, GPU or RAM overclocks, or tested with all overclocks and XMP disabled.
Request:
Please investigate this crash bucket and the FSR2 path in Frostbite for Battlefield 6, specifically the handling of FSR2 resources around ffxFsr2ResourceIsNull, since it is possible for that function to be called with an invalid resource pointer (RAX = 0x1 in my dump) even when FSR is disabled in the user settings.
Attached is the dump file.