Audio processing thread crashing in Logic

I’m trying to debug an issue with an AU plugin that occurs only in Logic. It is showing some very strange behavior and I am wondering if anyone has ever ran into something similar. The plugin in question is a software instrument.

The problem is this:

Upon loading the plugin onto a track in Logic, after about 2 minutes, the audio processing threads appear to just die. They don’t throw any asserts or otherwise show any sign of failing, they just stop running. This does not cause a crash in Logic, but the plugin ceases to produce sound for the remainder of the session.

A few weird specifics that may help:

  1. This only happens with AU in Logic. The AU works fine in other DAWs.
  2. While I’m not sure if the time until failure is exactly equal to 2 minutes, it is pretty darn close, and whatever the exact duration may be, the processing threads crash consistently after that amount of time has elapsed since the plugin was created.
  3. I noted this above, but there are no clues in the debugger as to why this occurs.

I’m pretty stumped by this issue. I’ve tried rolling back the software through past versions, and the bug persists through all of them, so that is not a possible avenue.

I’m not sure if anyone has encountered something like this before (as I have not seen any forum posts about it), but I do know that I am not the most experienced debugger in the world, so I am hoping that someone that is a little more well-versed in debugging might be able to point me in a new direction. As far as I see it the only next step is to remove various components from the audio processing chain and see if the bug goes away, but that is not an easy process…

Thanks in advance folks.

Just a hunch, but it could be that your DSP starts invalid values like Infs or NaNs after a while. It might be worth sticking some logging on the output of your processBlock which prints a warning when Infs/NaNs are encountered (you can use std::isinf and std::isnan to check this).

1 Like