This is odd, as it matches another recent topic (Crashes in car selection (Mega's Games racing)), but these crashes are not too common going by statistics, and nothing recently changed at all (nor did they get more popular over time) regarding code involved here.
Did these servers end up growing some new code path, or what’s going on here?
For reference, the failure still occurs somewhere in text rendering:
ntdll.dll!RtlpWaitOnCriticalSection() Unknown
ntdll.dll!RtlpEnterCriticalSectionContended() Unknown
ntdll.dll!RtlEnterCriticalSection() Unknown
> FiveM_b2545_GTAProcess.exe!sub_1417A7D6C() Unknown
FiveM_b2545_GTAProcess.exe!sub_1417A2774() Unknown # GFxStyledText::GFxStyledText(GFxTextAllocator* pallocator)
FiveM_b2545_GTAProcess.exe!sub_1417A289C() Unknown
FiveM_b2545_GTAProcess.exe!sub_1416F3130() Unknown
FiveM_b2545_GTAProcess.exe!GFxDrawTextManager::CreateText() Unknown
FiveM_b2545_GTAProcess.exe!sub_140D98E24() Unknown
FiveM_b2545_GTAProcess.exe!_textDrawIm() Unknown
FiveM_b2545_GTAProcess.exe!sub_140DA0B34() Unknown
FiveM_b2545_GTAProcess.exe!sub_140A32FE4() Unknown
FiveM_b2545_GTAProcess.exe!sub_140A33244() Unknown
FiveM_b2545_GTAProcess.exe!sub_140A34410() Unknown
FiveM_b2545_GTAProcess.exe!sub_141635970() Unknown
FiveM_b2545_GTAProcess.exe!sub_14163586C() Unknown
FiveM_b2545_GTAProcess.exe!sub_141610A54() Unknown
FiveM_b2545_GTAProcess.exe!sub_141611438() Unknown
FiveM_b2545_GTAProcess.exe!sub_141619DD8() Unknown
FiveM_b2545_GTAProcess.exe!StartAddress() Unknown
Without a reproduction sequence or a full memory dump this may be difficult to track down, however.
Notably, for this dump, a draw-text call in a script on the server failed beforehand:
[ 4358672] [b2545_GTAProce] MainThrd/ InvokeNative: execution failed: Error executing native 0x85f061da64ed2f67 at address 0x7ffcc24bd7d1.
[ 4358672] [b2545_GTAProce] MainThrd/ ^1SCRIPT ERROR: Execution of native 85f061da64ed2f67 in script host failed: Error executing native 0x85f061da64ed2f67 at address 0x7ffcc24bd7d1.^7
[ 4358672] [b2545_GTAProce] MainThrd/ ^3> DrawScreenTextCenter^7 (^5@metrics/cl_metrics.lua^7:131)
[ 4358672] [b2545_GTAProce] MainThrd/ ^3> fn^7 (^5@metrics/cl_metrics.lua^7:156)
(0x7ffcc24bd7d1
again being RtlpWaitOnCriticalSection, however, implying corruption somewhere in Scaleform GFx logic)
Of note is both servers register some custom GFx fonts:
[ 104140] [b2545_GTAProce] MainThrd/ font file barcode39 loaded - adding to GFxFontLib
[ 104140] [b2545_GTAProce] MainThrd/ font file bubble3d loaded - adding to GFxFontLib
[ 104140] [b2545_GTAProce] MainThrd/ font file captureit loaded - adding to GFxFontLib
[ 104172] [b2545_GTAProce] MainThrd/ font file chlub loaded - adding to GFxFontLib
[ 104172] [b2545_GTAProce] MainThrd/ font file colorbasic loaded - adding to GFxFontLib
[ 104172] [b2545_GTAProce] MainThrd/ font file crashedscoreboard loaded - adding to GFxFontLib
[ 104172] [b2545_GTAProce] MainThrd/ font file dirtybakersdozen loaded - adding to GFxFontLib
[ 104172] [b2545_GTAProce] MainThrd/ font file duedate loaded - adding to GFxFontLib
[ 104187] [b2545_GTAProce] MainThrd/ font file expresswayrg loaded - adding to GFxFontLib
[ 104187] [b2545_GTAProce] MainThrd/ font file fakereceipt loaded - adding to GFxFontLib
[ 104218] [b2545_GTAProce] MainThrd/ font file ferrorosso loaded - adding to GFxFontLib
[ 104218] [b2545_GTAProce] MainThrd/ font file joystix loaded - adding to GFxFontLib
[ 104218] [b2545_GTAProce] MainThrd/ font file komikahn loaded - adding to GFxFontLib
[ 104234] [b2545_GTAProce] MainThrd/ font file morse loaded - adding to GFxFontLib
[ 104234] [b2545_GTAProce] MainThrd/ font file morseraw loaded - adding to GFxFontLib
[ 104234] [b2545_GTAProce] MainThrd/ font file offshore loaded - adding to GFxFontLib
[ 104234] [b2545_GTAProce] MainThrd/ font file quadaptor loaded - adding to GFxFontLib
[ 104234] [b2545_GTAProce] MainThrd/ font file twofold loaded - adding to GFxFontLib
[ 104234] [b2545_GTAProce] MainThrd/ font file undeveloped loaded - adding to GFxFontLib
[ 104281] [b2545_GTAProce] MainThrd/ Returning device Speakers (Realtek High Definition Audio) for GUID {4EF384FC-FE06-4212-A8EF-756165785B33}
[ 104406] [b2545_GTAProce] MainThrd/ font file fa-brands-400 loaded - adding to GFxFontLib
[ 104406] [b2545_GTAProce] MainThrd/ font file fa-duotone-900 loaded - adding to GFxFontLib
[ 104406] [b2545_GTAProce] MainThrd/ font file undevelopedbook loaded - adding to GFxFontLib
[ 104453] [b2545_GTAProce] MainThrd/ font file fa-light-300 loaded - adding to GFxFontLib
[ 104484] [b2545_GTAProce] MainThrd/ font file fa-regular-400 loaded - adding to GFxFontLib
[ 104515] [b2545_GTAProce] MainThrd/ font file barcode loaded - adding to GFxFontLib
[ 104515] [b2545_GTAProce] MainThrd/ font file fa-solid-900 loaded - adding to GFxFontLib
… and in the other topic:
[ 61063] [b2612_GTAProce] MainThrd/ font file font_digi loaded - adding to GFxFontLib
Further analysis shows that somehow the GFxTextAllocator
instance used here (via GFxDrawTextManager::GetTextAllocator()
) got… broken. Odd, and oddly as well this code doesn’t directly match the GFx SDK we have available, implying behavior here changed at some point during GFx 3.x, but also odd since this isn’t any code we touched at all, and this is the same since GTA5 exists basically.
This’d have been a lot easier to investigate with a large memory dump or a repro.