AAX crashes on latest arm64 Pro Tools Beta

Hi everyone,

Avid just released Pro Tools 2022.R4.0.289 Beta with arm64 support.

On that version all of our (already released and heavily tested) plugins are crashing (15+ plugins).

Unfortunately, they don’t crash on the latest arm64 PT Developer version (pro-tools-dev-alpha-arm64-2022.R4.0.175, and also on no other older version), so it’s a bit hard to debug and I’m hoping, that others here are experiencing the same issue. I haven’t tested this with a “clean” JUCE default project, because it’s rather time intense to get a PACE signed build of a test plugin going, but I’ve tested this on 8 projects with wildly different codebases, that are all thoroughly tested, running on a ton of end-user machines (20k+ users) without any problems and are working on all previous versions of Pro Tools as well as any other DAW, both intel/rosetta and arm64 native.

We’re building with JUCE v7.0.3 and the latest AAX SDK v2.4.1.

When I try to load up a symbolised, signed release build of any of our plugins, I can see that it crashes in various places within the Juce library, depending on what I include in the plugin build.

Two examples I was able to catch are:

juce::ValueTree::SharedObject::~SharedObject ()
juce::SimpleValueSource::setValue ()

Does anyone else see these issues? Should I reach out to Avid about this? It seems like the JUCE team could probably have more of an impact reaching out to them if they can even reproduce these issues.

Has anyone been able to successfully run an arm64 AAX build on Pro Tools 2022.R4.0.289 Beta yet?

1 Like

Hi,
We’re just about to release AAX arm64 builds but those would still be JUCE6 based.
All of them seem to run as expected. Only one of our products is crashing only in arm64. We’ve reported Avid as it seems some changes on their codebase is the culprit (and I can reproduce this with their examples within the SDK)

For you case,

  • I’d first try on the final release of Pro Tools 2022.12 rather than a beta.
  • I’d also try on that build on Rosetta to see if the issue is - arm64 only, universal.
2 Likes

Thanks for these suggestions. Just tried that on 2022.12 and it has the same issue, both on Rosetta and native beta. I’ll keep digging…

@ttg mind sharing what issues you’ve identified in their codebase that are reproducible with their examples? Maybe that can give me a hint as to what’s going on…

So, I’ve finally figured it out (with the help of the great @mcmartin )

I’m using FRUT (GitHub - McMartin/FRUT: Building JUCE projects using CMake made easy) for my build systems.

It seems, that wenn building an Xcode project from Projucer, it automatically adds some compiler flags to the project:

-fvisibility=hidden
-fvisibility-inlines-hidden

When I was building through FRUT however, and FRUT/Cmake were the one creating the Xcode project, then these flags were missing. So far, this hasn’t been much of an issue, but with the latest Pro Tools release it seems to be one, although I can’t explain why.

When adding these flags to the Extra Compiler flags field on the macOS exporter, everything works and my builds load up correctly on the latest Pro Tools version.

Case closed, in case someone else stumbles over this.

5 Likes