3 years ago
BF2042.exe memory corruption crashes
Hi everyone,
I'm facing some issues on PC platform: the game is continuously crashing due to memory corruption by Denuvo component.
According to minidumps produced during crash handling, I'm seeing two different exception types:
First one:
Engine_Render_Core2_PlatformPcDx12+0x69b50: 00007ff9`a7209b50 488b01 mov rax,qword ptr [rcx] ds:00770000`00000000=???????????????? Resetting default scope EXCEPTION_RECORD: (.exr -1)ExceptionAddress: 00007ff9a7209b50 (Engine_Render_Core2_PlatformPcDx12+0x0000000000069b50) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 0000000000000000 Parameter[1]: ffffffffffffffff Attempt to read from address ffffffffffffffff PROCESS_NAME: BF2042.exe READ_ADDRESS: ffffffffffffffff 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: ffffffffffffffff STACK_TEXT: 00000000`4e7a61e0 00007ff9`a732f0bc : 00000002`1f681580 00000000`4e7a6450 00000000`0000006f 00000000`0000006f : Engine_Render_Core2_PlatformPcDx12+0x69b50 00000000`4e7a6230 00007ff9`a736f36a : 00000000`4f629810 00000000`56a25320 00000000`56a252e8 00000002`1f681580 : Engine_Render_Core2_PlatformPcDx12+0x18f0bc 00000000`4e7a62a0 00007ff9`a734662a : 00000000`4e7a6450 00000000`4e7a63f8 00000001`70dd3000 00007ff9`a736af2b : Engine_Render_Core2_PlatformPcDx12!DeviceInit+0x399ca 00000000`4e7a6300 00000001`4336993d : 00000001`70dd3000 00000000`e9343450 00000000`0000006f 00000000`00000000 : Engine_Render_Core2_PlatformPcDx12!DeviceInit+0x10c8a 00000000`4e7a6350 00000001`4334e3b0 : 00000000`82797e70 00000000`4f6150d0 00000000`4f6150d0 00000000`4e7af000 : BF2042!GetDenuvoTimeTicketRequest+0x236abd 00000000`4e7aeb30 00000001`432c50ad : 00000000`4f610410 00000000`4e7af640 00000000`0b515a00 00000000`4f942700 : BF2042!GetDenuvoTimeTicketRequest+0x21b530 00000000`4e7af540 00000001`432c54bc : 00000000`00051cac 00000000`00000000 00000000`00000002 00000000`00000000 : BF2042!GetDenuvoTimeTicketRequest+0x19222d 00000000`4e7af740 00000001`432c4d98 : 00000000`4f610ed0 00000000`09142160 00000000`4f610410 00000000`09142160 : BF2042!GetDenuvoTimeTicketRequest+0x19263c 00000000`4e7af890 00000001`432c55ba : 00000000`4f610410 00000000`00000000 00000000`00000000 00000000`0b515a00 : BF2042!GetDenuvoTimeTicketRequest+0x191f18 00000000`4e7af8d0 00000001`42d35fc4 : 00000000`47cce880 00000000`47cc5c00 00000000`00000000 00000000`a8e91f70 : BF2042!GetDenuvoTimeTicketRequest+0x19273a 00000000`4e7af9c0 00000001`42d3beba : 00000000`47d8f740 00000000`4e7afba8 00000000`00000000 00000001`42d3e113 : BF2042!isGlimpseEnabled+0x29f0344 00000000`4e7afac0 00000001`42d3946c : 00000001`464df2b8 00000001`464df2b8 00000000`ffffffff 00000001`464df2b8 : BF2042!isGlimpseEnabled+0x29f623a 00000000`4e7afb20 00000001`42d3bd42 : 00000000`00000002 00000000`4e7afd20 00000000`ffffffff 00007ffa`7b384300 : BF2042!isGlimpseEnabled+0x29f37ec 00000000`4e7afc00 00000001`42d3c086 : 00000000`00000000 00007ffa`78a66f1c 00000000`00000000 00000000`0018000c : BF2042!isGlimpseEnabled+0x29f60c2 00000000`4e7afc60 00000001`42d3baaa : 00000000`00009fc0 00000000`000003c8 00000000`00000000 00000000`000001f8 : BF2042!isGlimpseEnabled+0x29f6406 00000000`4e7afda0 00000001`42a7d176 : 00000000`4e7afea0 00000000`00000000 00000000`00000000 00000001`43e2c596 : BF2042!isGlimpseEnabled+0x29f5e2a 00000000`4e7afe10 00000001`42a7d034 : 00000000`364617e0 00000000`364617a0 00000001`42d3b980 00000000`0000000c : BF2042!isGlimpseEnabled+0x27374f6 00000000`4e7afe60 00000001`5790281e : 00000000`00000000 00000000`00000000 00006ca8`162f5c1a 00000000`00000007 : BF2042!isGlimpseEnabled+0x27373b4 00000000`4e7afea0 00000001`58361cf0 : 00000001`42d3b980 00000000`00000007 00000000`00000007 00000001`42d3b980 : BF2042!flite_lang_list+0x1118f47e 00000000`4e7afed0 00007ffa`788a6c0c : 00000000`05bb3320 00000000`00000000 89e5bfa7`7ed10370 00007ffa`788a6bc0 : BF2042!flite_lang_list+0x11bee950 00000000`4e7aff00 00007ffa`79a554e0 : 00000000`00000000 00000000`00000000 00000000`00000000 00007ffa`788a6bc0 : ucrtbase!thread_start<unsigned int (__cdecl*)(void *),1>+0x4c 00000000`4e7aff30 00007ffa`7b2e485b : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x10 00000000`4e7aff60 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x2b SYMBOL_NAME: Engine_Render_Core2_PlatformPcDx12+69b50 MODULE_NAME: Engine_Render_Core2_PlatformPcDx12 IMAGE_NAME: Engine.Render.Core2.PlatformPcDx12.dll STACK_COMMAND: ~31s; .ecxr ; kb FAILURE_BUCKET_ID: INVALID_POINTER_READ_c0000005_Engine.Render.Core2.PlatformPcDx12.dll!Unknown OS_VERSION: 10.0.22000.1 BUILDLAB_STR: co_release OSPLATFORM_TYPE: x64 OSNAME: Windows 10 IMAGE_VERSION: 2.4.0.0 FAILURE_ID_HASH: {0557dba4-3fd0-8685-22e7-a481df034b71} Followup: MachineOwner ---------
Second one:
CONTEXT: (.ecxr)rax=000000000000001f rbx=00000000ee7fe6a0 rcx=0000000000006189 rdx=0000000000000000 rsi=000000004eb20320 rdi=000000195eae1210 rip=000000014375fe5c rsp=000000004e60ded0 rbp=000000000001a803 r8=000000000000082c r9=00000000e63b7d80 r10=000000004eb203a8 r11=000000004e60dd80 r12=000000004eb20b70 r13=00000000493f1270 r14=000000000000000e r15=000000000041601f iopl=0 nv up ei pl nz na pe nc cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010202 BF2042!GetDenuvoTimeTicketRequest+0x62cfdc: 00000001`4375fe5c 4c8b34c1 mov r14,qword ptr [rcx+rax*8] ds:00000000`00006281=???????????????? Resetting default scope EXCEPTION_RECORD: (.exr -1)ExceptionAddress: 000000014375fe5c (BF2042!GetDenuvoTimeTicketRequest+0x000000000062cfdc) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 0000000000000000 Parameter[1]: 0000000000006281 Attempt to read from address 0000000000006281 PROCESS_NAME: BF2042.exe READ_ADDRESS: 0000000000006281 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: 0000000000006281 ADDITIONAL_DEBUG_TEXT: Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD] STACK_TEXT: 00000000`00000000 00000000`00000000 memory_corruption!BF2042.exe+0x0
Any hints on how I troubleshoot it?
Thanks,
Mike
Little update here: even if the stability test was ok, the issue seemed to be related to the XMP profile set on BIOS, as soon I've restored the default DDR timings memory corruption exceptions are gone. It's very strange because before the last update BF was able to run even with XMP settings like any other games.