https://bugs.winehq.org/show_bug.cgi?id=50738 Paul Gofman <pgofman(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pgofman(a)codeweavers.com --- Comment #6 from Paul Gofman <pgofman(a)codeweavers.com> --- I've tested the issue. The effect of the patch is just tweaking the stack layout. I could reproduce the issue on top of the last good commit by just allocating a bit more data on stack in wine_syscall_dispatcher() without any other changes from the blamed commit. However, there is no stack overflow, and allocating even more memory on stack in wine_syscall_dispatcher() fixes the issue again. It appears to be the use of the memory on stack below the stack pointer which goes fine when the memory there hasn't been overwritten and break things when it had. I could also reproduce the issue by clearing some amount of stack below the stack pointer at syscall dispatcher exit and ended up finding the exact offset below the stack writing to which breaks things. I discovered that problematic memory address is passed to ws2_32.ConnectEx() as the initial data send buffer. Looks like on Windows it supposed to copy the data before returning from the function which is not necessarily the case in Wine currently. So when the game passes the on stack buffer to ConnectEx and then leaves, the consistency of data being sent are at the mercy of that stack part to be untouched (which by chance happened to be the case before the blamed commit). This patch on top of current master is fixing the issue for me: https://source.winehq.org/patches/data/202349 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.