[Resolved] Rack V2 cannot start on macOS 10.12 or lower

@vortico I was doing a bit of detective work on the Rack V2 dependencies, to see if I could find something that would inadvertently introduce a minimum MacOS version requirement different from your own.

I see that V2 uses “ghc::filesystem” at version 1.3.6 from 2020.10.10 and quite a few releases have been made since then. Looking at the changelog of the project I saw these (1) two (2) changes from later versions of the project, that seem to revolve around MacOS version detection and handling. Maybe relevant?

And here’s the log.txt from the Mac Pro:

[0.009 info adapters/standalone.cpp:131 main] VCV Rack CE v2.git.042a9ce0
[0.009 info adapters/standalone.cpp:132 main] Mac 10.11.6
[0.009 info adapters/standalone.cpp:138 main] Args: /Applications/VCV Rack 2.app/Contents/MacOS/Rack 
[0.009 info adapters/standalone.cpp:141 main] System directory: /Applications/VCV Rack 2.app/Contents/Resources
[0.009 info adapters/standalone.cpp:142 main] User directory: /Users/henk/Documents/Rack2
[0.009 info adapters/standalone.cpp:144 main] Bundle path: /Applications/VCV Rack 2.app
[0.009 info adapters/standalone.cpp:146 main] System time: 2021-10-04T16:58:06+0200
[0.009 info src/settings.cpp:401 load] Loading settings /Users/henk/Documents/Rack2/settings.json
[0.009 info adapters/standalone.cpp:169 main] Initializing environment
[0.011 info src/rtaudio.cpp:239 RtAudioDriver] Creating RtAudio CoreAudio driver
[1.023 info src/plugin.cpp:106 loadPlugin] Loading Core plugin
[1.024 info src/plugin.cpp:166 loadPlugin] Loaded Core v2.0.0
[1.024 info src/plugin.cpp:108 loadPlugin] Loading plugin from /Users/henk/Documents/Rack2/plugins/Fundamental
[1.026 info src/plugin.cpp:166 loadPlugin] Loaded Fundamental v2.0.0
[1.039 info adapters/standalone.cpp:186 main] Initializing context
[1.041 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/Rail.svg
[7.516 fatal adapters/standalone.cpp:49 fatalSignalHandler] Fatal signal 11. Stack trace:
7: 1   Rack                                0x00000001028bf30d _ZL18fatalSignalHandleri + 45
6: 2   libsystem_platform.dylib            0x00007fff9699852a _sigtramp + 26
5: 3   libobjc.A.dylib                     0x00007fff78bda3e8 selLock + 32
4: 4   libRack.dylib                       0x0000000102a6bcfe _glfwPlatformCreateWindow + 702
3: 5   libRack.dylib                       0x0000000102a65acf glfwCreateWindow + 495
2: 6   libRack.dylib                       0x00000001029f8478 _ZN4rack6window6WindowC2Ev + 328
1: 7   Rack                                0x00000001028bebae main + 1918
0: 8   libdyld.dylib                       0x00007fff9c48a5ad start + 1


1 Like

Thanks Henk. Yup, it’s exactly the same content of the error-log as the OP and me.

Seems that Rack V2 works (1) (2) on 10.13 (High Sierra) so the net of observations is tightening to be: V2 doesn’t run on 10.12 (Sierra) or lower.

@dronehands Would you consider renaming this topic to: “Rack V2 cannot start on macOS 10.12 or lower” ? We need some more people with eyeballs on this, to substantiate the problem. Thanks.

I know this ONE!!!

It’s happening for the widgets using OFFSCREENS and disposing the framebuffers in DTOR and happens only when one close the VCVRack closing the window

people should move the destruction of framebuffers into the “onContextDestroy”

the crash happens because somewhere, very deep in the structure there is a reference to some handle connected to the main window but at that time the window is already gone and BOOM ! :muscle:

3 Likes

i changed the thread title as requested.

1 Like

@robert.kock This sounds like that issue with NoiseDrawer. Do you think this is a better solution? (I don’t know).

The porting guide says you are not allowed to hold onto off-screen memory at all! but it’s ok since “bitmap loads are cached”. But that does this mean for plugins that draw their own stuff in off-screen buffers???

yes, sure

but I discovered the problem in the v2 and happening only when closing the window (not when, for example, you are deleting a single module)

so I’ve added (imitating the FrameBufferWidget) the onContextDestroy event and adding a delete framebuffer there and setting the member to NULL

of course I continue to have the delete framebuffer in the destructor (testing if != NULL )

after adding that change, all the crash at closing VCVRack are gone

Guys, maybe move these to a seperate topic under development, since it’s a seperate issue? Thanks!

1 Like

The tally so far by my count (will keep it updated), as reported in this topic, on the Facebook post, or heard elsewhere:

People with systems where Rack V1 works, and:

  • Are on macOS 10.12 (Sierra) or lower and Rack V2 can start: None
  • Are on macOS 10.12 (Sierra) and Rack V2 always crashes on start: 3 people
  • Are on macOS 10.11 (El Capitan) and Rack V2 always crashes on start: 2 people
  • Are on macOS 10.10 (Yosemite) and Rack V2 always crashes on start: 1 person

I would call that good evidence that there’s a real problem, with no evidence to the contrary .

I have added a destructor in the widget which solved the crash during exit for the Noisedrawer. There wasn’t one in the past. So that fixed it for me, but I see that is doubted by synthi. I am not sure this is a better solution ( I would call it a workaround?)

Yes, there was one. Unique pointer frees the held object in its destructor.

The new build for Rack 2 (Rack development blog - #73 by Vortico) crashes upon launch like before.

are you sure it isn’t trying to make a patch using modules that are not completely up to date?

I dont know what its trying to load because…wait for it… it crashes upon launch. How would i go about testing that?

I tried opening the template.vcv file in the Rack 2 program resources folder. In addition to the familiar “VCV Rack has crashed…” message box there is now a dialogue box that reads:

“The document “template.vcv” could not be opened. VCV Rack 2 cannot open files in the “VCV Rack Patch” format.”

Edit: the same template file opens just fine in 1.1.6. seems to be a sample patch with all fundamental modules.

Similar crashes, Rack opens but when I click to add a module to an empty patch it goes down. No issue with the previous build. Log file, in case it’s of assistance:

[0.021 info adapters/standalone.cpp:131 main] VCV Rack CE v2.git.219bbaf1
[0.021 info adapters/standalone.cpp:132 main] Mac 11.6
[0.021 info adapters/standalone.cpp:138 main] Args: /Applications/VCV Rack 2.app/Contents/MacOS/Rack 
[0.021 info adapters/standalone.cpp:141 main] System directory: /Applications/VCV Rack 2.app/Contents/Resources
[0.021 info adapters/standalone.cpp:142 main] User directory: /Users/niallmulligan/Documents/Rack2
[0.021 info adapters/standalone.cpp:144 main] Bundle path: /Applications/VCV Rack 2.app
[0.021 info adapters/standalone.cpp:146 main] System time: 2021-10-18T01:06:44+0100
[0.021 info src/settings.cpp:394 load] Loading settings /Users/niallmulligan/Documents/Rack2/settings.json
[0.022 info adapters/standalone.cpp:169 main] Initializing environment
[0.025 info src/rtaudio.cpp:239 RtAudioDriver] Creating RtAudio CoreAudio driver
[0.069 info src/plugin.cpp:111 loadPlugin] Loading Core plugin
[0.070 info src/plugin.cpp:171 loadPlugin] Loaded Core v2.0.0
[0.070 info src/plugin.cpp:113 loadPlugin] Loading plugin from /Users/niallmulligan/Documents/Rack2/plugins/Fundamental
[0.078 info src/plugin.cpp:171 loadPlugin] Loaded Fundamental v2.0.0
[0.078 info src/plugin.cpp:113 loadPlugin] Loading plugin from /Users/niallmulligan/Documents/Rack2/plugins/AudibleInstruments
[0.088 info src/plugin.cpp:171 loadPlugin] Loaded AudibleInstruments v2.0.0
[0.088 info src/network.cpp:132 requestJson] Requesting JSON GET https://api.vcvrack.com/plugins
[0.110 info adapters/standalone.cpp:186 main] Initializing context
[0.112 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/Rail.svg
[0.691 info src/network.cpp:132 requestJson] Requesting JSON GET https://api.vcvrack.com/library/manifests?version=2
[1.434 info src/window/Window.cpp:269 Window] Window content scale: 2.000000
[1.730 info src/window/Window.cpp:319 Window] Renderer: ATI Technologies Inc. AMD Radeon Pro 555X OpenGL Engine
[1.730 info src/window/Window.cpp:320 Window] OpenGL: 2.1 ATI-4.6.20
[1.738 info src/window/Window.cpp:38 loadFile] Loaded font /Applications/VCV Rack 2.app/Contents/Resources/res/fonts/DejaVuSans.ttf
[4.947 info adapters/standalone.cpp:229 main] Running window
[10.117 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Users/niallmulligan/Documents/Rack2/plugins/AudibleInstruments/res/Braids.svg
[10.118 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/ScrewSilver.svg
[10.118 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/Rogan2SGray.svg
[10.118 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/Rogan2S-bg.svg
[10.119 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/Rogan2SGray-fg.svg
[10.119 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/Rogan2PSWhite.svg
[10.120 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/Rogan2PS-bg.svg
[10.120 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/Rogan2PSWhite-fg.svg
[10.120 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/Rogan2PSGreen.svg
[10.121 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/Rogan2PSGreen-fg.svg
[10.121 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/Rogan2PSRed.svg
[10.121 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/Rogan2PSRed-fg.svg
[10.122 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Applications/VCV Rack 2.app/Contents/Resources/res/ComponentLibrary/PJ301M.svg
[10.123 info src/window/Window.cpp:38 loadFile] Loaded font /Users/niallmulligan/Documents/Rack2/plugins/AudibleInstruments/res/hdad-segment14-1.002/Segment14.ttf
[10.150 fatal adapters/standalone.cpp:49 fatalSignalHandler] Fatal signal 11. Stack trace:
24: 1   Rack                                0x00000001005b730d _ZL18fatalSignalHandleri + 45
23: 2   libsystem_platform.dylib            0x00007fff203e1d7d _sigtramp + 29
22: 3   ???                                 0x0000000000000000 0x0 + 0
21: 4   libRack.dylib                       0x00000000005d855a nvgEndFrame + 26
20: 5   libRack.dylib                       0x00000000006efedb _ZN4rack6widget17FramebufferWidget15drawFramebufferEv + 267
19: 6   libRack.dylib                       0x00000000006efbae _ZN4rack6widget17FramebufferWidget6renderENS_4math3VecES3_NS2_4RectE + 990
18: 7   libRack.dylib                       0x00000000006ef680 _ZN4rack6widget17FramebufferWidget4drawERKNS0_6Widget8DrawArgsE + 528
17: 8   libRack.dylib                       0x00000000006f162d _ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE + 365
16: 9   libRack.dylib                       0x00000000006f1bf9 _ZN4rack6widget10ZoomWidget4drawERKNS0_6Widget8DrawArgsE + 121
15: 10  libRack.dylib                       0x00000000006f162d _ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE + 365
14: 11  libRack.dylib                       0x00000000006f162d _ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE + 365
13: 12  libRack.dylib                       0x0000000000674651 _ZN4rack3app7browser8ModelBox4drawERKNS_6widget6Widget8DrawArgsE + 321
12: 13  libRack.dylib                       0x00000000006f162d _ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE + 365
11: 14  libRack.dylib                       0x00000000006f162d _ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE + 365
10: 15  libRack.dylib                       0x00000000006f162d _ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE + 365
9: 16  libRack.dylib                       0x00000000006f162d _ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE + 365
8: 17  libRack.dylib                       0x00000000006ea544 _ZN4rack2ui12ScrollWidget4drawERKNS_6widget6Widget8DrawArgsE + 52
7: 18  libRack.dylib                       0x00000000006f162d _ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE + 365
6: 19  libRack.dylib                       0x00000000006f162d _ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE + 365
5: 20  libRack.dylib                       0x00000000006f162d _ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE + 365
4: 21  libRack.dylib                       0x00000000006f62f5 _ZN4rack6window6Window4stepEv + 1829
3: 22  libRack.dylib                       0x00000000006f5bb8 _ZN4rack6window6Window3runEv + 40
2: 23  Rack                                0x00000001005b6f06 main + 2774
1: 24  libdyld.dylib                       0x00007fff203b7f3d start + 1
0: 25  ???                                 0x0000000000000001 0x0 + 1

Is that using the 219bbaf1 version of Audible Instruments?