Hi everyone,
For about the last year, we’ve had an audio bug in Beampunk (coming soon to Catalog!) which is I think probably our biggest release blocker.
The symptom is that suddenly the audio of the game will be white noise at full volume and (usually) stay that way until you quit. It has happened on launch, and on taking various in-game actions which start or stop music, samples, or synths, or when nothing particularly audio-related seems to be happening. I don’t think it’s a “normal” bug in our synth graphs because it is still 100% volume when those channels are set to 0 volume.
It is usually reproducible if you do that same thing again after relaunching, but not always. It has also gone away when rebuilding with non-audio-related code changes. We’ve also had it be 100% persistent with a given build but then go away after deleting the Data folder (?!) or reinstalling the game; this also doesn’t always work. Basically the only thing I can reliably say about it is that it only happens on the actual PD device and the noise pauses when you press menu.
Given this pattern it seems to me it’s likely this is some kind of memory corruption or race which is asymptomatic or simply avoided depending on layout/timing details which vary from launch to launch or build to build. I’m using rust and so have some bindings to the C API and have found and fixed various bugs of this kind (by e.g. I ran the macOS simulator under DebugMalloc and found a double-free; identified some cases where we were freeing audio elements without freeing things referring to those elements first; I also see that 3.0.2 SDK had fixes which sounded potentially related).
Right now we’re just straight-up never freeing most audio objects out of paranoia and I thought this was fixed months ago. But the latest alpha build we’ve sent out to testers this week has reproduced the problem on some (but not all!) of the test devices. (And for some folks, it went away after a reinstall or just the next day.)
So, my question is: has anyone else seen anything like this? Any other thoughts about possible causes? If anyone from Panic is reading (
) and would be willing to put the game under a debugger and see if anything jumps out on the audio thread when reproducing this, that would be super appreciated, too. ![]()