Issue with OpenGL uniforms in Audio Units using pluginval?

I have a component/OpenGL Renderer that uses a shader with two uniforms. I have a “Uniforms” struct which has a unique_ptr<juce::OpenGLShaderProgram::Uniform> for each of the two. In the initializer list, the ‘resolution’ uniform gets set like :
resolution(std::make_unique<juce::OpenGLShaderProgram::Uniform>(shaderProgram, "resolution"))
This has always worked fine in while just running the VST3/AU builds in a plugin host, but trying to validate the AU with pluginval hits an assertion in the OpenGLShaderProgram::Uniform constructor:

#if JUCE_DEBUG && ! JUCE_DONT_ASSERT_ON_GLSL_COMPILE_ERROR
    jassert (uniformID >= 0);
   #endif

Apparently the uniformID is being initialized to -1 for some reason. This only happens with the AudioUnit build while it’s being tested by pluginval (which is running in debug mode from the IDE). Opening and closing the editor inside the plugin host causes no problems, and the VST3 build passes pluginval.
Any idea of what might be happening is much appreciated!