You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
La cosa succede solo se si importano entrambi due moduli e in quell'esatto ordine (quindi il problema può essere mitigato facendo un "import numpy" nel settings.py di rmap).
Il segmentation fault ha questo stacktrace, il problema pare essere nel cleanup di openblas all'uscita dell'interprete Python.
#0 0x0000000000005fc1 in ?? () #1 0x00007fffea7c1306 in blas_memory_cleanup.part () from /lib64/libopenblaso.so.0 #2 0x00007fffea7c1856 in blas_shutdown () from /lib64/libopenblaso.so.0 #3 0x00007fffea63a015 in gotoblas_quit () from /lib64/libopenblaso.so.0 #4 0x00007ffff7de4106 in _dl_fini () from /lib64/ld-linux-x86-64.so.2 #5 0x00007ffff6b4813c in __run_exit_handlers () from /lib64/libc.so.6 #6 0x00007ffff6b48270 in exit () from /lib64/libc.so.6 #7 0x00007ffff6b3187a in __libc_start_main () from /lib64/libc.so.6 #8 0x0000555555554dde in _start ()
Purtroppo, su centos8 non si riescono ad installare i simboli di debug né di Python3 né di openblas.
openblas è una dipendenza diretta di python3-numpy, mentre python3-gdal non lo richiede (e nemmeno gdal-libs). Ipotizzo che gdal chiuda male qualche risorsa che poi openblas (aperto da numpy) cerca di deallocare
Visto che il pacchetto gdal è quello di Fedora32, ho provato a riprodurlo, senza successo, su quest'ultima distribuzione. Giocando al gioco delle differenze:
Su Centos8
openblas 0.3.3-2
python36 3.6.8-2.module_el8.1.0+245+c39af44f
python3-gdal 2.3.2-14aSIMC
python3-numpy 1.14.3-9
Su Fedora32
openblas 0.3.7-2
python3 3.8.0~b4-1
python3-gdal 2.3.2-15
python3-numpy 1.18.1-1
Guardando il changelog di python3-gdal dalla release 14 alla 15 non mi pare che ci siano cambiamenti interessanti (tranne il doppio changelog):
Pacchettizzare numpy e openblas autonomamente non mi sembra una via percorribile (potrebbe portare più problemi di quelli che risolve), propongo di attendere un aggiornamento di python3-numpy su Centos8 e vedere se il problema persiste - e nel frattempo usare l'import di numpy in testa al codice.
The text was updated successfully, but these errors were encountered:
Da Emanuele:
Paolo ha segnalato un segfault su rmap sotto Centos8, che sono riuscito a riprodurre:
$ python3 -c "import gdal; import numpy"
Segmentation fault (core dumped)
La cosa succede solo se si importano entrambi due moduli e in quell'esatto ordine (quindi il problema può essere mitigato facendo un "import numpy" nel settings.py di rmap).
Il segmentation fault ha questo stacktrace, il problema pare essere nel cleanup di openblas all'uscita dell'interprete Python.
#0 0x0000000000005fc1 in ?? ()
#1 0x00007fffea7c1306 in blas_memory_cleanup.part () from /lib64/libopenblaso.so.0
#2 0x00007fffea7c1856 in blas_shutdown () from /lib64/libopenblaso.so.0
#3 0x00007fffea63a015 in gotoblas_quit () from /lib64/libopenblaso.so.0
#4 0x00007ffff7de4106 in _dl_fini () from /lib64/ld-linux-x86-64.so.2
#5 0x00007ffff6b4813c in __run_exit_handlers () from /lib64/libc.so.6
#6 0x00007ffff6b48270 in exit () from /lib64/libc.so.6
#7 0x00007ffff6b3187a in __libc_start_main () from /lib64/libc.so.6
#8 0x0000555555554dde in _start ()
Purtroppo, su centos8 non si riescono ad installare i simboli di debug né di Python3 né di openblas.
openblas è una dipendenza diretta di python3-numpy, mentre python3-gdal non lo richiede (e nemmeno gdal-libs). Ipotizzo che gdal chiuda male qualche risorsa che poi openblas (aperto da numpy) cerca di deallocare
Visto che il pacchetto gdal è quello di Fedora32, ho provato a riprodurlo, senza successo, su quest'ultima distribuzione. Giocando al gioco delle differenze:
Su Centos8
openblas 0.3.3-2
python36 3.6.8-2.module_el8.1.0+245+c39af44f
python3-gdal 2.3.2-14aSIMC
python3-numpy 1.14.3-9
Su Fedora32
openblas 0.3.7-2
python3 3.8.0~b4-1
python3-gdal 2.3.2-15
python3-numpy 1.18.1-1
Guardando il changelog di python3-gdal dalla release 14 alla 15 non mi pare che ci siano cambiamenti interessanti (tranne il doppio changelog):
Facendo il diff del sorgente https://github.com/xianyi/OpenBLAS/blob/093d37de8d7fabc918ef4ff902f2ebec928510a2/driver/others/memory.c tra le due versioni (dove è definito blas_memory_cleanup) noto che qualcosa è cambiato, ma non quella funzione.
Pacchettizzare numpy e openblas autonomamente non mi sembra una via percorribile (potrebbe portare più problemi di quelli che risolve), propongo di attendere un aggiornamento di python3-numpy su Centos8 e vedere se il problema persiste - e nel frattempo usare l'import di numpy in testa al codice.
The text was updated successfully, but these errors were encountered: