[Bug 45525] Heroes 3 Horn of the Abyss freezes on create a host TCP/ IP multiplayer game

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Dec 26 08:32:04 CST 2018


https://bugs.winehq.org/show_bug.cgi?id=45525

Paul Gofman <gofmanp at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gofmanp at gmail.com

--- Comment #20 from Paul Gofman <gofmanp at gmail.com> ---
Created attachment 63109
  --> https://bugs.winehq.org/attachment.cgi?id=63109
Test event namespace visibility

I have surfed through the log from comment #3 a bit. It seems like the
application goes into infinite wait:

004d:err:ntdll:RtlpWaitForCriticalSection section 0x2c119d8 "?" wait timed out
in thread 004d, blocked by 0030, retrying (60 sec)
004c:err:ntdll:RtlpWaitForCriticalSection section 0x2c119f8 "?" wait timed out
in thread 004c, blocked by 0030, retrying (60 sec)
004d:err:ntdll:RtlpWaitForCriticalSection section 0x2c119d8 "?" wait timed out
in thread 004d, blocked by 0030, retrying (5 min)
004c:err:ntdll:RtlpWaitForCriticalSection section 0x2c119f8 "?" wait timed out
in thread 004c, blocked by 0030, retrying (5 min)

Here is the relevant part from the thread 0030 which is seemingly holding the
others (the wait in the last line never returns):

-------
0030:Call KERNEL32.OpenEventA(00100000,00000000,5df01310
"__DPHelpStartupEvent__") ret=5df05721
0030:Ret  KERNEL32.OpenEventA() retval=00000000 ret=5df05721
0030:Call KERNEL32.CreateProcessA(00000000,5df01328
"dplaysvr.exe",00000000,00000000,00000000,00000020,00000000,00000000,00339894,003398d8)
ret=5df0575c
0030:Ret  KERNEL32.CreateProcessA() retval=00000001 ret=5df0575c
0030:Call KERNEL32.CreateEventA(00000000,00000001,00000000,5df01310
"__DPHelpStartupEvent__") ret=5df056dc
0030:Ret  KERNEL32.CreateEventA() retval=00000184 ret=5df056dc
0030:Call KERNEL32.WaitForSingleObject(00000184,ffffffff) ret=5df056ed
-------

And here are the relevant calls from the process created by thread 0030:
-----
004f:Call KERNEL32.CreateEventA(01008560,00000001,00000000,01001278
"Global\\__DPHelpStartupEvent__") ret=01002183
004f:Ret  KERNEL32.CreateEventA() retval=00000020 ret=01002183

...
004f:Call KERNEL32.SetEvent(00000020) ret=01002312
004f:Ret  KERNEL32.SetEvent() retval=00000001 ret=01002312
-----

So the child process signals the event, but apparently the events
"Global\\__DPHelpStartupEvent__" and "__DPHelpStartupEvent__" are different
event objects and signalling the former has no effect on process waiting on the
latter. I've made a small test (attached), and according to my testing such
event objects are the same under Windows XP but different on Vista+.

So the question is, does this work, e, g, on Windows 7? If no, this event
visibility thing is most likely the cause of the issue observed.

-- 
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.



More information about the wine-bugs mailing list