https://bugs.winehq.org/show_bug.cgi?id=44950
Bug ID: 44950 Summary: err:ntdll:RtlpWaitForCriticalSection. Supreme Commander FA Product: Wine Version: 3.5 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: james.ytedmonds@gmail.com Distribution: ---
This bug has affected Supreme Commander: Forged Alliance since pre-2.21. I have found this bug to affect multiple machines with clean wine prefixes.
At some point during gameplay, the game will either stop entirely or the window for it will close. The terminal reads:
" 007f:fixme:faultrep:ReportFault 0x153ece4 0x0 stub 0110:err:ntdll:RtlpWaitForCriticalSection section 0xfeec00 "?" wait timed out in thread 0110, blocked by 007f, retrying (60 sec) "
The only option after this point is to kill the applications.
I have found several things that seem to make the bug more likely: *Playing on large maps (definite correlation) *Using 6+ players (less certain) *High graphics settings (might affect timing of bug, but AFAIK cannot cause it)
I have tried to override the "ntdll.dll" with one from real windows, but I believe wine at this time does not support overriding this DLL.
The bug is easy to reproduce, on a large map (i.e. "Betrayal Ocean") it can occur within 5-10 minutes.
I can get any details and logs needed, but I will need to be told how to get them (I am not experienced with debugging)
https://bugs.winehq.org/show_bug.cgi?id=44950
James Edmonds james.ytedmonds@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |james.ytedmonds@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44950
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=44950
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEEDINFO Ever confirmed|0 |1 Component|ntdll |-unknown
--- Comment #1 from Ken Sharp imwellcushtymelike@gmail.com --- No required information has been provided.
Read https://wiki.winehq.org/Bugs THOROUGHLY.
https://bugs.winehq.org/show_bug.cgi?id=44950
guillaume+winehq@atto.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |guillaume+winehq@atto.be
--- Comment #2 from guillaume+winehq@atto.be --- Created attachment 64669 --> https://bugs.winehq.org/attachment.cgi?id=64669 Application command line output
https://bugs.winehq.org/show_bug.cgi?id=44950
--- Comment #3 from guillaume+winehq@atto.be --- Hi,
I am also affected, below is the information based on the instructions on the Bugs. If something was forgotten, I apologize and ask you please kindly point out which specific information is missing.
During gameplay, often after 2-60 minutes of gameplay, the games freeze, and critical section errors appear in the console.
I also find that loading large maps and increase quality settings makes the freeze more likely
* System software : Debian GNU/Linux 10.0 (testing), Linux 4.19.0-5-amd64, Gnome Shell 3.30
* System hardware CPU : Intel(R) Pentium(R) CPU 3550M @ 2.30GHz Graphics card: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller
* wine --version wine-4.0 (Debian 4.0-2)
* Obtaining Super Commander FA This is a paid game, but if you're willing to help investigate I will buy it and ship to you. If you're into strategy games I recommend it. https://www.amazon.com/Supreme-Commander-Forged-Alliance-PC/dp/B000U8AYOO/re...
* Terminal output : see attachment "Application command line output"
https://bugs.winehq.org/show_bug.cgi?id=44950
--- Comment #4 from guillaume+winehq@atto.be --- Created attachment 64672 --> https://bugs.winehq.org/attachment.cgi?id=64672 Terminal output with winehq-dev 4.9 buster
https://bugs.winehq.org/show_bug.cgi?id=44950
--- Comment #5 from guillaume+winehq@atto.be --- As per the Bugs page, I replaced my wine installation (4.0.2 from Debian) by a development build (4.9 buster from winehq).
The game installed, but I am unable to start the game, there's not even a splash screen. The output is shown in attachment " Terminal output with winehq-dev 4.9 buster "
Note that in both case, I followed the Linux extended instruction from WineHQ here https://appdb.winehq.org/objectManager.php?sClass=version&iId=9728
https://bugs.winehq.org/show_bug.cgi?id=44950
Linards linards.liepins@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |linards.liepins@gmail.com
--- Comment #6 from Linards linards.liepins@gmail.com --- Is this bug still present?
https://bugs.winehq.org/show_bug.cgi?id=44950
--- Comment #7 from guillaume+winehq@atto.be --- As you've requested it, I played a game today and can confirm the bug can still be reproduced.
This bug usually manifest itself randomly, sometimes in the middle of a game, sometimes at the end of the game when clicking the "Score" button to see game statistics.
In today's game, I saw the bug occurs when clicking the "Score" button.
Wine version : 5.0.3-3 Wine prefix : 32-bit Operating System : Debian GNU/Linux, testing repository (future Bookworm release)
Error message :
0031:err:ntdll:RtlpWaitForCriticalSection section 0x7c4a2020 "window.c: win_data_section" wait timed out in thread 0031, blocked by 0009, retrying (60 sec) 0031:err:ntdll:RtlpWaitForCriticalSection section 0x7c4a2020 "window.c: win_data_section" wait timed out in thread 0031, blocked by 0009, retrying (60 sec) 0031:err:ntdll:RtlpWaitForCriticalSection section 0x7c4a2020 "window.c: win_data_section" wait timed out in thread 0031, blocked by 0009, retrying (60 sec) 0031:err:ntdll:RtlpWaitForCriticalSection section 0x7c4a2020 "window.c: win_data_section" wait timed out in thread 0031, blocked by 0009, retrying (60 sec) ...
https://bugs.winehq.org/show_bug.cgi?id=44950
--- Comment #8 from guillaume+winehq@atto.be --- I captured the following callstack using gdb and attaching to the same process producing the error mentioned in my previous comment.
That wine error mentions thread 31, however it doesn't match any thread identifier visible from GDB. So I assume this is an internal thread identifier within Wine that doesn't match thread ids on my host system (ie Linux).
When examining all thread, I noticed only one where "RtlpWaitForCriticalSection" appear :
(gdb) t 5 [Switching to thread 5 (Thread 0xa423b40 (LWP 12918))] #0 0xf7ee3559 in __kernel_vsyscall () (gdb) bt #0 0xf7ee3559 in __kernel_vsyscall () #1 0xf7bf7a07 in syscall () from /lib/i386-linux-gnu/libc.so.6 #2 0x7bc57396 in ?? () from /usr/lib/wine/../i386-linux-gnu/wine/ntdll.dll.so #3 0x7bc57474 in ?? () from /usr/lib/wine/../i386-linux-gnu/wine/ntdll.dll.so #4 0x7bc575b4 in ?? () from /usr/lib/wine/../i386-linux-gnu/wine/ntdll.dll.so #5 0x7bc57a70 in RtlpWaitForCriticalSection () from /usr/lib/wine/../i386-linux-gnu/wine/ntdll.dll.so #6 0x7bc57d5f in RtlEnterCriticalSection () from /usr/lib/wine/../i386-linux-gnu/wine/ntdll.dll.so #7 0x7c44db6c in X11DRV_GetDC () from /usr/lib/wine/../i386-linux-gnu/wine/winex11.drv.so #8 0x7f642874 in ?? () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #9 0x7f6433fe in GetDCEx () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #10 0x7f643f86 in GetDC () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #11 0x7f6060c5 in ?? () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #12 0x7f607132 in DialogBoxIndirectParamW () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #13 0x7f63df1f in MessageBoxIndirectW () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #14 0x7f63e15c in MessageBoxIndirectA () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #15 0x7f63e339 in MessageBoxA () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #16 0x100043ff in ?? () #17 0x10003f07 in ?? () #18 0x10003325 in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?)
https://bugs.winehq.org/show_bug.cgi?id=44950
--- Comment #9 from guillaume+winehq@atto.be --- I put a breakpoint on write to catch the debug output, and can confirm the thread callstack if the one that trigger the error.
Here's the callstack where write is reached:
#0 0xf7cf3fb0 in write () from /lib/i386-linux-gnu/libpthread.so.0 #1 0x7bc5cb7c in __wine_dbg_output () from /usr/lib/wine/../i386-linux-gnu/wine/ntdll.dll.so #2 0x7bc56dcc in ?? () from /usr/lib/wine/../i386-linux-gnu/wine/ntdll.dll.so #3 0x7bc57a61 in RtlpWaitForCriticalSection () from /usr/lib/wine/../i386-linux-gnu/wine/ntdll.dll.so #4 0x7bc57d5f in RtlEnterCriticalSection () from /usr/lib/wine/../i386-linux-gnu/wine/ntdll.dll.so #5 0x7c44db6c in X11DRV_GetDC () from /usr/lib/wine/../i386-linux-gnu/wine/winex11.drv.so #6 0x7f642874 in ?? () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #7 0x7f6433fe in GetDCEx () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #8 0x7f643f86 in GetDC () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #9 0x7f6060c5 in ?? () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #10 0x7f607132 in DialogBoxIndirectParamW () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #11 0x7f63df1f in MessageBoxIndirectW () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #12 0x7f63e15c in MessageBoxIndirectA () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #13 0x7f63e339 in MessageBoxA () from /usr/lib/wine/../i386-linux-gnu/wine/user32.dll.so #14 0x100043ff in ?? () #15 0x10003f07 in ?? () #16 0x10003325 in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?)
https://bugs.winehq.org/show_bug.cgi?id=44950
ephecaff@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ephecaff@gmail.com
--- Comment #10 from ephecaff@gmail.com --- The bug still exists. wine 7.5, Supreme Commander: Forged Alliance (GoG version), nvidia driver.
074c:err:virtual:virtual_setup_exception stack overflow 4 bytes in thread 074c addr 0x4a2855 stack 0x120ffc (0x120000-0x121000-0x310000) 0504:err:sync:RtlpWaitForCriticalSection section 025F0628 "?" wait timed out in thread 0504, blocked by 074c, retrying (60 sec)