import numpy で core dump

現象

Jetson nanoでいろいろUpdateしたあと、Numpyをインポートしたらコアダンプするようになった。

$ python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
Illegal instruction (core dumped)

対処法

Numpyのバージョンが良くないらしい。

$ pip3 list | grep numpy
numpy                         1.19.5

バージョン下げると動いた。

$ pip3 install numpy==1.19.4

デバッグログ

(gdb) file python3
Reading symbols from python3...(no debugging symbols found)...done.
(gdb) run -c 'import numpy'
Starting program: /usr/bin/python3 -c 'import numpy'
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
0x0000007fb601af54 in gotoblas_dynamic_init ()
   from /home/nvidia/.local/lib/python3.6/site-packages/numpy/core/../../numpy.libs/libopenblasp-r0-32ff4d91.3.13.so
(gdb) bt
#0  0x0000007fb601af54 in gotoblas_dynamic_init ()
   from /home/nvidia/.local/lib/python3.6/site-packages/numpy/core/../../numpy.libs/libopenblasp-r0-32ff4d91.3.13.so
#1  0x0000007fb5e9d72c in gotoblas_init ()
   from /home/nvidia/.local/lib/python3.6/site-packages/numpy/core/../../numpy.libs/libopenblasp-r0-32ff4d91.3.13.so
#2  0x0000007fb7fdea34 in call_init (l=<optimized out>, argc=argc@entry=3, argv=argv@entry=0x7ffffff3d8, env=env@entry=0x955ee0)
    at dl-init.c:72
#3  0x0000007fb7fdeb38 in call_init (env=0x955ee0, argv=0x7ffffff3d8, argc=3, l=<optimized out>) at dl-init.c:118
#4  _dl_init (main_map=main_map@entry=0x9825d0, argc=3, argv=0x7ffffff3d8, env=0x955ee0) at dl-init.c:119
#5  0x0000007fb7fe2cd8 in dl_open_worker (a=0x7fffff8538) at dl-open.c:522
#6  0x0000007fb7f5e694 in __GI__dl_catch_exception (exception=0xfffffffffffffffe, operate=0x7fffff835c, args=0x7fffff8520)
    at dl-error-skeleton.c:196
#7  0x0000007fb7fe2418 in _dl_open (
    file=0x7fb7619e60 "/home/nvidia/.local/lib/python3.6/site-packages/numpy/core/_multiarray_umath.cpython-36m-aarch64-linux-gnu.so", mode=-2147483646, caller_dlopen=0x501900 <_PyImport_FindSharedFuncptr+384>, nsid=-2, argc=3, argv=0x7ffffff3d8, 
    env=<optimized out>) at dl-open.c:605
#8  0x0000007fb7e13014 in dlopen_doit (a=0x7fffff87f8) at dlopen.c:66
#9  0x0000007fb7f5e694 in __GI__dl_catch_exception (exception=0x7c5d90 <__stack_chk_guard>, exception@entry=0x7fffff8790, 
    operate=0x7fffff85ec, args=0x7fffff8770) at dl-error-skeleton.c:196
#10 0x0000007fb7f5e738 in __GI__dl_catch_error (objname=0x8dc4a0, errstring=0x8dc4a8, mallocedp=0x8dc498, operate=<optimized out>, 
    args=<optimized out>) at dl-error-skeleton.c:215
#11 0x0000007fb7e14780 in _dlerror_run (operate=operate@entry=0x7fb7e12fb0 <dlopen_doit>, args=0x7fffff87f8, 
    args@entry=0x7fffff8808) at dlerror.c:162
#12 0x0000007fb7e130e8 in __dlopen (file=<optimized out>, mode=<optimized out>) at dlopen.c:87
#13 0x0000000000501900 in _PyImport_FindSharedFuncptr ()
#14 0x000000000050ef04 in _PyImport_LoadDynamicModuleWithSpec ()
#15 0x0000000000510b3c in ?? ()
#16 0x00000000005bc030 in PyCFunction_Call ()
#17 0x00000000005330dc in _PyEval_EvalFrameDefault ()
#18 0x000000000052b108 in ?? ()
#19 0x000000000052b69c in ?? ()
#20 0x000000000052b8f4 in ?? ()
#21 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#22 0x0000000000529978 in ?? ()
#23 0x000000000052b8f4 in ?? ()
---Type <return> to continue, or q <return> to quit---
#24 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#25 0x0000000000529978 in ?? ()
#26 0x000000000052b8f4 in ?? ()
#27 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#28 0x0000000000529978 in ?? ()
#29 0x000000000052b8f4 in ?? ()
#30 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#31 0x0000000000529978 in ?? ()
#32 0x000000000052b8f4 in ?? ()
#33 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#34 0x0000000000529978 in ?? ()
#35 0x0000000000607a20 in _PyObject_FastCallDict ()
#36 0x00000000006087c0 in _PyObject_CallMethodIdObjArgs ()
#37 0x0000000000429144 in ?? ()
#38 0x00000000005329e0 in _PyEval_EvalFrameDefault ()
#39 0x000000000052b108 in ?? ()
#40 0x00000000005397cc in ?? ()
#41 0x00000000005bc030 in PyCFunction_Call ()
#42 0x00000000005330dc in _PyEval_EvalFrameDefault ()
#43 0x000000000052b108 in ?? ()
#44 0x000000000052b69c in ?? ()
#45 0x000000000052b8f4 in ?? ()
#46 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#47 0x0000000000529978 in ?? ()
#48 0x000000000052b8f4 in ?? ()
#49 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#50 0x0000000000529978 in ?? ()
#51 0x000000000052b8f4 in ?? ()
#52 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#53 0x0000000000529978 in ?? ()
#54 0x000000000052b8f4 in ?? ()
#55 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#56 0x0000000000529978 in ?? ()
#57 0x0000000000607a20 in _PyObject_FastCallDict ()
---Type <return> to continue, or q <return> to quit---
#58 0x00000000006087c0 in _PyObject_CallMethodIdObjArgs ()
#59 0x0000000000429144 in ?? ()
#60 0x000000000053506c in ?? ()
#61 0x00000000005bbffc in PyCFunction_Call ()
#62 0x00000000005330dc in _PyEval_EvalFrameDefault ()
#63 0x000000000052b108 in ?? ()
#64 0x000000000052b69c in ?? ()
#65 0x000000000052b8f4 in ?? ()
#66 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#67 0x000000000052b108 in ?? ()
#68 0x000000000052b42c in _PyFunction_FastCallDict ()
#69 0x0000000000607a20 in _PyObject_FastCallDict ()
#70 0x00000000006087c0 in _PyObject_CallMethodIdObjArgs ()
#71 0x0000000000429248 in ?? ()
#72 0x00000000005329e0 in _PyEval_EvalFrameDefault ()
#73 0x000000000052b108 in ?? ()
#74 0x00000000005397cc in ?? ()
#75 0x00000000005bc030 in PyCFunction_Call ()
#76 0x00000000005330dc in _PyEval_EvalFrameDefault ()
#77 0x000000000052b108 in ?? ()
#78 0x000000000052b69c in ?? ()
#79 0x000000000052b8f4 in ?? ()
#80 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#81 0x0000000000529978 in ?? ()
#82 0x000000000052b8f4 in ?? ()
#83 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#84 0x0000000000529978 in ?? ()
#85 0x000000000052b8f4 in ?? ()
#86 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#87 0x0000000000529978 in ?? ()
#88 0x000000000052b8f4 in ?? ()
#89 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#90 0x0000000000529978 in ?? ()
#91 0x0000000000607a20 in _PyObject_FastCallDict ()
---Type <return> to continue, or q <return> to quit---
#92 0x00000000006087c0 in _PyObject_CallMethodIdObjArgs ()
#93 0x0000000000429144 in ?? ()
#94 0x000000000053506c in ?? ()
#95 0x00000000005bbffc in PyCFunction_Call ()
#96 0x00000000005330dc in _PyEval_EvalFrameDefault ()
#97 0x000000000052b108 in ?? ()
#98 0x000000000052b69c in ?? ()
#99 0x000000000052b8f4 in ?? ()
#100 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#101 0x000000000052b108 in ?? ()
#102 0x000000000052b42c in _PyFunction_FastCallDict ()
#103 0x0000000000607a20 in _PyObject_FastCallDict ()
#104 0x00000000006087c0 in _PyObject_CallMethodIdObjArgs ()
#105 0x0000000000429248 in ?? ()
#106 0x00000000005329e0 in _PyEval_EvalFrameDefault ()
#107 0x000000000052b108 in ?? ()
#108 0x00000000005397cc in ?? ()
#109 0x00000000005bc030 in PyCFunction_Call ()
#110 0x00000000005330dc in _PyEval_EvalFrameDefault ()
#111 0x000000000052b108 in ?? ()
#112 0x000000000052b69c in ?? ()
#113 0x000000000052b8f4 in ?? ()
#114 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#115 0x0000000000529978 in ?? ()
#116 0x000000000052b8f4 in ?? ()
#117 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#118 0x0000000000529978 in ?? ()
#119 0x000000000052b8f4 in ?? ()
#120 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#121 0x0000000000529978 in ?? ()
#122 0x000000000052b8f4 in ?? ()
#123 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#124 0x0000000000529978 in ?? ()
#125 0x0000000000607a20 in _PyObject_FastCallDict ()
---Type <return> to continue, or q <return> to quit---
#126 0x00000000006087c0 in _PyObject_CallMethodIdObjArgs ()
#127 0x0000000000429144 in ?? ()
#128 0x000000000053506c in ?? ()
#129 0x00000000005bbffc in PyCFunction_Call ()
#130 0x00000000005330dc in _PyEval_EvalFrameDefault ()
#131 0x000000000052b108 in ?? ()
#132 0x000000000052b69c in ?? ()
#133 0x000000000052b8f4 in ?? ()
#134 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#135 0x000000000052b108 in ?? ()
#136 0x000000000052b42c in _PyFunction_FastCallDict ()
#137 0x0000000000607a20 in _PyObject_FastCallDict ()
#138 0x00000000006087c0 in _PyObject_CallMethodIdObjArgs ()
#139 0x0000000000429248 in ?? ()
#140 0x00000000005329e0 in _PyEval_EvalFrameDefault ()
#141 0x000000000052b108 in ?? ()
#142 0x00000000005397cc in ?? ()
#143 0x00000000005bc030 in PyCFunction_Call ()
#144 0x00000000005330dc in _PyEval_EvalFrameDefault ()
#145 0x000000000052b108 in ?? ()
#146 0x000000000052b69c in ?? ()
#147 0x000000000052b8f4 in ?? ()
#148 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#149 0x0000000000529978 in ?? ()
#150 0x000000000052b8f4 in ?? ()
#151 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#152 0x0000000000529978 in ?? ()
#153 0x000000000052b8f4 in ?? ()
#154 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#155 0x0000000000529978 in ?? ()
#156 0x000000000052b8f4 in ?? ()
#157 0x00000000005306c0 in _PyEval_EvalFrameDefault ()
#158 0x0000000000529978 in ?? ()
#159 0x0000000000607a20 in _PyObject_FastCallDict ()
---Type <return> to continue, or q <return> to quit---
#160 0x00000000006087c0 in _PyObject_CallMethodIdObjArgs ()
#161 0x0000000000429144 in ?? ()
#162 0x00000000005329e0 in _PyEval_EvalFrameDefault ()
#163 0x000000000052b108 in ?? ()
#164 0x0000000000630cd8 in PyRun_StringFlags ()
#165 0x00000000006368f0 in PyRun_SimpleStringFlags ()
#166 0x00000000006209f0 in Py_Main ()
#167 0x0000000000420d3c in main ()