Open Chizkiyahu opened 11 months ago
@edgchen1 , could you please help take a look? Probably the problem has been fixed in the main branch.
@edgchen1 , could you please help take a look? Probably the problem has been fixed in the main branch.
I tested on 1.16.3 and is the same problem Did onnxruntime have nightly version?
Yes.
python -m pip install coloredlogs flatbuffers numpy packaging protobuf sympy
python -m pip install -i https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT-Nightly/pypi/simple/ ort_nightly
I tried it. The problem still exists.
I can repro in main. Looking into it. Thanks for the repro script.
Here's the nullptr dereference (of output
) when the output is not provided:
https://github.com/microsoft/onnxruntime/blob/14a343441dcd530bec24e18e34c3c068993eb06c/onnxruntime/core/providers/cpu/tensor/split.cc#L161-L162
Note that the Split op is specified to have required outputs. https://github.com/onnx/onnx/blob/5be7f3164ba0b2c323813264ceb0ae7e929d2350/docs/Operators.md#split
An empty string as the output name would mean that the output is an unspecified optional output. https://github.com/onnx/onnx/blob/5be7f3164ba0b2c323813264ceb0ae7e929d2350/docs/IR.md?plain=1#L355
Given the spec, I think we can improve the way it fails but it would still be an error.
But we run model checker before that. Why model checker didn't catch the issue?
I agree with you that ONNX Runtime library should report an error instead of crash when it encountered a bad model.
But we run model checker before that. Why model checker didn't catch the issue?
Good question.
@gramalingam, here we have variadic output (of Split) that has some missing (as if they were unspecified optional outputs) individual outputs. Should the model checker catch this?
Describe the issue
when onnx node have multiple output and some of them are empty names session.run raise Segmentation Fault
To reproduce
Urgency
No response
Platform
Mac
OS Version
14.1.1
ONNX Runtime Installation
Released Package
ONNX Runtime Version or Commit ID
1.15.1
ONNX Runtime API
Python
Architecture
ARM64
Execution Provider
Default CPU
Execution Provider Library Version
No response