https://bugs.winehq.org/show_bug.cgi?id=48297
Bug ID: 48297 Summary: Wineboot crashes on 64bit prefix creation (macOS wine built without mingw) Product: Wine Version: 5.0-rc1 Hardware: x86-64 OS: Mac OS X Status: NEW Keywords: regression, source Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: gijsvrm@gmail.com
Created attachment 66004 --> https://bugs.winehq.org/attachment.cgi?id=66004 backtrace
Only happens when creating a 64bit prefix.
Attached is the backtrace, there was no other output aside from the regular output when creating a prefix.
I'll try to do a regression test ASAP.
https://bugs.winehq.org/show_bug.cgi?id=48297
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com Regression SHA1| |9cf9483a4a0f33af6af0beb6739 | |5264f1c8ad259
--- Comment #1 from Gijs Vermeulen gijsvrm@gmail.com --- Bisection revealed:
9cf9483a4a0f33af6af0beb67395264f1c8ad259 is the first bad commit commit 9cf9483a4a0f33af6af0beb67395264f1c8ad259 Author: Zebediah Figura z.figura12@gmail.com Date: Wed Nov 6 23:54:59 2019 -0600
wineboot: Create a root-enumerated device object for winebus.
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=48297
--- Comment #2 from Alexandre Julliard julliard@winehq.org --- It's probably because clang generates calls to memcpy, memset etc. using the host calling convention. There doesn't seem to be a good way of avoiding that, so it may require clang patches.
https://bugs.winehq.org/show_bug.cgi?id=48297
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |NOTOURBUG
--- Comment #3 from Zebediah Figura z.figura12@gmail.com --- (In reply to Alexandre Julliard from comment #2)
It's probably because clang generates calls to memcpy, memset etc. using the host calling convention. There doesn't seem to be a good way of avoiding that, so it may require clang patches.
Looks like that's indeed the case:
000a:000b:Call setupapi.SetupDiGetDeviceInstallParamsW(004f0f40,0021e7a0,0021e558) ret=738e5a72 000a:000b:trace:setupapi:SetupDiGetDeviceInstallParamsW devinfo 00000000004F0F40, device_data 000000000021E7A0, params 000000000021E558. 000a:000b:Call msvcrt.memcpy(7fff693d4f4a,00000248,00000002) ret=7020ef04 000a:000b:Call kernelbase.UnhandledExceptionFilter(0021d4a0) ret=7b45f553
0x248 is the size of SP_DEVINSTALL_PARAMS; it's being put in %rdx when it should actually be in %r8. Resolving upstream.
https://bugs.winehq.org/show_bug.cgi?id=48297
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr.caban@gmail.com
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- *** Bug 48759 has been marked as a duplicate of this bug. ***