https://bugs.winehq.org/show_bug.cgi?id=47571
Bug ID: 47571 Summary: setup_exception stack overflow 2624 bytes in thread 0169 eip 000000007bcd8bd9 esp 0000000000130bd0 stack 0x130000-0x131000-0x530000 Product: Wine Version: 4.12.1 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: joe@knocknet.net Distribution: ---
Created attachment 64976 --> https://bugs.winehq.org/attachment.cgi?id=64976 Running Metro Exodus from the epic games store
2 Games that have worked previously with wine (admitedly one was Proton) now throw this error when launching. I can upload more logs if required.
Both Metro Exodus through the Epic Games store and
Shadow of the Tomb Raider via Steam Proton throw a similar "setup_exception stack overflow"
https://bugs.winehq.org/show_bug.cgi?id=47571
--- Comment #1 from Joe Knock joe@knocknet.net --- I realized that this problem started after upgrading to a Ryzen 3000 series processor. I don't know if it's related to the RDRAND issue. Just grasping at straws
https://bugs.winehq.org/show_bug.cgi?id=47571
--- Comment #2 from Joe Knock joe@knocknet.net --- Updating to confirm this is a Ryzen 3000 Issue. Following here on the Proton Github
https://github.com/ValveSoftware/Proton/issues/2927
Workaround is to append clearcpuid=514 to kernel parameters to disable UMIP
Looks like some games have a problem with UMIP and wine. I don't know how to update the title.
https://bugs.winehq.org/show_bug.cgi?id=47571
Joe Knock joe@knocknet.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|setup_exception stack |Some games with Wine and |overflow 2624 bytes in |UMIP enabled cause crash on |thread 0169 eip |startup. |000000007bcd8bd9 esp | |0000000000130bd0 stack | |0x130000-0x131000-0x530000 |
https://bugs.winehq.org/show_bug.cgi?id=47571
Joe Knock joe@knocknet.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Some games with Wine and |Unable to start some Games |UMIP enabled cause crash on |in Wine with UMIP enabled |startup. |on Ryzen 3000 series CPUs
https://bugs.winehq.org/show_bug.cgi?id=47571
Shmerl shtetldik@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |shtetldik@gmail.com
--- Comment #3 from Shmerl shtetldik@gmail.com --- According to: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1529309.html
When enabled, however, UMIP will change the behavior that certain applications expect from the operating system. For instance, programs running on WineHQ and DOSEMU2 rely on some of these instructions to function. [...] In order to not change the behavior of the system (i.e., a SIGSEGV signal should not be generated when using these instructions), this implementation traps the #GP fault generated by the CPU and emulates SGDT, SIDT and SMSW. with dummy returned values. This should be sufficient to not break the applications mentioned above.
Does this mean that workaround is broken and Wine is expecting something else?
Apparently Zen 2 processors are practically first ones to provide UMIP, so may be that workaround was never tested before on actual hardware that supports it.
https://bugs.winehq.org/show_bug.cgi?id=47571
s9209122222@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |s9209122222@gmail.com
--- Comment #4 from s9209122222@gmail.com --- How is it still UNCONFIRMED? Every Ryzen3000 user has confirmed it.
https://bugs.winehq.org/show_bug.cgi?id=47571
Joe Knock joe@knocknet.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |joe@knocknet.net
https://bugs.winehq.org/show_bug.cgi?id=47571
--- Comment #5 from Joe Knock joe@knocknet.net --- (In reply to s9209122222 from comment #4)
How is it still UNCONFIRMED? Every Ryzen3000 user has confirmed it.
I'm not positive a wine dev has even looked at it yet.
https://bugs.winehq.org/show_bug.cgi?id=47571
--- Comment #6 from s9209122222@gmail.com --- They still haven't see this bug.
https://bugs.winehq.org/show_bug.cgi?id=47571
--- Comment #7 from s9209122222@gmail.com --- (In reply to s9209122222 from comment #6)
They still haven't see this bug.
seen
https://bugs.winehq.org/show_bug.cgi?id=47571
George Gibbs vash63@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |vash63@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=47571
Brendan Shanks bshanks@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bshanks@codeweavers.com
--- Comment #8 from Brendan Shanks bshanks@codeweavers.com --- I've reproduced the problem with multiple games, it's caused because the kernel only does UMIP instruction emulation for 32-bit processes. Some 64-bit games also use these instructions and crash as a result. I'm testing a kernel patch that will enable the emulation for 64-bit processes, for now the clearcpuid=514 kernel parameter should be used to disable UMIP.
https://bugs.winehq.org/show_bug.cgi?id=47571
Alexandr Oleynikov sashok.olen@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sashok.olen@gmail.com
--- Comment #10 from Alexandr Oleynikov sashok.olen@gmail.com --- I've tried the latest v4 (same thing with v2) patch recently and it seems to break "Star Wars: Battlefront 2". Without the patch, the game launches normally (although only in virtual desktop due to massive winex11 bugs), but with it, it doesn't start at all and, I think, hangs on activation process (really unsure about that tho). Should note that my CPU is an i7 2600K and definitely doesn't support UMIP (I was looking into including this in my custom builds for those people who are affected by the issue). Let me know what info I can provide to help you resolve the issue.
https://bugs.winehq.org/show_bug.cgi?id=47571
--- Comment #11 from Brendan Shanks bshanks@codeweavers.com --- (In reply to Alexandr Oleynikov from comment #10)
I've tried the latest v4 (same thing with v2) patch recently and it seems to break "Star Wars: Battlefront 2". Without the patch, the game launches normally (although only in virtual desktop due to massive winex11 bugs), but with it, it doesn't start at all and, I think, hangs on activation process (really unsure about that tho). Should note that my CPU is an i7 2600K and definitely doesn't support UMIP (I was looking into including this in my custom builds for those people who are affected by the issue). Let me know what info I can provide to help you resolve the issue.
That's really interesting, the v2 patch especially shouldn't have any effect on your system since it was checking CPUID for UMIP before emulating any instructions.
This is Star Wars: Battlefront 2 from 2017? Can you post a log with WINEDEBUG="+timestamp,+pid,+tid,+seh,+debugstr,+loaddll"
https://bugs.winehq.org/show_bug.cgi?id=47571
--- Comment #12 from Alexandr Oleynikov sashok.olen@gmail.com --- So sorry, a few hours I posted that message, the game received an update and I could no longer reproduce the issue. I waited to see if maybe I would be able to reproduce it again later, but nope.
https://bugs.winehq.org/show_bug.cgi?id=47571
--- Comment #13 from Brendan Shanks bshanks@codeweavers.com --- I think this can be closed, all 5 UMIP instructions are now emulated by the kernel in both 32- and 64-bit processes.
Linux 5.4 added emulation for SGDT, SIDT, and SMSW for 64-bit processes, and Linux 5.10 added emulation for SLDT and STR instructions on both 32- and 64-bit processes.
https://bugs.winehq.org/show_bug.cgi?id=47571
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |NOTOURBUG Status|UNCONFIRMED |RESOLVED CC| |z.figura12@gmail.com
--- Comment #14 from Zebediah Figura z.figura12@gmail.com --- (In reply to Brendan Shanks from comment #13)
I think this can be closed, all 5 UMIP instructions are now emulated by the kernel in both 32- and 64-bit processes.
Linux 5.4 added emulation for SGDT, SIDT, and SMSW for 64-bit processes, and Linux 5.10 added emulation for SLDT and STR instructions on both 32- and 64-bit processes.
Resolving as upstream...
https://bugs.winehq.org/show_bug.cgi?id=47571
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #15 from Zebediah Figura z.figura12@gmail.com --- (In reply to Zebediah Figura from comment #14)
(In reply to Brendan Shanks from comment #13)
I think this can be closed, all 5 UMIP instructions are now emulated by the kernel in both 32- and 64-bit processes.
Linux 5.4 added emulation for SGDT, SIDT, and SMSW for 64-bit processes, and Linux 5.10 added emulation for SLDT and STR instructions on both 32- and 64-bit processes.
Resolving as upstream...
...and closing.
https://bugs.winehq.org/show_bug.cgi?id=47571
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |7298282@gmail.com
--- Comment #16 from Zebediah Figura z.figura12@gmail.com --- *** Bug 50443 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=47571
--- Comment #17 from Anastasius Focht focht@gmx.net --- *** Bug 50443 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=47571
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |uschneid@posteo.de
--- Comment #18 from Zebediah Figura z.figura12@gmail.com --- *** Bug 50609 has been marked as a duplicate of this bug. ***