https://bugs.winehq.org/show_bug.cgi?id=47633
--- Comment #8 from Paul Gofman gofmanp@gmail.com --- Yes, SetThreadStackGuarantee() does not hit the bug anymore, but the similar problems like in SetProcessWorkingSetSize() from bug #47649 is still there. It seems the bug is triggered for __ms_hook_prologue__ under the following conditions:
- compiler decides that stack frame in prologue / epilogue is required for at least some of the control paths; - there is also quick return path in function which bypasses function's "official" prologue / epilogue; this path is then broken.
This happens in stubs if there is just FIXME in a stub or similar. Such a stub will crash if Wine is run, e. g, with WINEDEBUG=-all flag, but otherwise will not as the path with actual print code uses stack frame and is not broken. The SetProcessWorkingSetSize() is crashing because it has WARN instead of FIXME, that crash can be worked around by WINEDEBUG=warn+process. The issue is less likely to be present in implemented functions.