[Bug 59726] New: Syscall emulation on Linux using Syscall User Dispatch broken with glibc 2.34
http://bugs.winehq.org/show_bug.cgi?id=59726 Bug ID: 59726 Summary: Syscall emulation on Linux using Syscall User Dispatch broken with glibc 2.34 Product: Wine Version: 11.8 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@list.winehq.org Reporter: valy@etersoft.ru Regression SHA1: cbb9906d75346c9ca9be8ac0b3ddb06d9d48824d Distribution: --- Created attachment 80872 --> http://bugs.winehq.org/attachment.cgi?id=80872 VisualStudioSetup.exe After initializing the Visual Studio installer (https://visualstudio.microsoft.com) under Wine 11.8, execution stops. I managed to identify that the cause is this commit: cbb9906d75346c9ca9be8ac0b3ddb06d9d48824d is the first bad commit commit cbb9906d75346c9ca9be8ac0b3ddb06d9d48824d (HEAD) Author: Elizabeth Figura zfigura@codeweavers.com Date: Fri Mar 13 16:25:41 2026 -0500 ntdll: Implement syscall emulation on Linux using Syscall User Dispatch. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48291 dlls/ntdll/tests/exception.c | 1 - dlls/ntdll/unix/signal_x86_64.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 60 insertions(+), 12 deletions(-) As I understand it, the reason for this behavior is the merging of libpthread, libdl, libutil, libanl into libc in version 2.34 (https://sourceware.org/pipermail/libc-alpha/2021-August/129718.html). I am running with libc version 2.32. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #1 from valy@etersoft.ru <valy@etersoft.ru> --- Created attachment 80873 --> http://bugs.winehq.org/attachment.cgi?id=80873 Disable syscall user dispatch on glibc older than 2.34 This patch helped me -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 valy@etersoft.ru <valy@etersoft.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com --- Comment #2 from Zeb Figura <z.figura12@gmail.com> --- I can't seem to run the installer; I get 'Unable to download installation files. Check your internet connection and try again.' -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #3 from valy@etersoft.ru <valy@etersoft.ru> --- Created attachment 80881 --> http://bugs.winehq.org/attachment.cgi?id=80881 Paint.NET Maybe this app will help you. It also doesn't work for me. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #4 from Zeb Figura <z.figura12@gmail.com> --- Please don't attach executables here you don't have permission to redistribute. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #5 from Zeb Figura <z.figura12@gmail.com> --- How exactly did you get visual studio to run? Did you use external patches or winetricks verbs? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #6 from Alexandre Julliard <julliard@winehq.org> --- The content of attachment 80872 has been deleted for the following reason: Copyright violation -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #7 from valy@etersoft.ru <valy@etersoft.ru> --- (In reply to Zeb Figura from comment #5)
How exactly did you get visual studio to run? Did you use external patches or winetricks verbs?
What helped me was adding an additional condition check in the libc_addr_cb function (dlls/ntdll/unix/signal_x86_64.c): if (strcmp(p, "libc.so.6") && strcmp(p, "libpthread.so.0")) return 0; I also found that setting static LONG syscall_dispatch_enabled = false; was helpful. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #8 from Zeb Figura <z.figura12@gmail.com> --- It won't run for me even after disabling syscall emulation. I get the error mentioned in comment 2. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #9 from valy@etersoft.ru <valy@etersoft.ru> --- (In reply to Zeb Figura from comment #8)
It won't run for me even after disabling syscall emulation. I get the error mentioned in comment 2.
What if I try installing paint.net? This program also causes the same problem for me. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #10 from valy@etersoft.ru <valy@etersoft.ru> --- (In reply to valy@etersoft.ru from comment #9)
(In reply to Zeb Figura from comment #8)
It won't run for me even after disabling syscall emulation. I get the error mentioned in comment 2.
What if I try installing paint.net?
*Have you tried installing paint.net? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #11 from Alexandre Julliard <julliard@winehq.org> --- The content of attachment 80881 has been deleted for the following reason: Copyright violation -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEEDINFO Keywords| |download Ever confirmed|0 |1 URL| |https://github.com/paintdot | |net/release/releases/downlo | |ad/v5.1.12/paint.net.5.1.12 | |.install.anycpu.web.zip --- Comment #12 from Zeb Figura <z.figura12@gmail.com> --- (In reply to valy@etersoft.ru from comment #10)
(In reply to valy@etersoft.ru from comment #9)
(In reply to Zeb Figura from comment #8)
It won't run for me even after disabling syscall emulation. I get the error mentioned in comment 2.
What if I try installing paint.net?
*Have you tried installing paint.net?
paint.net won't install on plain Wine either; it seems to need something from d2d. How are you running these applications? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 Ganni87 <jonfarr87@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jonfarr87@gmail.com --- Comment #13 from Ganni87 <jonfarr87@gmail.com> --- I would like to add that this feature broke many games for me. Games such as - Guild Wars 1, Expedition 33 and Legacy of Kain Defiance Remastered to name a few. Didn't test other games but most likely affects them too. Issue started since 11.8 (and 11.9). Reverting to 11.7 games work fine. I tried the OP's patch with 11.9 release and the games started working fine again. My glibc is also older than 2.34. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #14 from Ganni87 <jonfarr87@gmail.com> --- By "broke many games" I meant they don't run at all or crash after the first screen. Sorry forgot to mention the actual issue. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW --- Comment #15 from Zeb Figura <z.figura12@gmail.com> --- (In reply to Ganni87 from comment #13)
I would like to add that this feature broke many games for me.
Games such as - Guild Wars 1, Expedition 33 and Legacy of Kain Defiance Remastered to name a few. Didn't test other games but most likely affects them too. Issue started since 11.8 (and 11.9). Reverting to 11.7 games work fine.
Thanks, this helped. I tried running Legacy of Kain, which actually still worked even inside a Debian Bullseye container (with glibc 2.31), but I was able to get Steam itself to consistently crash. The diagnosis in comment 0 was correct; the signal trampoline was in libpthread. I wanted to make sure of this since it seems a bit annoying to deal with. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Syscall emulation on Linux |Syscall emulation on Linux |using Syscall User Dispatch |using Syscall User Dispatch |broken with glibc 2.34 |broken with glibc < 2.34 -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #16 from Ganni87 <jonfarr87@gmail.com> --- (In reply to Zeb Figura from comment #15)
(In reply to Ganni87 from comment #13)
I would like to add that this feature broke many games for me.
Games such as - Guild Wars 1, Expedition 33 and Legacy of Kain Defiance Remastered to name a few. Didn't test other games but most likely affects them too. Issue started since 11.8 (and 11.9). Reverting to 11.7 games work fine.
Thanks, this helped. I tried running Legacy of Kain, which actually still worked even inside a Debian Bullseye container (with glibc 2.31), but I was able to get Steam itself to consistently crash.
The diagnosis in comment 0 was correct; the signal trampoline was in libpthread. I wanted to make sure of this since it seems a bit annoying to deal with.
Hi, just wondering if the fix provided by OP is going to be merged or if another solution is being worked on for this? I'm asking as the patch no longer works starting from Wine 11.11+ -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #17 from Zeb Figura <z.figura12@gmail.com> --- (In reply to Ganni87 from comment #16)
Hi, just wondering if the fix provided by OP is going to be merged or if another solution is being worked on for this?
I'm working on sending a different solution that will actually allow the feature to work on older glibc. Sorry for the delay. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #18 from Zeb Figura <z.figura12@gmail.com> --- (In reply to Zeb Figura from comment #17)
I'm working on sending a different solution that will actually allow the feature to work on older glibc. Sorry for the delay.
Sorry it's taken me so long, but I've sent this as <https://gitlab.winehq.org/wine/wine/-/merge_requests/10984>. I'd appreciate if someone can test on a system affected by this bug, and specifically if they can make sure the feature is actually enabled. Best if you can run an application that depends on it, but at least checking +seh for a line like "found signal trampoline in libpthread" would be helpful. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #19 from Ganni87 <jonfarr87@gmail.com> --- (In reply to Zeb Figura from comment #18)
(In reply to Zeb Figura from comment #17)
I'm working on sending a different solution that will actually allow the feature to work on older glibc. Sorry for the delay.
Sorry it's taken me so long, but I've sent this as <https://gitlab.winehq.org/wine/wine/-/merge_requests/10984>. I'd appreciate if someone can test on a system affected by this bug, and specifically if they can make sure the feature is actually enabled. Best if you can run an application that depends on it, but at least checking +seh for a line like "found signal trampoline in libpthread" would be helpful.
Hello, managed to test your patch against a Wine 11.10 base with Legacy of Kain - Defiance Remastered, one of the games where it was crashing immediately after launching. Can confirm it solves the issue for me, I was able to reach the main menu and get in game. Attached wine log with +seh enabled. Let me know if there's anything else I can help with. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #20 from Ganni87 <jonfarr87@gmail.com> --- Created attachment 81737 --> http://bugs.winehq.org/attachment.cgi?id=81737 Terminal log with +seh enabled with patch applied to Wine 11.10 base. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #21 from Zeb Figura <z.figura12@gmail.com> --- Thank you, it does seem to be working correctly then! -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |4471887d04a6be43367a966db26 | |838c5c0d9f268 Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #22 from Zeb Figura <z.figura12@gmail.com> --- Fixed upstream by 4471887d04a6be43367a966db26838c5c0d9f268. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 --- Comment #23 from valy@etersoft.ru <valy@etersoft.ru> --- (In reply to Ganni87 from comment #19)
(In reply to Zeb Figura from comment #18)
(In reply to Zeb Figura from comment #17)
I'm working on sending a different solution that will actually allow the feature to work on older glibc. Sorry for the delay.
Sorry it's taken me so long, but I've sent this as <https://gitlab.winehq.org/wine/wine/-/merge_requests/10984>. I'd appreciate if someone can test on a system affected by this bug, and specifically if they can make sure the feature is actually enabled. Best if you can run an application that depends on it, but at least checking +seh for a line like "found signal trampoline in libpthread" would be helpful.
Hello, managed to test your patch against a Wine 11.10 base with Legacy of Kain - Defiance Remastered, one of the games where it was crashing immediately after launching.
Can confirm it solves the issue for me, I was able to reach the main menu and get in game. Attached wine log with +seh enabled. Let me know if there's anything else I can help with.
And for me, this commit solves the issue. Thank you! -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59726 Alexandre Julliard <julliard@winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #24 from Alexandre Julliard <julliard@winehq.org> --- Closing bugs fixed in 11.16. -- 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.
participants (1)
-
WineHQ Bugzilla