https://bugs.winehq.org/show_bug.cgi?id=56389
Bug ID: 56389 Summary: 32bit Assassin's Creed game and assassin's creed revelations was unable to run under wow64 Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: l12436.tw@gmail.com Distribution: ---
Created attachment 76138 --> https://bugs.winehq.org/attachment.cgi?id=76138 relay log
With wow64 enable to run 32bit under 64bit wine Assassin's Creed is not able to show window, but it normally without wow64 support.
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #1 from TOM l12436.tw@gmail.com --- It seems like the thread relative to GUI is wait a object, but it never got return in wow64, but it successfully return in none wow64
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #2 from TOM l12436.tw@gmail.com --- Created attachment 76142 --> https://bugs.winehq.org/attachment.cgi?id=76142 +sync on wow64 wine
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #3 from TOM l12436.tw@gmail.com --- Created attachment 76143 --> https://bugs.winehq.org/attachment.cgi?id=76143 +sync on not wow64 wine
https://bugs.winehq.org/show_bug.cgi?id=56389
temp82@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |temp82@luukku.com
--- Comment #4 from temp82@luukku.com --- what version of wine? please fill the version field with the version.
https://bugs.winehq.org/show_bug.cgi?id=56389
TOM l12436.tw@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |9.3
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #5 from TOM l12436.tw@gmail.com --- wine 9.3 but actually is latest master 0fb7c99c33507ac494c9c35e15fb6df8b000cdd2
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #6 from TOM l12436.tw@gmail.com --- Created attachment 76172 --> https://bugs.winehq.org/attachment.cgi?id=76172 wow64 log with seh and wow enabled
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #7 from TOM l12436.tw@gmail.com --- Created attachment 76173 --> https://bugs.winehq.org/attachment.cgi?id=76173 not wow64 with seh and wow enabled
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #8 from TOM l12436.tw@gmail.com --- It seems code has exception in wow64 ? seh has different log comapre with wow64 and not
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #9 from TOM l12436.tw@gmail.com --- Created attachment 76221 --> https://bugs.winehq.org/attachment.cgi?id=76221 log with +file,+server,+relay,+threadname on wow64 wine
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #10 from TOM l12436.tw@gmail.com --- Created attachment 76222 --> https://bugs.winehq.org/attachment.cgi?id=76222 log with +file,+server,+relay,+threadname on none wow64 wine
https://bugs.winehq.org/show_bug.cgi?id=56389
Hristo Venev hristo@venev.name changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hristo@venev.name
--- Comment #11 from Hristo Venev hristo@venev.name --- The issue appears to be a deadlock while reading some files. Here is what happens in the wow64 case:
0144:trace:sync:NtWaitForMultipleObjects -> 0 0144:trace:file:GetOverlappedResultEx (000001D4 03990014 03CBFEE0 0 0) 0144:trace:file:GetOverlappedResultEx (000001D4 03990014 03CBFEC8 0 0) 0144:trace:sync:NtSetEvent handle 0x10c, prev_state (nil) 0148:trace:sync:NtWaitForMultipleObjects -> 0 0144:trace:sync:NtWaitForMultipleObjects wait_any 1, alertable 0, handles {0x104}, timeout (infinite) 0148:trace:sync:NtResetEvent handle 0x10c, prev_state (nil) 0148:trace:sync:NtSetEvent handle 0x120, prev_state (nil) 0148:trace:sync:NtSetEvent handle 0x120, prev_state (nil) 0148:trace:sync:NtWaitForMultipleObjects wait_any 1, alertable 0, handles {0x11c}, timeout (infinite) 012c:trace:sync:NtWaitForMultipleObjects -> 0 012c:trace:file:ReadFile 000001D4 7FBB0000 524288 00000000 03990014 012c:trace:file:NtReadFile (0x1d4,0x104,(nil),0x3990014,0x7ffffe1ff410,0x7fbb0000,0x00080000,0x12f7c0,(nil)) 012c:trace:file:NtReadFile = SUCCESS (524288) 012c:trace:sync:NtSetEvent handle 0x104, prev_state (nil) 0144:trace:sync:NtWaitForMultipleObjects -> 0 0144:trace:file:GetOverlappedResultEx (000001D4 03990014 03CBFEE0 0 0) 0144:trace:sync:NtWaitForMultipleObjects wait_any 1, alertable 0, handles {0x104}, timeout (infinite) <deadlock; threads 0164/0168 handle audio and can be ignored>
whereas in the non-wow64 the thread does not seem to perform the second wait:
0218:trace:sync:NtWaitForMultipleObjects -> 0 0218:trace:file:GetOverlappedResultEx (000001E4 02EB0014 033DFEE0 0 0) 0218:trace:file:GetOverlappedResultEx (000001E4 02EB0014 033DFEC8 0 0) 0218:trace:sync:NtSetEvent handle 0x11c, prev_state (nil) 0218:trace:sync:NtWaitForMultipleObjects wait_any 1, alertable 0, handles {0x114}, timeout (infinite) 021c:trace:sync:NtWaitForMultipleObjects -> 0 021c:trace:sync:NtResetEvent handle 0x11c, prev_state (nil) 021c:trace:sync:NtSetEvent handle 0x130, prev_state (nil) 021c:trace:sync:NtSetEvent handle 0x130, prev_state (nil) 021c:trace:sync:NtWaitForMultipleObjects wait_any 1, alertable 0, handles {0x12c}, timeout (infinite) 0200:trace:sync:NtWaitForMultipleObjects -> 0 0200:trace:file:ReadFile 000001E4 7FBB0000 524288 00000000 02EB0014 0200:trace:file:NtReadFile (0x1e4,0x114,(nil),0x2eb0014,0x2eb0014,0x7fbb0000,0x00080000,0x1cbf7c0,(nil)) 0200:trace:file:NtReadFile = SUCCESS (524288) 0200:trace:sync:NtSetEvent handle 0x114, prev_state (nil) 0218:trace:sync:NtWaitForMultipleObjects -> 0 0218:trace:file:GetOverlappedResultEx (000001E4 02EB0014 033DFEE0 0 0) <other threads doing stuff> 0218:trace:file:GetOverlappedResultEx (000001E4 02EB0014 033DFEC8 0 0) 0218:trace:file:ReadFile 000001E4 7FC30000 524288 00000000 02EB0014 0218:trace:file:NtReadFile (0x1e4,0x114,(nil),0x2eb0014,0x2eb0014,0x7fc30000,0x00080000,0x33dfe38,(nil))
This is also the first group of calls to `GetOverlappedResultEx`. Perhaps something is wrong there?
https://bugs.winehq.org/show_bug.cgi?id=56389
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wow64
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #12 from Hristo Venev hristo@venev.name --- I may have found the bug:
If the IO was synchronous, NtReadFile updates the `IO_STATUS_BLOCK` and then sets the event. Then it does some RPCs, returns, and finally the wow64 shim updates the `IO_STATUS_BLOCK32`.
The problem here is that the event is already being waited on by another thread, so it checks the `IO_STATUS_BLOCK32` before the wow64 shim has updated it.
https://bugs.winehq.org/show_bug.cgi?id=56389
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|32bit Assassin's Creed game |Assassin's Creed & |and assassin's creed |Assassin's Creed: |revelations was unable to |Revelations do not run |run under wow64 |under new WoW64
https://bugs.winehq.org/show_bug.cgi?id=56389
mrdeathjr28@yahoo.es changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mrdeathjr28@yahoo.es
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #13 from mrdeathjr28@yahoo.es --- Yeah in my case appear same error around various wine versions ago until now
Maybe can have related bloodrayne 1 and 2 dont begin too on new wow64*
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #14 from TOM l12436.tw@gmail.com --- I also find out it is a deadlock, the one of thread seems missing something that wake the another up cause dead lock, but I can not find where it is.
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #15 from mrdeathjr28@yahoo.es --- zfigura stay working for a fix but sadly dont be approved today
https://gitlab.winehq.org/wine/wine/-/merge_requests/5926
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #16 from TOM l12436.tw@gmail.com --- Oh, there are a patch, I can apply it to test it. ????
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #17 from TOM l12436.tw@gmail.com --- yep, it seems working, no longer deadlock
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #18 from mrdeathjr28@yahoo.es --- Created attachment 76682 --> https://bugs.winehq.org/attachment.cgi?id=76682 zfigura-patch
if anyone want try, this is the zfigura patch
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #19 from mrdeathjr28@yahoo.es --- i test and assasins creed begin normally, however bloodrayne still same
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #20 from TOM l12436.tw@gmail.com --- what version of bloodrayne you use, I saw its demo is NE file which is old WIN9X
https://bugs.winehq.org/show_bug.cgi?id=56389
--- Comment #21 from mrdeathjr28@yahoo.es --- (In reply to TOM from comment #20)
what version of bloodrayne you use, I saw its demo is NE file which is old WIN9X
thanks i use old versions of bloodrayne from gog before terminal cut
https://bugs.winehq.org/show_bug.cgi?id=56389
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |ntdll Resolution|--- |FIXED Fixed by SHA1| |be0d882e89cc3403ff0c1db4188 | |ec2861de36298 CC| |z.figura12@gmail.com Status|UNCONFIRMED |RESOLVED
--- Comment #22 from Zeb Figura z.figura12@gmail.com --- Fixed by the series ending in https://source.winehq.org/git/wine.git/commitdiff/be0d882e89cc3403ff0c1db4188ec2861de36298.
https://bugs.winehq.org/show_bug.cgi?id=56389
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #23 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 9.12.
https://bugs.winehq.org/show_bug.cgi?id=56389
olegos2 dfwsefvgh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dfwsefvgh@gmail.com
--- Comment #24 from olegos2 dfwsefvgh@gmail.com --- *** Bug 56844 has been marked as a duplicate of this bug. ***