http://bugs.winehq.org/show_bug.cgi?id=44827
Armonius manicat@outlook.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |manicat@outlook.com
--- Comment #19 from Armonius manicat@outlook.com --- I have to thank ajduck@outlook.com and @wigglywoogly for the workarounds.. I spent weeks dealing with this issue and not even being aware of these workarounds. I have no knowledge of debugging and reverse engineering but for the past weeks I've been familiarizing myself with cpu registers and memory management to solve this issue. Here's what I've learned: you all were right on it being a loading hang. I used x64dbg and IDA pro to inspect the call stack on 2 different version of wine. I mainly focused on Soda 9(in bottles) but I started with wine 10.16 staging . In both Wine versions, the last api call before the crash was ntdll.WaitforMultipleObjects(). I traced down what was calling it to Fruity_Wrapper_x64.dll . I think it's a memory corruption issue due to some mismatch in architecture (64bit to 32bit) or 32bit to 64bit in old versions. The wait for multiple objects function is fundamentally a synchronization call to another thread(i think ilbridge), but the handle that the ntdll function is being passed is invalid. I can give more information but I'm going to see if I can patch it and see if it works (For the guys who know more than me about this, The bug is a memory corruption caused by an 8byte (QWORD) Handle being partially overwritten by a 4byte (DWORD) reference count due to incorrect structure offset usage in the 64bit host)