https://bugs.winehq.org/show_bug.cgi?id=57250
Bug ID: 57250 Summary: Rhinoceros installers crash with bad_alloc Product: Wine Version: 9.18 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: santi@mola.io Distribution: ---
Created attachment 77168 --> https://bugs.winehq.org/attachment.cgi?id=77168 wine9.18-rhino8-installer.log
I had this issue with wine 9.17, 9.18 and wine-staging. Tested in various versions of Rhinoceros installer, most recently rhino_en-us_8.11.24254.15001.exe.
You can download it at https://files.mcneel.com/dujour/exe/20240910/rhino_en-us_8.11.24254.15001.ex...
The installer crashes quite early with: libc++abi: terminating due to uncaught exception of type std::bad_alloc: std::bad_alloc
See bug 56703 and bug 57248 for related issues.
https://bugs.winehq.org/show_bug.cgi?id=57250
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bernhardu@mailbox.org
--- Comment #1 from Bernhard Übelacker bernhardu@mailbox.org --- After working around 57248 by reverting 553204da, I received this "libc++abi" line when I, after the installer started up, just close the installer via the window decoration [x].
From a +seh,+relay log I suspect this happens inside xul.dll`DllMain(PROCESS_DETACH).
There it reaches xul.dll`std::terminate(), xul.dll`_abort_message.
Too bad gdb does not understand the pdb file from wine-gecko-2.47.4-x86-pdb.tar.xz.
It gets slightly more visibly with these environments set: export LIBUNWIND_PRINT_UNWINDING=1 export LIBUNWIND_PRINT_DWARF=1 export LIBUNWIND_PRINT_APIS=1
https://bugs.winehq.org/show_bug.cgi?id=57250
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |ucrtbase
--- Comment #2 from Bernhard Übelacker bernhardu@mailbox.org --- I found this too interesting to leave it, so I searched further and this is what happens in my opinion: - The installer creates a new thread. - In this thread a setlocale(LC_ALL, "") is done to retrieve the currently configured one for later restoring. This new thread seems not configured properly, e.g. data->cached_locale is not yet filled, therefore this value is stored: "Invariant Language_Invariant Country.0" - Then with inside xul.dll a function call to wcrtomb_l [1] sets first the locale to "C". Does the call to wcrtomb. And tries to restore the "Invariant Language_Invariant Country.0" locale, which fails because the codepage ".0" cannot be found. - This failure leads to a call to __throw_bad_alloc, and finally to xul!abort_message [2] and ucrtbase!abort.
[1] https://github.com/llvm/llvm-project/blob/70cbedcd6edf00fc11aa7685f41f8ec29c... https://github.com/llvm/llvm-project/blob/dd0fe4fb7440182d8101135bfd694b2d84...
[2] https://github.com/llvm/clangir/blob/4b0a36daafaa3e71b95304cc501d2d6c4a81c67...
https://bugs.winehq.org/show_bug.cgi?id=57250
--- Comment #3 from Bernhard Übelacker bernhardu@mailbox.org --- This draft merge request contains a test and a possible fix agains msvcrt: https://gitlab.winehq.org/wine/wine/-/merge_requests/6644
https://bugs.winehq.org/show_bug.cgi?id=57250
--- Comment #4 from Bernhard Übelacker bernhardu@mailbox.org --- Got committed in: https://gitlab.winehq.org/wine/wine/-/commit/0495948d00b4a6fa5cb986b1a68a193...
@Mola, can you please retest if this issue is fixed for you? Either with a self-built wine as of todays git, or with the epected next devel release wine-9.20.
https://bugs.winehq.org/show_bug.cgi?id=57250
--- Comment #5 from Santiago Mola santi@mola.io --- Thank you! I confirm the bad_alloc is gone with wine commit 7ce580d1fa0bb3acf98edbc4171ddbcd83867db8. The installer still crashes on UI mode because of bug #57248, and in silent mode (-package -quiet CLI options) because of a later issue, but it progresses past the point where the bad_alloc was thrown before.
https://bugs.winehq.org/show_bug.cgi?id=57250
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |0495948d00b4a6fa5cb986b1a68 | |a193cb324b005 Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED
--- Comment #6 from Bernhard Übelacker bernhardu@mailbox.org --- Great, therefore marking this bug resolved fixed.
https://bugs.winehq.org/show_bug.cgi?id=57250
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 9.20.