pydantic / pydantic-core

Core validation logic for pydantic written in rust
MIT License
1.44k stars 247 forks source link

SIGSEGV Linux arm64, python3.13-nogil #1350

Open dimaqq opened 5 months ago

dimaqq commented 5 months ago
> python3.13-nogil -c 'import pydantic_core'
fish: Job 1, 'python3.13-nogil -c 'import pyd…' terminated by signal SIGSEGV (Address boundary error)

Installed with pip install --upgrade git+https://github.com/pydantic/pydantic-core.git@main

dimaqq commented 5 months ago
(gdb) bt
#0  __GI_strcmp () at ../sysdeps/aarch64/strcmp.S:170
#1  0x00000000004e8930 in ?? ()
#2  0x0000fffff765a5e4 [PAC] in ?? ()
   from /home/dima.linux/code/jhack/linux-home-env/lib/python3.13/site-packages/pydantic_core/_pydantic_core.cpython-313t-aarch64-linux-gnu.so
#3  0x0000fffff77d1780 in PyInit__pydantic_core ()
   from /home/dima.linux/code/jhack/linux-home-env/lib/python3.13/site-packages/pydantic_core/_pydantic_core.cpython-313t-aarch64-linux-gnu.so
#4  0x00000000005f1f2c in ?? ()
#5  0x000000000076a90c [PAC] in ?? ()
#6  0x000000000076af74 [PAC] in ?? ()
#7  0x00000000004e7440 [PAC] in ?? ()
#8  0x0000000000421d84 [PAC] in _PyEval_EvalFrameDefault ()
#9  0x000000000048320c [PAC] in ?? ()
#10 0x0000000000483c08 [PAC] in PyObject_CallMethodObjArgs ()
#11 0x00000000005f89b4 [PAC] in PyImport_ImportModuleLevelObject ()
#12 0x00000000004295e4 [PAC] in _PyEval_EvalFrameDefault ()
#13 0x00000000005b957c [PAC] in PyEval_EvalCode ()
#14 0x00000000005b2c28 [PAC] in ?? ()
#15 0x00000000004e7538 [PAC] in ?? ()
#16 0x0000000000421d84 [PAC] in _PyEval_EvalFrameDefault ()
#17 0x000000000048320c [PAC] in ?? ()
#18 0x0000000000483c08 [PAC] in PyObject_CallMethodObjArgs ()
#19 0x00000000005f89b4 [PAC] in PyImport_ImportModuleLevelObject ()
#20 0x00000000004295e4 [PAC] in _PyEval_EvalFrameDefault ()
#21 0x00000000005b957c [PAC] in PyEval_EvalCode ()
#22 0x00000000005b2c28 [PAC] in ?? ()
#23 0x00000000004e7538 [PAC] in ?? ()
#24 0x00000000004227b8 [PAC] in _PyEval_EvalFrameDefault ()
#25 0x00000000005b957c [PAC] in PyEval_EvalCode ()
#26 0x00000000005b2c28 [PAC] in ?? ()
#27 0x00000000004e7538 [PAC] in ?? ()
#28 0x00000000004227b8 [PAC] in _PyEval_EvalFrameDefault ()
#29 0x0000000000644cb8 [PAC] in ?? ()
#30 0x00000000006491cc [PAC] in Py_RunMain ()
#31 0x000000000064952c [PAC] in Py_BytesMain ()
#32 0x0000fffff7ce84c4 [PAC] in __libc_start_call_main (main=main@entry=0x42bbf4 <_start+52>, argc=argc@entry=1,
    argv=argv@entry=0xfffffffff178) at ../sysdeps/nptl/libc_start_call_main.h:58
#33 0x0000fffff7ce8598 in __libc_start_main_impl (main=0x42bbf4 <_start+52>, argc=1, argv=0xfffffffff178,
    init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>)
    at ../csu/libc-start.c:360
#34 0x000000000042bbf0 in _start ()
(gdb)

Doesn't look particularly useful, but there you have it.

davidhewitt commented 4 months ago

Nogil is expected not to work yet, see https://github.com/PyO3/pyo3/issues/4265 - which I hope to ramp up development work on soon