On OS X Mojave, JUCE 5.4.1, I’m trying to host differents VSTs and show the GUIs, but when opengl gets involved, the second window freezes everything the GUI thread.
The problem can be reproduced with the AudioPluginHost:
- identify and install an opengl vst (I found roughrider2 here https://www.audiodamage.com/pages/free-downloads )
- scan your VST
- add two instances of the opengl vst
- double click on 1st instance to display the gui => OK
- double click on 2nd instance => window is created, and then everything freezes
If you break on Xcode, you can see some threads with opengl code waiting for a mutex somewhere.
Here is what I tried, without success so far:
- debugging with osx opengl profiler (but it segfaults itself https://forums.developer.apple.com/thread/70141 )
- passing an opengl context to the plugin windows and make them shared
- tried various arrangements of the juce’s opengl context options.
I’ve tried to open roughrider plugin twice on REAPER DAW and it handles it, so I would say that it’s not an issue from OS X, but rather from the way JUCE handles VST Editors.
Did you already have a similar issue ?
Do you know haw to make the opengl profiler not crash on OS X ?
Do you have any advice on how to debug further ?
PS: Ok, I can reproduce this on OS X Mojave, JUCE 5.3.2
PPS: Ok, still can reproduce it on OS X Mojave, JUCE 5.0.0
PPPS: Still reproduce with “juce5” version of soundradix version OpenGL on message thread
PS: Ok, it WORKS on OS X El capitan, JUCE 5.3.2
PPS: related GH issue https://github.com/WeAreROLI/JUCE/issues/445