https://bugs.winehq.org/show_bug.cgi?id=49412
--- Comment #20 from Matías Zúñiga matias.nicolas.zc@gmail.com --- Created attachment 70530 --> https://bugs.winehq.org/attachment.cgi?id=70530 Restore original Staging 32 bit syscall thunks format
(In reply to Paul Gofman from comment #13)
Created attachment 67750 [details] Restore original Staging 32 bit syscall thunks format
Does this patch on top of current Staging change anything (this supersedes the previous patch from Comment #9 but again all the other custom patches which were required prior to 5.9 are still needed. Could you please also make sure that you are building PE dlls with mingw (e. g., that you have ntdll.dll and ntdll.so and not ntdll.dll.so in the built Wine)?
Hi Paul!
After a long time (since version 6.5), I decided to give this a try again (I read there have been some wow/syscall improvements the last couple of months). It seems that the second (unidentified) bug that prevented the game from starting when using your patch has been fixed.
Now i can start a game using wine + staging (6.15) + alternative_patch_by_using_a_fake_cs_segment (Bug 47198) + a modified version (attached) of your second patch (I'm just using the "import.c" changes).
If starting from the console (without login-in to the game), a working setup shows a window saying that I'm "starting the game in a unsupported way".
Without your second patch, no window is shown, and the console prints: ``` 0104:err:virtual:virtual_setup_exception stack overflow 644 bytes in thread 0104 addr (nil) stack 0x36b0d7c (0x36b0000-0x36b1000-0x37b0000) ```
This stack overflow comes after a lot (736) "EXCEPTION_ACCESS_VIOLATION", as shown on the "seh" trace ``` 0104:trace:seh:dispatch_exception code=c0000005 flags=0 addr=00000000 ip=00000000 tid=0104 0104:trace:seh:dispatch_exception info[0]=00000000 0104:trace:seh:dispatch_exception info[1]=00000000 0104:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised 0104:trace:seh:dispatch_exception eax=036b3ecc ebx=036b41e8 ecx=00000000 edx=7bc517c0 esi=036b3f04 edi=037aed40 0104:trace:seh:dispatch_exception ebp=036b3e58 esp=036b3e2c cs=0107 ds=002b es=002b fs=0063 gs=006b flags=00010212 0104:trace:seh:call_vectored_handlers calling handler at 100ECFC0 code=c0000005 flags=0 0104:trace:seh:call_vectored_handlers handler at 100ECFC0 returned 0 0104:trace:seh:dispatch_exception code=c0000005 flags=0 addr=00000000 ip=00000000 tid=0104 0104:trace:seh:dispatch_exception info[0]=00000000 0104:trace:seh:dispatch_exception info[1]=00000000 0104:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised 0104:trace:seh:dispatch_exception eax=036b394c ebx=036b3c68 ecx=00000000 edx=7bc517c0 esi=036b3984 edi=037aed40 0104:trace:seh:dispatch_exception ebp=036b38d8 esp=036b38ac cs=0107 ds=002b es=002b fs=0063 gs=006b flags=00010216 0104:trace:seh:call_vectored_handlers calling handler at 100ECFC0 code=c0000005 flags=0 0104:trace:seh:call_vectored_handlers handler at 100ECFC0 returned 0 0104:trace:seh:dispatch_exception code=c0000005 flags=0 addr=00000000 ip=00000000 tid=0104 0104:trace:seh:dispatch_exception info[0]=00000000 0104:trace:seh:dispatch_exception info[1]=00000000 0104:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised 0104:trace:seh:dispatch_exception eax=036b33cc ebx=036b36e8 ecx=00000000 edx=7bc517c0 esi=036b3404 edi=037aed40 0104:trace:seh:dispatch_exception ebp=036b3358 esp=036b332c cs=0107 ds=002b es=002b fs=0063 gs=006b flags=00010212 0104:trace:seh:call_vectored_handlers calling handler at 100ECFC0 code=c0000005 flags=0 0104:trace:seh:call_vectored_handlers handler at 100ECFC0 returned 0 0104:trace:seh:dispatch_exception code=c0000005 flags=0 addr=00000000 ip=00000000 tid=0104 0104:trace:seh:dispatch_exception info[0]=00000000 0104:trace:seh:dispatch_exception info[1]=00000000 0104:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised 0104:trace:seh:dispatch_exception eax=036b2e4c ebx=036b3168 ecx=00000000 edx=7bc517c0 esi=036b2e84 edi=037aed40 0104:trace:seh:dispatch_exception ebp=036b2dd8 esp=036b2dac cs=0107 ds=002b es=002b fs=0063 gs=006b flags=00010216 0104:trace:seh:call_vectored_handlers calling handler at 100ECFC0 code=c0000005 flags=0 0104:trace:seh:call_vectored_handlers handler at 100ECFC0 returned 0 0104:trace:virtual:mprotect_exec forcing exec permission on 0x36b1000-0x36b1fff 0104:trace:virtual:mprotect_exec forcing exec permission on 0x36b1000-0x36b1fff 0104:trace:seh:dispatch_exception code=c00000fd flags=0 addr=7BC518F0 ip=7bc518f0 tid=0104 0104:trace:seh:dispatch_exception info[0]=00000001 0104:trace:seh:dispatch_exception info[1]=036b1ee8 0104:warn:seh:dispatch_exception EXCEPTION_STACK_OVERFLOW exception (code=c00000fd) raised 0104:trace:seh:dispatch_exception eax=7bc70904 ebx=036b2668 ecx=036b2374 edx=7bc517c0 esi=7bc70678 edi=037aed40 0104:trace:seh:dispatch_exception ebp=036b2368 esp=036b1ee0 cs=0107 ds=002b es=002b fs=0063 gs=006b flags=00010202 0104:trace:seh:call_vectored_handlers calling handler at 100ECFC0 code=c00000fd flags=0 0104:trace:seh:call_vectored_handlers handler at 100ECFC0 returned 0 0104:err:virtual:virtual_setup_exception stack overflow 1220 bytes in thread 0104 addr 0x7bc56b56 stack 0x36b0b3c (0x36b0000-0x36b1000-0x37b0000) ```