[issue35160] PyObjects initialized with PyObject_New have uninitialized pointers to set to 0x1

Serafeim Mellos report at bugs.python.org
Sun Nov 4 09:23:27 EST 2018


Serafeim Mellos <fim at mellos.io> added the comment:

Backtrace from segfault is below but I'm not very familiar with python's memory internals in order to figure out where is the value initialized at the first place 

(gdb) bt
#0  _Py_XDECREF (op=0x1) at /home/fim/.pyenv/versions/3.8-dev/include/python3.8m/object.h:896
#1  Custom_dealloc (self=0x7ffff7ec0660) at custom.c:20
#2  0x00000000004685f2 in _Py_Dealloc_inline (op=<optimized out>) at ./Include/object.h:806
#3  _Py_DECREF (filename=0x5f7460 "Objects/dictobject.c", lineno=1508, op=<optimized out>) at ./Include/object.h:833
#4  delitem_common (old_value=<optimized out>, ix=<optimized out>, hash=-2939463505650448616, mp=0x7ffff7f38d80) at Objects/dictobject.c:1508
#5  _PyDict_DelItem_KnownHash (hash=-2939463505650448616, key=0x7ffff7f39b90, op=0x7ffff7f38d80) at Objects/dictobject.c:1560
#6  PyDict_DelItem (op=0x7ffff7f38d80, key=0x7ffff7f39b90) at Objects/dictobject.c:1526
#7  0x0000000000468aa5 in dict_ass_sub (mp=0x7ffff7f38d80, v=0x7ffff7f39b90, w=<optimized out>) at Objects/dictobject.c:2058
#8  0x00000000004262e3 in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2044
#9  0x00000000004e3ac0 in PyEval_EvalFrameEx (throwflag=0, f=0x7ffff7f5a970) at Python/ceval.c:531
#10 _PyEval_EvalCodeWithName (_co=_co at entry=0x7ffff7e97e40, globals=globals at entry=0x7ffff7f38d80, locals=locals at entry=0x7ffff7f38d80, args=args at entry=0x0, argcount=argcount at entry=0, 
    kwnames=kwnames at entry=0x0, kwargs=0x0, kwcount=0, kwstep=2, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at Python/ceval.c:3946
#11 0x00000000004e3bb3 in PyEval_EvalCodeEx (closure=0x0, kwdefs=0x0, defcount=0, defs=0x0, kwcount=0, kws=0x0, argcount=0, args=0x0, locals=locals at entry=0x7ffff7f38d80, 
    globals=globals at entry=0x7ffff7f38d80, _co=_co at entry=0x7ffff7e97e40) at Python/ceval.c:3975
#12 PyEval_EvalCode (co=co at entry=0x7ffff7e97e40, globals=globals at entry=0x7ffff7f38d80, locals=locals at entry=0x7ffff7f38d80) at Python/ceval.c:508
#13 0x000000000052009f in run_mod (arena=0x7ffff7fb81e0, flags=0x7fffffffd5e0, locals=0x7ffff7f38d80, globals=0x7ffff7f38d80, filename=0x7ffff7e510d8, mod=0x9a66c0)
    at Python/pythonrun.c:1031
#14 PyRun_InteractiveOneObjectEx (fp=fp at entry=0x7ffff749b8a0 <_IO_2_1_stdin_>, filename=filename at entry=0x7ffff7e510d8, flags=flags at entry=0x7fffffffd5e0) at Python/pythonrun.c:256
#15 0x0000000000520386 in PyRun_InteractiveLoopFlags (fp=fp at entry=0x7ffff749b8a0 <_IO_2_1_stdin_>, filename_str=filename_str at entry=0x5f13a5 "<stdin>", flags=flags at entry=0x7fffffffd5e0)
    at Python/pythonrun.c:120
#16 0x00000000005204fc in PyRun_AnyFileExFlags (fp=0x7ffff749b8a0 <_IO_2_1_stdin_>, filename=0x5f13a5 "<stdin>", closeit=0, flags=0x7fffffffd5e0) at Python/pythonrun.c:78
#17 0x000000000042e0fe in pymain_run_stdin (pymain=0x7fffffffd6f0, pymain=0x7fffffffd6f0, cf=0x7fffffffd5e0, config=0x922ea8) at Modules/main.c:1185
#18 pymain_run_python (interp=0x922e20, pymain=0x7fffffffd6f0) at Modules/main.c:1613
#19 pymain_main (pymain=0x7fffffffd6f0) at Modules/main.c:1758
#20 0x000000000042e349 in _Py_UnixMain (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:1795
#21 0x00007ffff711b4db in __libc_start_main () from /lib64/libc.so.6
#22 0x000000000042aeaa in _start ()

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue35160>
_______________________________________


More information about the Python-bugs-list mailing list