[Bug 55898] New: WinSCP crashes with wine-8.20
https://bugs.winehq.org/show_bug.cgi?id=55898 Bug ID: 55898 Summary: WinSCP crashes with wine-8.20 Product: Wine Version: 8.20 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: uxtheme Assignee: wine-bugs(a)winehq.org Reporter: bernhardu(a)mailbox.org Distribution: --- WinSCP crashes with wine-8.20. Tested with this package: https://sourceforge.net/projects/winscp/files/WinSCP/6.0.1%20beta/WinSCP-6.0... A git bisect shows following: 29d5ce6b7a40635e2c4904ece9b8381a8132f248 is the first broken commit commit 29d5ce6b7a40635e2c4904ece9b8381a8132f248 Author: Louis Lenders <xerox.xerox2000x(a)gmail.com> Date: Tue Oct 31 07:59:03 2023 +0100 uxtheme: Add stub for AllowDarkModeForWindow. Reverting this commit on top of wine-8.20 makes the crash go away, so looks like kind of a regression. Running with +relay shows following: 0114:0118:Call KERNEL32.GetProcAddress(79240000,00000085) ret=00687165 0114:0118:Ret KERNEL32.GetProcAddress() retval=79241dc0 ret=00687165 0114:0118:Call KERNEL32.GetProcAddress(79240000,00000068) ret=00687165 0114:0118:Ret KERNEL32.GetProcAddress() retval=79241ce0 ret=00687165 0114:0118:Call KERNEL32.GetProcAddress(79240000,00000087) ret=00687165 0114:0118:Ret KERNEL32.GetProcAddress() retval=79241de0 ret=00687165 0114:0118:Call uxtheme.135(00000001) ret=00866406 0114:0118:fixme:uxtheme:SetPreferredAppMode 1: stub 0114:0118:Ret uxtheme.135() retval=00000000 ret=00866406 0114:0118:Call uxtheme.IsThemePartDefined(0000001e,00401876,0140255d) ret=0086640c 0114:0118:Ret uxtheme.IsThemePartDefined() retval=00000000 ret=0086640c 0114:0118:Call ntdll.NtCreateEvent(01cff8f4,001f0003,01cff8f8,00000000,00000000) ret=7b6d42d5 0114:0118:Ret ntdll.NtCreateEvent() retval=00000000 ret=7b6d42d5 wine: Unhandled page fault on execute access to 7FFD1000 at address 7FFD1000 (thread 0118), starting debugger... Which seems to translate to this WinSCP sources: https://github.com/winscp/winscp/blob/7e61bc1e1fad5267cb4c476994ad460ffab17a... -- 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.
https://bugs.winehq.org/show_bug.cgi?id=55898 Bernhard Übelacker <bernhardu(a)mailbox.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |29d5ce6b7a40635e2c4904ece9b | |8381a8132f248 Keywords| |download, regression, | |source URL| |https://sourceforge.net/pro | |jects/winscp/files/WinSCP/6 | |.0.1%20beta/WinSCP-6.0.1.be | |ta-Portable.zip/download Distribution|--- |Debian -- 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.
https://bugs.winehq.org/show_bug.cgi?id=55898 --- Comment #1 from Bernhard Übelacker <bernhardu(a)mailbox.org> --- Created merge request: https://gitlab.winehq.org/wine/wine/-/merge_requests/4394 -- 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.
https://bugs.winehq.org/show_bug.cgi?id=55898 Fabian Maurer <dark.shadow4(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW CC| |dark.shadow4(a)web.de --- Comment #2 from Fabian Maurer <dark.shadow4(a)web.de> --- I think it would have worked if ordinal 104 was free, but it happened to be filled by "IsThemePartDefined". Therefore some random crash. Not sure if something like that can be prevented, but I'm guessing not really. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=55898 Bernhard Übelacker <bernhardu(a)mailbox.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |71b3d10f953fe6f970d79916662 | |87340ac489130 Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #3 from Bernhard Übelacker <bernhardu(a)mailbox.org> --- Got commited, so setting resolved fixed. (In reply to Fabian Maurer from comment #2)
Not sure if something like that can be prevented, but I'm guessing not really. Maybe when moving the start of not explicit ordinals from 1 to e.g. 10000. Might be at least useful for debugging; this would have made GetProcAddress(...,00000068) return NULL, therefore no crash whould have happened.
--- a/tools/winebuild/parser.c +++ b/tools/winebuild/parser.c @@ -918,3 +918,3 @@ static void assign_ordinals( DLLSPEC *spec ) - count = max( spec->limit + 1, spec->base + spec->nb_entry_points ); + count = max( spec->limit + 1, spec->base + spec->nb_entry_points + 10000 ); spec->ordinals = xmalloc( count * sizeof(spec->ordinals[0]) ); @@ -941,3 +941,3 @@ static void assign_ordinals( DLLSPEC *spec ) if (spec->entry_points[i].ordinal != -1) continue; - while (spec->ordinals[ordinal]) ordinal++; + while (spec->ordinals[ordinal] || ordinal < 10000) ordinal++; if (ordinal >= MAX_ORDINALS) -- 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.
https://bugs.winehq.org/show_bug.cgi?id=55898 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #4 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 8.21. -- 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