Skip to content

Illegal instruction for aarch64-1.21 #24512

@yushb0602

Description

@yushb0602

Describe the issue

The problem only exist on the latest onnxruntime-linux-aarch64-1.21.0, previous 1.20 works well.

I use onnxruntime to test very small model on aarch64 platform with C++ just as:
g++ inference.cpp -I./onnxruntime-linux-aarch64-1.21.0/include/ -L./onnxruntime-linux-aarch64-1.21.0/lib -lonnxruntime -lm -o inference -std=c++17 -g

Compile successfully and get error when run real board(aarch64): Illegal instruction.

But it works well when I run it on a simulated arm64v8 guest on docker x86 host. works well when recompile and run on x86.

for_aarch64.tar.gz

To reproduce

run the attached package on aarch64 platform

sadmin@ogic:/for_aarch64$ uname -a
Linux ogic 5.4.3+gc05efad #1 SMP PREEMPT Wed Dec 6 03:05:59 UTC 2023 aarch64 GNU/Linux
sadmin@ogic:
/for_aarch64$ bash run.sh onnxruntime-linux-aarch64-1.21.0
run.sh: line 29: 2195215 Illegal instruction ./inference
sadmin@ogic:~/for_aarch64$ bash run.sh onnxruntime-linux-aarch64-1.20.0
Input name: input
Output name: output
xs: 0 0.111111 0.222222 0.333333 0.444444 0.555556 0.666667 0.777778 0.888889 1
real: 1 0.993833 0.97541 0.944957 0.90285 0.849608 0.785887 0.712475 0.630275 0.540302
ys_est: 1.00056 0.995229 0.977492 0.947438 0.905343 0.85169 0.787173 0.712683 0.629284 0.538175

Urgency

No response

Platform

Linux

OS Version

Debian GNU/Linux 11

ONNX Runtime Installation

Released Package

ONNX Runtime Version or Commit ID

onnxruntime-linux-aarch64-1.21.0

ONNX Runtime API

Python

Architecture

X64

Execution Provider

Default CPU

Execution Provider Library Version

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleissues that have not been addressed in a while; categorized by a bot

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions