So I managed to reproduce the access violations in ntdll's unwind code with the game (not exactly the same way as described but I hope this is the same case). Does https://gitlab.winehq.org/wine/wine/-/merge_requests/9236 help? This, instead of fixing the consequences of access violation, avoids that (as I think it is avoided on Windows). RtlCaptureStackBackTrace goes wrong when trying to unwind through BaseThreadInitThunk when BaseThreadInitThunk has rbp based frame because rbp is lost in anticheat initial thread code before calling game entry point, while there is no unwind info to restore rbp. On Windows that doesn't break anything and doesn't cause access violation, as my test attached to that MR shows. `-fno-omit-frame-pointer` is probably not useful on x64, however compiler can generate (or not) rbp-based frame on its own discretion. Once again, I guess what this MR is trying to do might be useful anyway (provided proper test and confirmed correct place to handle access violation), but WRT the concerned issue I believe it is better to fix the core reason and just avoid access violation in ntdll. UnityPlayer calls that RtlCaptureStackBackTrace routinely on debug logging and that is going to work wrong with those access violations. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/9218#note_119151