What version of protobuf and what language are you using?
6.32.0
Language: Python/PHP
What operating system (Linux, Windows, ...) and version?
Linux, Wolfi OS, Chainguard OS
What runtime / compiler are you using (e.g., python version or gcc version)
Any python version.
What did you do?
On an aarch64 virtual machine, if I see this:
python3.10 -c "import onnx"
Illegal instruction (core dumped)
This is because onnx calls protobuf, which has aarch64 specific ASM.
I got this using gdb:
Program received signal SIGILL, Illegal instruction.
0x0000ffffaf923590 in encode_longvarint_arm64 ()
from /usr/lib/python3.10/site-packages/google/_upb/_message.cpython-310-aarch64-linux-gnu.so
(gdb) bt
#0 0x0000ffffaf923590 in encode_longvarint_arm64 ()
from /usr/lib/python3.10/site-packages/google/_upb/_message.cpython-310-aarch64-linux-gnu.so
#1 0x0000ffffaf9251d8 [PAC] in encode_scalar ()
from /usr/lib/python3.10/site-packages/google/_upb/_message.cpython-310-aarch64-linux-gnu.so
#2 0x0000ffffaf924ef0 [PAC] in encode_message ()
from /usr/lib/python3.10/site-packages/google/_upb/_message.cpython-310-aarch64-linux-gnu.so
#3 0x0000ffffaf925ac8 [PAC] in upb_Encoder_Encode.constprop.0 ()
from /usr/lib/python3.10/site-packages/google/_upb/_message.cpython-310-aarch64-linux-gnu.so
#4 0x0000ffffaf925bec [PAC] in _upb_Encode () from /usr/lib/python3.10/site-packages/google/_upb/_message.cpython-310-aarch64-linux-gnu.so
#5 0x0000ffffaf90fd44 [PAC] in _upb_FieldDef_Create ()
from /usr/lib/python3.10/site-packages/google/_upb/_message.cpython-310-aarch64-linux-gnu.so
#6 0x0000ffffaf910b80 [PAC] in _upb_FieldDefs_New ()
from /usr/lib/python3.10/site-packages/google/_upb/_message.cpython-310-aarch64-linux-gnu.so
#7 0x0000ffffaf916840 [PAC] in _upb_MessageDefs_New ()
from /usr/lib/python3.10/site-packages/google/_upb/_message.cpython-310-aarch64-linux-gnu.so
#8 0x0000ffffaf912b80 [PAC] in _upb_FileDef_Create ()
from /usr/lib/python3.10/site-packages/google/_upb/_message.cpython-310-aarch64-linux-gnu.so
#9 0x0000ffffaf90bc38 [PAC] in upb_DefBuilder_AddFileToPool.isra.0 ()
from /usr/lib/python3.10/site-packages/google/_upb/_message.cpython-310-aarch64-linux-gnu.so
#10 0x0000ffffaf90bd5c [PAC] in _upb_DefPool_AddFile ()
from /usr/lib/python3.10/site-packages/google/_upb/_message.cpython-310-aarch64-linux-gnu.so
#11 0x0000ffffaf8f2918 [PAC] in PyUpb_DescriptorPool_DoAddSerializedFile ()
from /usr/lib/python3.10/site-packages/google/_upb/_message.cpython-310-aarch64-linux-gnu.so
#12 0x0000ffffb03bd784 [PAC] in method_vectorcall_O () from /usr/lib/libpython3.10.so.1.0
#13 0x0000ffffb039920c [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#14 0x0000ffffb047d504 [PAC] in _PyEval_Vector () from /usr/lib/libpython3.10.so.1.0
#15 0x0000ffffb047d3e0 [PAC] in PyEval_EvalCode () from /usr/lib/libpython3.10.so.1.0
#16 0x0000ffffb0487e30 [PAC] in builtin_exec () from /usr/lib/libpython3.10.so.1.0
#17 0x0000ffffb03b0260 [PAC] in cfunction_vectorcall_FASTCALL () from /usr/lib/libpython3.10.so.1.0
#18 0x0000ffffb039b79c [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#19 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#20 0x0000ffffb039db20 [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#21 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#22 0x0000ffffb039920c [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#23 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#24 0x0000ffffb0398df0 [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#25 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#26 0x0000ffffb0398df0 [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#27 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#28 0x0000ffffb03af3f4 [PAC] in object_vacall () from /usr/lib/libpython3.10.so.1.0
#29 0x0000ffffb03c71b8 [PAC] in _PyObject_CallMethodIdObjArgs () from /usr/lib/libpython3.10.so.1.0
#30 0x0000ffffb03c5158 [PAC] in PyImport_ImportModuleLevelObject () from /usr/lib/libpython3.10.so.1.0
#31 0x0000ffffb039ccdc [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#32 0x0000ffffb047d504 [PAC] in _PyEval_Vector () from /usr/lib/libpython3.10.so.1.0
#33 0x0000ffffb047d3e0 [PAC] in PyEval_EvalCode () from /usr/lib/libpython3.10.so.1.0
#34 0x0000ffffb0487e30 [PAC] in builtin_exec () from /usr/lib/libpython3.10.so.1.0
#35 0x0000ffffb03b0260 [PAC] in cfunction_vectorcall_FASTCALL () from /usr/lib/libpython3.10.so.1.0
#36 0x0000ffffb039b79c [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#37 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#38 0x0000ffffb039db20 [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#39 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#40 0x0000ffffb039920c [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#41 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#42 0x0000ffffb0398df0 [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#43 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#44 0x0000ffffb0398df0 [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#45 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#46 0x0000ffffb03af3f4 [PAC] in object_vacall () from /usr/lib/libpython3.10.so.1.0
#47 0x0000ffffb03c71b8 [PAC] in _PyObject_CallMethodIdObjArgs () from /usr/lib/libpython3.10.so.1.0
#48 0x0000ffffb03c5158 [PAC] in PyImport_ImportModuleLevelObject () from /usr/lib/libpython3.10.so.1.0
#49 0x0000ffffb039ccdc [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#50 0x0000ffffb047d504 [PAC] in _PyEval_Vector () from /usr/lib/libpython3.10.so.1.0
#51 0x0000ffffb047d3e0 [PAC] in PyEval_EvalCode () from /usr/lib/libpython3.10.so.1.0
#52 0x0000ffffb0487e30 [PAC] in builtin_exec () from /usr/lib/libpython3.10.so.1.0
#53 0x0000ffffb03b0260 [PAC] in cfunction_vectorcall_FASTCALL () from /usr/lib/libpython3.10.so.1.0
#54 0x0000ffffb039b79c [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#55 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#56 0x0000ffffb039db20 [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#57 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#58 0x0000ffffb039920c [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#59 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#60 0x0000ffffb0398df0 [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#61 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#62 0x0000ffffb0398df0 [PAC] in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.10.so.1.0
#63 0x0000ffffb03b0004 [PAC] in _PyFunction_Vectorcall () from /usr/lib/libpython3.10.so.1.0
#64 0x0000ffffb03af3f4 [PAC] in object_vacall () from /usr/lib/libpython3.10.so.1.0
I get a similar segfault when running the PHP bindings for protobuf.
What did you expect to see
No segfault.
What did you see instead?
A segfault.
Anything else we should know about your project / environment
This is a pretty normal aarch64 CPU:
$ cat /proc/cpuinfo
processor : 0
BogoMIPS : 2000.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd4f
CPU revision : 1
$ uname -m
aarch64
What version of protobuf and what language are you using?
6.32.0
Language: Python/PHP
What operating system (Linux, Windows, ...) and version?
Linux, Wolfi OS, Chainguard OS
What runtime / compiler are you using (e.g., python version or gcc version)
Any python version.
What did you do?
On an aarch64 virtual machine, if I see this:
This is because onnx calls protobuf, which has aarch64 specific ASM.
I got this using gdb:
I get a similar segfault when running the PHP bindings for protobuf.
What did you expect to see
No segfault.
What did you see instead?
A segfault.
Anything else we should know about your project / environment
This is a pretty normal aarch64 CPU: