Program: 70822
Project: 70822
Buggy source:
protected GLShaderProgram getProgram(GL3 gl,RenderObjectState robj){
  if (isSelecting()) {
    return getProgram(gl);
  }
  GLSLInfoBuilder builder=new GLSLInfoBuilder();
  builder.setNumLights(myProgManager.numLights());
  builder.setNumClipPlanes(myProgManager.numClipPlanes());
  Shading shading=isLightingEnabled() ? getShading() : Shading.NONE;
  builder.setLighting(shading);
  if (shading != Shading.NONE) {
    builder.setVertexNormals(true);
  }
  if (isTextureMappingEnabled()) {
    if (myCurrentColorMapProps != null && myCurrentColorMapProps.isEnabled() && !mySelectedColorActive) {
      builder.enableColorMap(true);
      builder.setVertexTextures(true);
      builder.setTextureColorMixing(myCurrentColorMapProps.getTextureColorMixing());
      builder.mixTextureColorDiffuse(myCurrentColorMapProps.getDiffuseColoring());
      builder.mixTextureColorSpecular(myCurrentColorMapProps.getSpecularColoring());
      builder.mixTextureColorEmission(myCurrentColorMapProps.getDiffuseColoring());
    }
    if (myCurrentNormalMapProps != null && myCurrentNormalMapProps.isEnabled()) {
      builder.enableNormalMap(true);
      builder.setVertexTextures(true);
    }
    if (myCurrentBumpMapProps != null && myCurrentBumpMapProps.isEnabled()) {
      builder.enableBumpMap(true);
      builder.setVertexTextures(true);
    }
  }
  if (!robj.hasColors() || !isVertexColoringEnabled() || mySelectedColorActive) {
    builder.setColorInterpolation(ColorInterpolation.NONE);
    builder.setVertexColors(false);
  }
 else {
    if (isHSVColorInterpolationEnabled()) {
      builder.setColorInterpolation(ColorInterpolation.HSV);
    }
 else {
      builder.setColorInterpolation(ColorInterpolation.RGB);
    }
    builder.setVertexColorMixing(getVertexColorMixing());
    builder.setVertexColors(true);
  }
  return myProgManager.getProgram(gl,builder.build());
}

Fixed version (ground truth):
protected GLShaderProgram getProgram(GL3 gl,RenderObjectState robj){
  if (isSelecting()) {
    return myProgManager.getSelectionProgram(gl,RenderMode.TRIANGLES);
  }
  GLSLInfoBuilder builder=new GLSLInfoBuilder();
  builder.setNumLights(myProgManager.numLights());
  builder.setNumClipPlanes(myProgManager.numClipPlanes());
  Shading shading=isLightingEnabled() ? getShading() : Shading.NONE;
  builder.setLighting(shading);
  if (shading != Shading.NONE) {
    builder.setVertexNormals(true);
  }
  if (isTextureMappingEnabled()) {
    if (myCurrentColorMapProps != null && myCurrentColorMapProps.isEnabled() && !mySelectedColorActive) {
      builder.enableColorMap(true);
      builder.setVertexTextures(true);
      builder.setTextureColorMixing(myCurrentColorMapProps.getTextureColorMixing());
      builder.mixTextureColorDiffuse(myCurrentColorMapProps.getDiffuseColoring());
      builder.mixTextureColorSpecular(myCurrentColorMapProps.getSpecularColoring());
      builder.mixTextureColorEmission(myCurrentColorMapProps.getDiffuseColoring());
    }
    if (myCurrentNormalMapProps != null && myCurrentNormalMapProps.isEnabled()) {
      builder.enableNormalMap(true);
      builder.setVertexTextures(true);
    }
    if (myCurrentBumpMapProps != null && myCurrentBumpMapProps.isEnabled()) {
      builder.enableBumpMap(true);
      builder.setVertexTextures(true);
    }
  }
  if (!robj.hasColors() || !isVertexColoringEnabled() || mySelectedColorActive) {
    builder.setColorInterpolation(ColorInterpolation.NONE);
    builder.setVertexColors(false);
  }
 else {
    if (isHSVColorInterpolationEnabled()) {
      builder.setColorInterpolation(ColorInterpolation.HSV);
    }
 else {
      builder.setColorInterpolation(ColorInterpolation.RGB);
    }
    builder.setVertexColorMixing(getVertexColorMixing());
    builder.setVertexColors(true);
  }
  return myProgManager.getProgram(gl,builder.build());
}