Shader Error 0 - Validate State False Fragment shader error

I am facing shader error 0 - validate false error, some GLB’s load correctly and with some it display’s an this error

Below is a code snippet-

gltf.scene.traverse(function (child) {
            if (child instanceof THREE.Mesh) {
                child.material.userData.originalMap = child.material.map;
                child.material.onBeforeCompile = function (shader) {
                    console.log('Child material45', child.material);
                    if (child.material) {
                        console.log("On compile");
                        shader.fragmentShader = 'uniform int r;\n' + shader.fragmentShader.replace(/}$/, `if(r == 1){
                                 gl_FragColor.rgb = texture2D(roughnessMap, vUv).ggg;
                                 }else if(r ==2){
                                 gl_FragColor.rgb = texture2D(metalnessMap, vUv).bbb;
                                 }else if(r == 3){
                                 gl_FragColor.rgb = texture2D(aoMap, vUv).rrr;
                                 }}`,
                            shader.uniforms.r = {});
                        Object.defineProperty(shader.uniforms.r, "value", {
                            get() {
                                return child.material.r;
                            }
                        });
                        child.material.r = 0;
                    }
                }
            }
            if (typeof guiB != 'undefined') {
                const element = document.getElementById('my-gui-texture');
                element.remove();
            }
            textureVariants();
            selB.onChange(function (value) {
                gltf.scene.traverse(function (child) {
                    if (child instanceof THREE.Mesh) {
                        if (value === 'normalMap') {
                            if (child.material.normalMap) {
                                child.material.map = child.material.normalMap;
                                child.material.r = 0;
                                console.log('Normal map exist');
                            }
                        }
                        if (value === 'alphaMap') {
                            if (child.material.alphaMap) {
                                child.material.map = child.material.alphaMap;
                                child.material.r = 0;
                                console.log('Alpha map exist');
                            }
                        }
                        if (value === 'aoMap') {
                            if (child.material.aoMap) {
                                child.geometry.setAttribute('uv2', new THREE.BufferAttribute(child.geometry.attributes.uv.array, 2));
                                child.material.map = child.material.aoMap;
                                child.material.r = 3;
                                console.log('AO map exist');
                            }
                        }
                        if (value === 'emissiveMap') {
                            if (child.material.emissiveMap) {
                                child.material.map = child.material.emissiveMap;
                                child.material.r = 0;
                                console.log('Emissive map exist');
                            }
                        }
                        if (value === 'roughnessMap') {
                            if (child.material.roughnessMap) {
                                child.material.map = child.material.roughnessMap;
                                child.material.r = 1;
                                console.log('Roughness map exist');
                            }
                        }
                        if (value === 'metalnessMap') {
                            if (child.material.metalnessMap) {
                                child.material.map = child.material.metalnessMap;
                                child.material.r = 2;
                                console.log('Metalness map exist');
                            }
                        }
                        if (value === 'None') {
                            child.material.map = child.material.userData.originalMap;
                            child.material.r = 0;
                        }

                        else {
                            console.log('normal map not working333');
                        }