Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.3k
Closed
Description
Crash report
What happened?
It's possible to segfault a release build or abort a debug with JIT enabled by running the following MRE:
importemail# Any module seems to work, originally this was `sys`definteract():email.ps1=Noneprompt=email.ps1delemail.ps1for_inrange(5000):interact()
Segfault backtrace:
Program received signal SIGSEGV, Segmentation fault._Py_uop_sym_new_const (ctx=ctx@entry=0x7ffffffe0d20, const_val=0x0) at Python/optimizer_symbols.c:426426 _Py_uop_sym_set_const(ctx, res, const_val);#0 _Py_uop_sym_new_const (ctx=ctx@entry=0x7ffffffe0d20, const_val=0x0) at Python/optimizer_symbols.c:426#1 0x000055555584a183 in optimize_uops (co=0x7ffff7a50270, trace=trace@entry=0x7fffffff8a30, trace_len=trace_len@entry=73, curr_stacklen=curr_stacklen@entry=2, dependencies=dependencies@entry=0x7fffffff8990) at Python/optimizer_cases.c.h:1265#2 0x000055555584aaba in _Py_uop_analyze_and_optimize (frame=frame@entry=0x7ffff7fb0020, buffer=buffer@entry=0x7fffffff8a30, length=length@entry=73, curr_stacklen=curr_stacklen@entry=2, dependencies=dependencies@entry=0x7fffffff8990) at Python/optimizer_analysis.c:682#3 0x000055555584424b in uop_optimize (frame=frame@entry=0x7ffff7fb0020, instr=instr@entry=0x7ffff7a3a994, exec_ptr=exec_ptr@entry=0x7fffffffd690, curr_stackentries=<optimized out>, progress_needed=progress_needed@entry=true) at Python/optimizer.c:1282#4 0x0000555555844bec in _PyOptimizer_Optimize (frame=frame@entry=0x7ffff7fb0020, start=0x7ffff7a3a994, executor_ptr=executor_ptr@entry=0x7fffffffd690, chain_depth=chain_depth@entry=0) at Python/optimizer.c:130#5 0x00005555555e9645 in _PyEval_EvalFrameDefault (tstate=0x555555b77f70 <_PyRuntime+315216>, frame=<optimized out>, throwflag=<optimized out>) at Python/generated_cases.c.h:7792#6 0x00005555557bc6f7 in _PyEval_EvalFrame (throwflag=0, frame=0x7ffff7fb0020, tstate=0x555555b77f70 <_PyRuntime+315216>) at ./Include/internal/pycore_ceval.h:119#7 _PyEval_Vector (args=0x0, argcount=0, kwnames=0x0, locals=0x7ffff7a13d40, func=0x7ffff7a0f3d0, tstate=0x555555b77f70 <_PyRuntime+315216>) at Python/ceval.c:1975Abort backtrace:
python: Python/optimizer_symbols.c:421: _Py_uop_sym_new_const: Assertion`const_val!= NULL' failed.Program received signal SIGABRT, Aborted.__pthread_kill_implementation (no_tid=0, signo=6, threadid=140737350575936) at ./nptl/pthread_kill.c:44#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737350575936) at ./nptl/pthread_kill.c:44#1 __pthread_kill_internal (signo=6, threadid=140737350575936) at ./nptl/pthread_kill.c:78#2 __GI___pthread_kill (threadid=140737350575936, signo=signo@entry=6) at ./nptl/pthread_kill.c:89#3 0x00007ffff7cdf476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26#4 0x00007ffff7cc57f3 in __GI_abort () at ./stdlib/abort.c:79#5 0x00007ffff7cc571b in __assert_fail_base (fmt=0x7ffff7e7a130 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x555555b5267c"const_val!= NULL", file=0x555555b52648"Python/optimizer_symbols.c", line=421, function=<optimized out>) at ./assert/assert.c:94#6 0x00007ffff7cd6e96 in __GI___assert_fail (assertion=assertion@entry=0x555555b5267c"const_val!= NULL", file=file@entry=0x555555b52648"Python/optimizer_symbols.c", line=line@entry=421, function=function@entry=0x555555b52de0 <__PRETTY_FUNCTION__.7>"_Py_uop_sym_new_const") at ./assert/assert.c:103#7 0x000055555595b2dc in _Py_uop_sym_new_const (ctx=ctx@entry=0x7ffffffc4790, const_val=<optimized out>) at Python/optimizer_symbols.c:421#8 0x0000555555956e33 in optimize_uops (co=0x7ffff7b93940, trace=trace@entry=0x7fffffff3e00, trace_len=trace_len@entry=73, curr_stacklen=curr_stacklen@entry=2, dependencies=dependencies@entry=0x7fffffff3de0) at Python/optimizer_cases.c.h:1265#9 0x000055555595a424 in _Py_uop_analyze_and_optimize (frame=frame@entry=0x7ffff7fb0020, buffer=buffer@entry=0x7fffffff3e00, length=length@entry=73, curr_stacklen=curr_stacklen@entry=2, dependencies=dependencies@entry=0x7fffffff3de0) at ./Include/internal/pycore_interpframe.h:24#10 0x0000555555951cd5 in uop_optimize (frame=frame@entry=0x7ffff7fb0020, instr=instr@entry=0x7ffff7a7e744, exec_ptr=exec_ptr@entry=0x7fffffffd550, curr_stackentries=2, progress_needed=progress_needed@entry=true) at Python/optimizer.c:1282#11 0x0000555555952253 in _PyOptimizer_Optimize (frame=frame@entry=0x7ffff7fb0020, start=start@entry=0x7ffff7a7e744, executor_ptr=executor_ptr@entry=0x7fffffffd550, chain_depth=chain_depth@entry=0) at Python/optimizer.c:130#12 0x0000555555863072 in _PyEval_EvalFrameDefault (tstate=tstate@entry=0x555555d6f7c0 <_PyRuntime+331232>, frame=frame@entry=0x7ffff7fb0020, throwflag=throwflag@entry=0) at Python/generated_cases.c.h:7792#13 0x0000555555877340 in _PyEval_EvalFrame (throwflag=0, frame=0x7ffff7fb0020, tstate=0x555555d6f7c0 <_PyRuntime+331232>) at ./Include/internal/pycore_ceval.h:119#14 _PyEval_Vector (tstate=tstate@entry=0x555555d6f7c0 <_PyRuntime+331232>, func=func@entry=0x7ffff7a4a750, locals=locals@entry=0x7ffff7a5c110, args=args@entry=0x0, argcount=argcount@entry=0, kwnames=kwnames@entry=0x0) at Python/ceval.c:1975#15 0x000055555587743f in PyEval_EvalCode (co=co@entry=0x7ffff7a7e640, globals=globals@entry=0x7ffff7a5c110, locals=locals@entry=0x7ffff7a5c110) at Python/ceval.c:866
Output fromPYTHON_LLTRACE=2:
Optimizing <module> (/home/fusil/runs/python-555/code-cpu_load-assertion/source2.py:1) at byte offset 52 1 ADD_TO_TRACE: _START_EXECUTOR (0, target=26, operand0=0x7ffff7a7e744, operand1=0) 2 ADD_TO_TRACE: _MAKE_WARM (0, target=0, operand0=0, operand1=0)26: JUMP_BACKWARD_JIT(12) 3 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=26, operand0=0, operand1=0) 4 ADD_TO_TRACE: _SET_IP (0, target=26, operand0=0x7ffff7a7e744, operand1=0) 5 ADD_TO_TRACE: _CHECK_PERIODIC (0, target=26, operand0=0, operand1=0, error_target=0)16: FOR_ITER_RANGE(10) 6 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=16, operand0=0, operand1=0) 7 ADD_TO_TRACE: _SET_IP (0, target=16, operand0=0x7ffff7a7e730, operand1=0) 8 ADD_TO_TRACE: _ITER_CHECK_RANGE (10, target=16, operand0=0, operand1=0) 9 ADD_TO_TRACE: _GUARD_NOT_EXHAUSTED_RANGE (10, target=16, operand0=0, operand1=0) 10 ADD_TO_TRACE: _ITER_NEXT_RANGE (10, target=16, operand0=0, operand1=0, error_target=0)18: STORE_NAME(3) 11 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=18, operand0=0, operand1=0) 12 ADD_TO_TRACE: _SET_IP (0, target=18, operand0=0x7ffff7a7e734, operand1=0) 13 ADD_TO_TRACE: _STORE_NAME (3, target=18, operand0=0, operand1=0, error_target=0)19: LOAD_NAME(1) 14 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=19, operand0=0, operand1=0) 15 ADD_TO_TRACE: _SET_IP (0, target=19, operand0=0x7ffff7a7e736, operand1=0) 16 ADD_TO_TRACE: _LOAD_NAME (1, target=19, operand0=0, operand1=0, error_target=0)20: PUSH_NULL(0) 17 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=20, operand0=0, operand1=0) 18 ADD_TO_TRACE: _SET_IP (0, target=20, operand0=0x7ffff7a7e738, operand1=0) 19 ADD_TO_TRACE: _PUSH_NULL (0, target=20, operand0=0, operand1=0)21: CALL_PY_EXACT_ARGS(0) 20 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=21, operand0=0, operand1=0) 21 ADD_TO_TRACE: _SET_IP (0, target=21, operand0=0x7ffff7a7e73a, operand1=0) 22 ADD_TO_TRACE: _CHECK_PEP_523 (0, target=21, operand0=0, operand1=0) 23 ADD_TO_TRACE: _CHECK_FUNCTION_VERSION (0, target=21, operand0=0x2cb, operand1=0) 24 ADD_TO_TRACE: _CHECK_FUNCTION_EXACT_ARGS (0, target=21, operand0=0, operand1=0) 25 ADD_TO_TRACE: _CHECK_STACK_SPACE (0, target=21, operand0=0, operand1=0) 26 ADD_TO_TRACE: _CHECK_RECURSION_REMAINING (0, target=21, operand0=0, operand1=0) 27 ADD_TO_TRACE: _INIT_CALL_PY_EXACT_ARGS (0, target=21, operand0=0, operand1=0) 28 ADD_TO_TRACE: _SAVE_RETURN_OFFSET (4, target=21, operand0=0, operand1=0)Function: version=0x2cb; new_func=0x7ffff7a4a8d0, new_code=0x7ffff7b93940 29 ADD_TO_TRACE: _PUSH_FRAME (0, target=21, operand0=0x7ffff7a4a8d0, operand1=0)Continuing in interact (/home/fusil/runs/python-555/code-cpu_load-assertion/source2.py:3) at byte offset 00: RESUME_CHECK(0) 30 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=0, operand0=0, operand1=0) 31 ADD_TO_TRACE: _SET_IP (0, target=0, operand0=0x7ffff7b93a10, operand1=0) 32 ADD_TO_TRACE: _RESUME_CHECK (0, target=0, operand0=0, operand1=0)1: LOAD_CONST(0) 33 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=1, operand0=0, operand1=0) 34 ADD_TO_TRACE: _SET_IP (0, target=1, operand0=0x7ffff7b93a12, operand1=0) 35 ADD_TO_TRACE: _LOAD_CONST (0, target=1, operand0=0, operand1=0)2: LOAD_GLOBAL_MODULE(0) 36 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=2, operand0=0, operand1=0) 37 ADD_TO_TRACE: _SET_IP (0, target=2, operand0=0x7ffff7b93a14, operand1=0) 38 ADD_TO_TRACE: _NOP (0, target=2, operand0=0, operand1=0) 39 ADD_TO_TRACE: _LOAD_GLOBAL_MODULE (0, target=2, operand0=0x2c, operand1=0) 40 ADD_TO_TRACE: _PUSH_NULL_CONDITIONAL (0, target=2, operand0=0, operand1=0)7: STORE_ATTR(1) 41 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=7, operand0=0, operand1=0) 42 ADD_TO_TRACE: _SET_IP (0, target=7, operand0=0x7ffff7b93a1e, operand1=0) 43 ADD_TO_TRACE: _STORE_ATTR (1, target=7, operand0=0, operand1=0, error_target=0)12: LOAD_GLOBAL_MODULE(0) 44 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=12, operand0=0, operand1=0) 45 ADD_TO_TRACE: _SET_IP (0, target=12, operand0=0x7ffff7b93a28, operand1=0) 46 ADD_TO_TRACE: _NOP (0, target=12, operand0=0, operand1=0) 47 ADD_TO_TRACE: _LOAD_GLOBAL_MODULE (0, target=12, operand0=0x2c, operand1=0) 48 ADD_TO_TRACE: _PUSH_NULL_CONDITIONAL (0, target=12, operand0=0, operand1=0)17: LOAD_ATTR_MODULE(2) 49 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=17, operand0=0, operand1=0) 50 ADD_TO_TRACE: _SET_IP (0, target=17, operand0=0x7ffff7b93a32, operand1=0) 51 ADD_TO_TRACE: _LOAD_ATTR_MODULE (2, target=17, operand0=0x2e, operand1=0) 52 ADD_TO_TRACE: _PUSH_NULL_CONDITIONAL (2, target=17, operand0=0, operand1=0)27: STORE_FAST(0) 53 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=27, operand0=0, operand1=0) 54 ADD_TO_TRACE: _SET_IP (0, target=27, operand0=0x7ffff7b93a46, operand1=0) 55 ADD_TO_TRACE: _STORE_FAST (0, target=27, operand0=0, operand1=0)28: LOAD_GLOBAL_MODULE(0) 56 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=28, operand0=0, operand1=0) 57 ADD_TO_TRACE: _SET_IP (0, target=28, operand0=0x7ffff7b93a48, operand1=0) 58 ADD_TO_TRACE: _NOP (0, target=28, operand0=0, operand1=0) 59 ADD_TO_TRACE: _LOAD_GLOBAL_MODULE (0, target=28, operand0=0x2c, operand1=0) 60 ADD_TO_TRACE: _PUSH_NULL_CONDITIONAL (0, target=28, operand0=0, operand1=0)33: DELETE_ATTR(1) 61 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=33, operand0=0, operand1=0) 62 ADD_TO_TRACE: _SET_IP (0, target=33, operand0=0x7ffff7b93a52, operand1=0) 63 ADD_TO_TRACE: _DELETE_ATTR (1, target=33, operand0=0, operand1=0, error_target=0)34: LOAD_CONST(0) 64 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=34, operand0=0, operand1=0) 65 ADD_TO_TRACE: _SET_IP (0, target=34, operand0=0x7ffff7b93a54, operand1=0) 66 ADD_TO_TRACE: _LOAD_CONST (0, target=34, operand0=0, operand1=0)35: RETURN_VALUE(0) 67 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=35, operand0=0, operand1=0) 68 ADD_TO_TRACE: _SET_IP (0, target=35, operand0=0x7ffff7b93a56, operand1=0) 69 ADD_TO_TRACE: _RETURN_VALUE (0, target=35, operand0=0x7ffff7a4a750, operand1=0)Returning to <module> (/home/fusil/runs/python-555/code-cpu_load-assertion/source2.py:1) at byte offset 5025: POP_TOP(0) 70 ADD_TO_TRACE: _CHECK_VALIDITY (0, target=25, operand0=0, operand1=0) 71 ADD_TO_TRACE: _SET_IP (0, target=25, operand0=0x7ffff7a7e742, operand1=0) 72 ADD_TO_TRACE: _POP_TOP (0, target=25, operand0=0, operand1=0) 73 ADD_TO_TRACE: _JUMP_TO_TOP (0, target=0, operand0=0, operand1=0)Created a proto-trace for <module> (/home/fusil/runs/python-555/code-cpu_load-assertion/source2.py:1) at byte offset 52 -- length 73Output fromPYTHON_OPT_DEBUG=4
0 abs: _START_EXECUTOR (0, target=26, operand0=0x7f167283ad34, operand1=0) stack_level 2 1 abs: _MAKE_WARM (0, target=0, operand0=0, operand1=0) stack_level 2 2 abs: _CHECK_VALIDITY (0, target=26, operand0=0, operand1=0) stack_level 2 3 abs: _SET_IP (0, target=26, operand0=0x7f167283ad34, operand1=0) stack_level 2 4 abs: _CHECK_PERIODIC (0, target=26, operand0=0, operand1=0, error_target=0) stack_level 2 5 abs: _CHECK_VALIDITY (0, target=16, operand0=0, operand1=0) stack_level 2 6 abs: _SET_IP (0, target=16, operand0=0x7f167283ad20, operand1=0) stack_level 2 7 abs: _ITER_CHECK_RANGE (10, target=16, operand0=0, operand1=0) stack_level 2 8 abs: _GUARD_NOT_EXHAUSTED_RANGE (10, target=16, operand0=0, operand1=0) stack_level 2 9 abs: _ITER_NEXT_RANGE (10, target=16, operand0=0, operand1=0, error_target=0) stack_level 3 10 abs: _CHECK_VALIDITY (0, target=18, operand0=0, operand1=0) stack_level 3 11 abs: _SET_IP (0, target=18, operand0=0x7f167283ad24, operand1=0) stack_level 3 12 abs: _STORE_NAME (3, target=18, operand0=0, operand1=0, error_target=0) stack_level 2 13 abs: _CHECK_VALIDITY (0, target=19, operand0=0, operand1=0) stack_level 2 14 abs: _SET_IP (0, target=19, operand0=0x7f167283ad26, operand1=0) stack_level 2 15 abs: _LOAD_NAME (1, target=19, operand0=0, operand1=0, error_target=0) stack_level 3 16 abs: _CHECK_VALIDITY (0, target=20, operand0=0, operand1=0) stack_level 3 17 abs: _SET_IP (0, target=20, operand0=0x7f167283ad28, operand1=0) stack_level 3 18 abs: _PUSH_NULL (0, target=20, operand0=0, operand1=0) stack_level 4 19 abs: _CHECK_VALIDITY (0, target=21, operand0=0, operand1=0) stack_level 4 20 abs: _SET_IP (0, target=21, operand0=0x7f167283ad2a, operand1=0) stack_level 4 21 abs: _CHECK_PEP_523 (0, target=21, operand0=0, operand1=0) stack_level 4 22 abs: _CHECK_FUNCTION_VERSION (0, target=21, operand0=0x760, operand1=0) stack_level 4 23 abs: _CHECK_FUNCTION_EXACT_ARGS (0, target=21, operand0=0, operand1=0) stack_level 4 24 abs: _CHECK_STACK_SPACE (0, target=21, operand0=0, operand1=0x7ffda9a1bf20) stack_level 4 25 abs: _CHECK_RECURSION_REMAINING (0, target=21, operand0=0, operand1=0x56468d06ff63) stack_level 4 26 abs: _INIT_CALL_PY_EXACT_ARGS (0, target=21, operand0=0, operand1=0x3c) func=0x7f16728068d0 code=0x7f1672953940 stack_level 3 27 abs: _SAVE_RETURN_OFFSET (4, target=21, operand0=0, operand1=0x56468d081cef) stack_level 3 28 abs: _PUSH_FRAME (0, target=21, operand0=0x7f16728068d0, operand1=0x56468d620878) stack_level 0 29 abs: _CHECK_VALIDITY (0, target=0, operand0=0, operand1=0x56468cff61e1) stack_level 0 30 abs: _SET_IP (0, target=0, operand0=0x7f1672953a10, operand1=0) stack_level 0 31 abs: _RESUME_CHECK (0, target=0, operand0=0, operand1=0) stack_level 0 32 abs: _CHECK_VALIDITY (0, target=1, operand0=0, operand1=0) stack_level 0 33 abs: _SET_IP (0, target=1, operand0=0x7f1672953a12, operand1=0) stack_level 0 34 abs: _LOAD_CONST (0, target=1, operand0=0, operand1=0) stack_level 1 35 abs: _CHECK_VALIDITY (0, target=2, operand0=0, operand1=0) stack_level 1 36 abs: _SET_IP (0, target=2, operand0=0x7f1672953a14, operand1=0) stack_level 1 37 abs: _CHECK_FUNCTION (0, target=2, operand0=0x760, operand1=0) stack_level 1 38 abs: _LOAD_CONST_INLINE (0, target=2, operand0=0x7f1672884bf0, operand1=0x8) stack_level 2 39 abs: _PUSH_NULL_CONDITIONAL (0, target=2, operand0=0, operand1=0) stack_level 2 40 abs: _CHECK_VALIDITY (0, target=7, operand0=0, operand1=0) stack_level 2 41 abs: _SET_IP (0, target=7, operand0=0x7f1672953a1e, operand1=0) stack_level 2 42 abs: _STORE_ATTR (1, target=7, operand0=0, operand1=0, error_target=0) stack_level 0 43 abs: _CHECK_VALIDITY (0, target=12, operand0=0, operand1=0) stack_level 0 44 abs: _SET_IP (0, target=12, operand0=0x7f1672953a28, operand1=0) stack_level 0 45 abs: _NOP (0, target=12, operand0=0, operand1=0) stack_level 0 46 abs: _LOAD_CONST_INLINE (0, target=12, operand0=0x7f1672884bf0, operand1=0x8) stack_level 1 47 abs: _PUSH_NULL_CONDITIONAL (0, target=12, operand0=0, operand1=0) stack_level 1 48 abs: _CHECK_VALIDITY (0, target=17, operand0=0, operand1=0) stack_level 1 49 abs: _SET_IP (0, target=17, operand0=0x7f1672953a32, operand1=0) stack_level 1Please let me know whether PYTHON_LLTRACE output is useful in JIT issues. Any suggestions about format or content also very welcome :)
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Output from running 'python -VV' on the command line:
Python 3.15.0a0 (heads/main:b706ff003c5, Jun 17 2025, 06:07:17) [GCC 11.4.0]