Thread Sanitizer / M1 / Logic issue

Finished setting up my M1 and doing all the needed software upgrades.
(and finally) my plugins are showing up in Logic /Rosetta.
Now I can’t attach the debugger if Thread Sanitizer is turned on. Once it’s on, I keep getting stopped at this piece of code before Logic launches. Any ideas on how to solve it?

Launch logic and then attach the debugger, does that work?

1 Like

If I build with Sanitizer and launch logic without attaching, I get this message:

1 Like

Have you only got your plugin installed and no third party ones?

From my very limited experience, you usually build the host with the sanitizer and then load the plugin in that “sanitized” host in order to inspect it. Did you successfully do that on another machine / another host before, so does it even work in general to load a “sanitized” plug-in in a “non-sanitized host”?

Then, do you have in mind that logic will launch your rosetta plugins in a separate process on M1?

Good catch. I had some abandoned plugins of mine in the Components folder. Sadly, after cleaning them and getting Logic to run the plugin I am working on, the debugger skips my breakpoints as if the host is not running the same file which is opened in the debugger. I cleaned the Components and AudioUnitCache many times, also rebooted the machine, to make sure there is only one version of my plugin on the machine.

So now I have 2 Logic versions on my machine (normal and rosetta) and I am also building for 2 targets (My Mac \ My Mac Rosetta) but at the end of the day no combination will give me an active Thread Sanitizer I can use for debugging.

If M1 wan’t so freaking fast I would just go back to the old machine.

Yes, on “sanitized” juce AudioPluginHost it works well.
And as you suggest, Logic probably use a separate process so no point in fighting it I guess.