Pluginval: segfault on "Automation..." stage .. how to proceed?

Hi,

I’m preparing a new release of our PolarDesigner plugin, and am running pluginval as part of our CI pipeline … but I’ve run into an issue where pluginval is segFault’ing during the “Automation…” test phase, at random times:

Test 1:

Starting tests in: pluginval / Automation…
Testing with sample rate [44100] and block size [64] and sub-block size [32]
Testing with sample rate [44100] and block size [128] and sub-block size [32]
Testing with sample rate [44100] and block size [256] and sub-block size [32]
Testing with sample rate [44100] and block size [512] and sub-block size [32]
Testing with sample rate [44100] and block size [1024] and sub-block size [32]
Testing with sample rate [48000] and block size [64] and sub-block size [32]
Testing with sample rate [48000] and block size [128] and sub-block size [32]
Testing with sample rate [48000] and block size [256] and sub-block size [32]
Testing with sample rate [48000] and block size [512] and sub-block size [32]
Testing with sample rate [48000] and block size [1024] and sub-block size [32]
Segmentation fault

Test 2:

Starting tests in: pluginval / Automation…
Testing with sample rate [44100] and block size [64] and sub-block size [32]
Testing with sample rate [44100] and block size [128] and sub-block size [32]
Testing with sample rate [44100] and block size [256] and sub-block size [32]
Testing with sample rate [44100] and block size [512] and sub-block size [32]
Testing with sample rate [44100] and block size [1024] and sub-block size [32]
Segmentation fault

I’m a little mystified as to what I should be looking for here - could someone give me a shove in the right direction? I’m building pluginval from source and running it in a debugger, and alas I’m not getting any really good clues from the stack trace, other than we’ve got a buffer overrun (0xC0000005)/segfault somewhere … however, what should I be looking for - we’ve not modified our Parameters much other than to add the version field …

It seems to happen with block size [1024] so perhaps the plug-in is receiving buffers that are larger than it is equipped to handle.

I’d recommend building both the plugin and pluginval with address sanitizer enabled, and then running pluginval under a debugger. In my experience, address sanitizer is easier to use on macOS, so assuming you’re building for macOS too, I’d test there first just in case. It’s possible that the same undefined behaviour is present in both macOS and Windows builds, but only causes a hard crash on Windows.