{"record":{"id":"993ef799e3975755","repo":"lutzroeder/netron","slug":"value-type-val-constructor-name-not-implement","errorCode":null,"errorMessage":"Value type '${val.constructor.name}' not implemented.","messagePattern":"Value type '(.+?)' not implemented\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"source/executorch.js","lineNumber":111,"sourceCode":"                    const items = [val];\n                    values.set(index, { type: null, value: values.tensors(index, items) });\n                } else if (val instanceof executorch_flatbuffer.String) {\n                    values.set(index, { type: 'string', value: val.string_val });\n                } else if (val instanceof executorch_flatbuffer.IntList) {\n                    const list = val.items.map((index) => plan.values[index].val.int_val);\n                    values.set(index, { type: 'int64[]', value: list });\n                } else if (val instanceof executorch_flatbuffer.DoubleList) {\n                    values.set(index, { type: 'float64[]', value: Array.from(val.items) });\n                } else if (val instanceof executorch_flatbuffer.BoolList) {\n                    throw new executorch.Error('executorch_flatbuffer.BoolList not implemented.');\n                } else if (val instanceof executorch_flatbuffer.TensorList) {\n                    const items = Array.from(val.items).map((arg) => arg === -1 ? null : plan.values[arg].val);\n                    values.set(index, { type: null, value: values.tensors(index, items) });\n                } else if (val instanceof executorch_flatbuffer.OptionalTensorList) {\n                    const items = Array.from(val.items).map((arg) => arg === -1 ? null : plan.values[arg].val);\n                    values.set(index, { type: null, value: values.tensors(index, items) });\n                } else {\n                    throw new Error(`Value type '${val.constructor.name}' not implemented.`);\n                }\n            }\n            return values.get(index);\n        };\n        for (let i = 0; i < plan.inputs.length; i++) {\n            const input = plan.inputs[i];\n            const value = values.map(input);\n            const name = plan.inputs.length === 1 ? 'input' : `input.${i}`;\n            const argument = new executorch.Argument(name, value.value, value.type);\n            this.inputs.push(argument);\n        }\n        for (let i = 0; i < plan.outputs.length; i++) {\n            const output = plan.outputs[i];\n            const value = values.map(output);\n            const name = plan.outputs.length === 1 ? 'output' : `output.${i}`;\n            const argument = new executorch.Argument(name, value.value, value.type);\n            this.outputs.push(argument);\n        }","sourceCodeStart":93,"sourceCodeEnd":129,"githubUrl":"https://github.com/lutzroeder/netron/blob/d8a543f5f847ef596aa58858d6adcf5d75545f7f/source/executorch.js#L93-L129","documentation":"While materializing ExecutionPlan program values, executorch encountered a value class in plan.values that isn't one of the handled flatbuffer types (Tensor, OptionalTensor, TensorList, OptionalTensorList). The loader only implements a fixed set, so any new/other value type is rejected.","triggerScenarios":"Opening an .ptq/.pte ExecutionTorch program whose values table contains a flatbuffer type outside the implemented if-chain (e.g. a new future type added in a newer executorch schema).","commonSituations":"Program exported by a newer PyTorch/executorch release than the netron version supports.","solutions":["Update netron to the latest release (executorch support tracks PyTorch closely)","Re-export the program with an older/stable executorch version","Check the erroring class name in the message to identify the unsupported value type and report it upstream"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":"const supported = (v) => v instanceof executorch_flatbuffer.Tensor || v instanceof executorch_flatbuffer.OptionalTensor || v instanceof executorch_flatbuffer.TensorList || v instanceof executorch_flatbuffer.OptionalTensorList;","tryCatchPattern":"try { openModel(f); } catch (e) { if (/Value type '.*' not implemented/.test(e.message)) { /* unsupported executorch value type — update netron */ } }","preventionTips":["Match netron and executorch/PyTorch versions","Prefer un-lowered (.ptq) exports when you only need to inspect the graph"],"tags":["executorch","pytorch","flatbuffers","unsupported-type"],"backgroundTag":"unsupported-flatbuffer-type","analyzedSha":"d8a543f5f847ef596aa58858d6adcf5d75545f7f","analyzedAt":"2026-08-27T19:21:42.082Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}