https://bugs.winehq.org/show_bug.cgi?id=57109
Bug ID: 57109 Summary: Ableton Live 12: Max for Live fails to start Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: pedrodarch15b@gmail.com Distribution: ---
Created attachment 76997 --> https://bugs.winehq.org/attachment.cgi?id=76997 wine output
Ableton Live 12 (both Suite and Trial versions) won't start Max for Live. It gets stuck on "Starting Max...", and renaming the Max folder to something else (this tricks Ableton into thinking that Max is not installed) makes the program start just fine.
The cause of this issue seems to be a regression in ucrtbase (Max for Live was working just fine before Wine 9.12 if I recall correctly).
By installing the program multiple times I have noticed that Max does start upon launching Ableton just after installing, but not on subsequent runs.
I have tested the program on a clean prefix (mostly, I did set wined3d renderer to vulkan using winetricks), using a fresh build of latest git wine, compiled locally with GCC 14 on Arch Linux.
https://bugs.winehq.org/show_bug.cgi?id=57109
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression Severity|major |normal
--- Comment #1 from Austin English austinenglish@gmail.com --- ┌─[guarac@erythornium] - [~/Wine/Audio/.wine2/drive_c/ProgramData/Ableton/Live Just be sure, are you setting $WINEPREFIX, since this isn't the default WINEPREFIX path.
What version of wine are you using?
Can you please run a regression test? https://wiki.winehq.org/Regression_Testing
https://bugs.winehq.org/show_bug.cgi?id=57109
--- Comment #2 from Pedro M Sanches pedrodarch15b@gmail.com --- (In reply to Austin English from comment #1)
┌─[guarac@erythornium] - [~/Wine/Audio/.wine2/drive_c/ProgramData/Ableton/Live Just be sure, are you setting $WINEPREFIX, since this isn't the default WINEPREFIX path.
What version of wine are you using?
Can you please run a regression test? https://wiki.winehq.org/Regression_Testing
Yes, I am setting WINEPREFIX to this folder (~/Wine/Audio/.wine2) I am using upstream wine (last checked out on 65124f15 "Wine 9.16"), compiled locally.
Thanks for the info on regression testing, I will poke around with that until I can confirm if the cause of the problem is what I think it is.
https://bugs.winehq.org/show_bug.cgi?id=57109
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |9.16
https://bugs.winehq.org/show_bug.cgi?id=57109
--- Comment #3 from Pedro M Sanches pedrodarch15b@gmail.com --- Max for Live did indeed start consistently on Wine 9.11 on a clean prefix with a fresh installation of Ableton Live 12 Trial.
It stopped working on Wine 9.12. I have done hours of regression testing, only to realize that re-running each recompilation Wine after every bisection I did wasn't updating the prefix properly and Max wouldn't start again even after recompiling the prior Wine version.
I don't have any idea of how I can automate reinstalling this program after every build so that testing this regression wouldn't be a massive pain.
Running the program on Wine 9.11 did however bring back bug 56849 (https://bugs.winehq.org/show_bug.cgi?id=56849).
https://bugs.winehq.org/show_bug.cgi?id=57109
--- Comment #4 from Pedro M Sanches pedrodarch15b@gmail.com --- Created attachment 77033 --> https://bugs.winehq.org/attachment.cgi?id=77033 WINEDEBUG=+server output
After figuring out that this issue is reproducible by launching Max on it's own, I have been able to successfully start it by erasing the contents of it's Settings folder. If those files are not present, Max starts just fine on any version of Wine newer than 9.12. This may indicate that I now know what I need to get a more useful result out of another regression test, but at the time I'm writing this, I have not slept.
Instead I was poking around with WINEDEBUG variables on stuff that to me was seemingly causing issues. After a few dozen seconds of having a blank window titled "Max is Starting Up" or something like that I could observe a single thread spamming sequences of lines like this on wine stderr:
0148: select( flags=2, cookie=7ffffe5fe830, timeout=+0.0009915, size=8, prev_apc=0000, result={}, data={WAIT,handles={00b4}}, contexts={} ) 0148: select() = PENDING { apc_handle=0000, signaled=0, call={}, contexts={} } 0148: *wakeup* signaled=TIMEOUT 0148: select( flags=2, cookie=7ffffe5fe830, timeout=+0.0009916, size=8, prev_apc=0000, result={}, data={WAIT,handles={00b4}}, contexts={} ) 0148: select() = PENDING { apc_handle=0000, signaled=0, call={}, contexts={} } 0148: *wakeup* signaled=TIMEOUT ...
This wasn't happening prior to Wine 9.11.
I am not sure if this is of any help. Full log is attached. I've had to compress it since it's more than 10 megs in size.
https://bugs.winehq.org/show_bug.cgi?id=57109
--- Comment #5 from Pedro M Sanches pedrodarch15b@gmail.com --- After a few days of going back and forth with more debugging and regression testing, I've found out that the same problem still happens on versions of Wine prior to Wine 9.11.
Clearing Max config folder *seems* to fix the problem, and just closing and reopening both Ableton and standalone Max is not enough to reproduce it. It happens randomly while using Ableton, even if I don't put any Max for Live device anywhere on a project. I thought this was just a "my machine" issue but the same thing happens on my laptop with both vanilla and some modified wine trees.
While I was at it, when Max was working, it was crashing a few missing COM classes.
aa509086-5ca9-4c25-8f95-589d3c07b48a (seems to be IVirtualDesktopManager according to some StackOverflow post) 42843719-DB4C-46C2-8E7C-64F1816EFD5B (seems to be ISetupConfiguration according to MSDN)
I don't have the logs for the second one, but it can be triggered by putting an "Envelope MIDI" device on a MIDI track.
I'll post what I have to report of my debugging sessions later today
0130:fixme:file:GetFinalPathNameByHandleW FILE_NAME_OPENED not supported 0130:fixme:file:GetLongPathNameW UNC pathname L"\\?\C:\ProgramData\Ableton\Live 12 Trial\Resources\Max\Max.exe" 0130:fixme:combase:RoGetActivationFactory (L"Windows.UI.ViewManagement.UIViewSettings", {3694dbf9-8f68-44be-8ff5-195c98ede8a6}, 0000000002A48620): semi-stub 0130:fixme:system:EnableNonClientDpiScaling (000000000001006C): stub 0130:fixme:win:RegisterTouchWindow hwnd 000000000001006C, flags 0 stub! 0130:fixme:msg:ChangeWindowMessageFilterEx 000000000001006C 233 1 0000000000000000 0130:fixme:msg:ChangeWindowMessageFilterEx 000000000001006C 4a 1 0000000000000000 0130:fixme:msg:ChangeWindowMessageFilterEx 000000000001006C 49 1 0000000000000000 0130:err:ole:com_get_class_object class {aa509086-5ca9-4c25-8f95-589d3c07b48a} not registered 0130:err:ole:com_get_class_object class {aa509086-5ca9-4c25-8f95-589d3c07b48a} not registered 0130:err:ole:create_server class {aa509086-5ca9-4c25-8f95-589d3c07b48a} not registered 0130:fixme:ole:com_get_class_object CLSCTX_REMOTE_SERVER not supported 0130:err:ole:com_get_class_object no class object {aa509086-5ca9-4c25-8f95-589d3c07b48a} could be created for context 0x17 ...
https://bugs.winehq.org/show_bug.cgi?id=57109
--- Comment #6 from Pedro M Sanches pedrodarch15b@gmail.com --- Nearly 48 million lines of trace output led me nowhere and now I'm not sure what do do anymore
https://bugs.winehq.org/show_bug.cgi?id=57109
--- Comment #7 from Pedro M Sanches pedrodarch15b@gmail.com --- Symlinking maxpreferences.maxprefs to /dev/null makes the problem go away. This file is located at %AppData%\Cycling '74\Max 8\Settings.
This shouldn't be the way to make this work, but at least Max for Live devices do now function, but some of them make Ableton completely freeze due to missing COM class objects. Despite being functional, they have suffer from severe graphical issues that makes them unusable.
https://bugs.winehq.org/show_bug.cgi?id=57109
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|regression | CC| |alexhenrie24@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=57109
F H francisco278herrera@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |francisco278herrera@gmail.c | |om
--- Comment #8 from F H francisco278herrera@gmail.com --- Does installing dxvk using winetricks alleviate the graphical issues?
https://bugs.winehq.org/show_bug.cgi?id=57109
--- Comment #9 from Pedro M Sanches pedrodarch15b@gmail.com --- (In reply to F H from comment #8)
Does installing dxvk using winetricks alleviate the graphical issues?
It does, HOWEVER, some elements (like comboboxes) are very clunky to use, and some M4L devices suffer from GUI stability issues.
https://bugs.winehq.org/show_bug.cgi?id=57109
Daniel daniel@gluo.nz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |daniel@gluo.nz
--- Comment #10 from Daniel daniel@gluo.nz --- Man I just discovered this, spent all day trying to figure out how to debug the issue, I installed ole32 via winetricks and now it's segfaulting, tried wine 8 and still getting the freezing issue.
https://bugs.winehq.org/show_bug.cgi?id=57109
--- Comment #11 from Pedro M Sanches pedrodarch15b@gmail.com --- Still happening on 10.3.
https://bugs.winehq.org/show_bug.cgi?id=57109
--- Comment #12 from Daniel daniel@gluo.nz --- Okay so I have a hypothesis, when there's no config file Max launches in a safe mode, when it launches with the config file it reads the config file and sets that setting causing it to lock up, we just have to figure out what setting it is.
It is also worth noting that Max 8.5 seems to work (atleast partially) and Max 8.5 introduced the GL Core engine, but v8.6 doesn't work and introduced a theming system which might be also causing issues. That might narrow it down.