Hello,
I am developing ARA plug-ins using JUCE and am currently updating the ARA SDK to version 2.3. For automated testing, I use AraTestHost from the official ARA examples repository.
ARA SDK v2.3 introduces additional threading and state validations in the TestHost (see commit).
While everything works as expected on macOS and Windows, these validations fail on Linux. The test hits the following assertion.
In my JUCE-based implementation, the ARA audio reader is deleted on the main thread, using a juce::AsyncUpdater. However, on Linux, the thread used by the ARA audio access controller does not match the JUCE message thread. This is surprising, as the JUCE message manager should normally be created and run on a single, consistent thread.
This behavior appears to be Linux-specific (macOS and Windows behave consistently) and occurs in the VST3 context.
Has anyone encountered a similar issue on Linux, or has insights into how thread ownership is expected to be handled in this case?
