classification
Title: Crash on GC when compiling PyPy
Type: crash Stage: resolved
Components: Interpreter Core Versions: Python 2.7
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: ZackerySpytz, gumblex, malin, ned.deily
Priority: normal Keywords:

Created on 2017-01-11 15:03 by gumblex, last changed 2020-06-10 07:35 by ned.deily. This issue is now closed.

Messages (4)
msg285228 - (view) Author: Dingyuan Wang (gumblex) * Date: 2017-01-11 15:03
When compiling the PyPy default branch [1] on a Debian testing machine with Python 2.7.13, cpython randomly crashes.

(gdb) bt
#0  update_refs () at ../Modules/gcmodule.c:332
#1  collect.lto_priv () at ../Modules/gcmodule.c:924
#2  0x000055555562a804 in collect_generations () at ../Modules/gcmodule.c:1050
#3  _PyObject_GC_Malloc () at ../Modules/gcmodule.c:1511
#4  0x0000555555640ef5 in PyType_GenericAlloc (nitems=0, type=0x555555a9dd20 <_PyExc_AttributeError>) at ../Objects/typeobject.c:781
#5  BaseException_new.lto_priv.68 () at ../Objects/exceptions.c:34
#6  0x0000555555642093 in type_call.lto_priv () at ../Objects/typeobject.c:749
#7  0x000055555563c5f3 in PyObject_Call () at ../Objects/abstract.c:2547
#8  0x000055555565a490 in PyEval_CallObjectWithKeywords () at ../Python/ceval.c:4221
#9  0x00005555556695d0 in PyErr_NormalizeException () at ../Python/errors.c:192
#10 0x0000555555656cad in PyEval_EvalFrameEx () at ../Python/ceval.c:3251
#11 0x000055555564e525 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#12 0x000055555566ac2e in function_call.lto_priv () at ../Objects/funcobject.c:523
#13 0x000055555563c5f3 in PyObject_Call () at ../Objects/abstract.c:2547
#14 0x000055555568102e in instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
#15 0x000055555563c5f3 in PyObject_Call () at ../Objects/abstract.c:2547
#16 0x00005555556f333a in call_method.lto_priv () at ../Objects/typeobject.c:1283
#17 0x000055555573eb8f in slot_tp_setattro.lto_priv () at ../Objects/typeobject.c:5654
#18 0x00005555556667e9 in PyObject_SetAttr () at ../Objects/object.c:1247
#19 0x0000555555650ec3 in PyEval_EvalFrameEx () at ../Python/ceval.c:2253
#20 0x000055555564e525 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#21 0x000055555566ac2e in function_call.lto_priv () at ../Objects/funcobject.c:523
#22 0x000055555563c5f3 in PyObject_Call () at ../Objects/abstract.c:2547
#23 0x000055555568102e in instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
#24 0x000055555563c5f3 in PyObject_Call () at ../Objects/abstract.c:2547
#25 0x000055555565a4dd in PyEval_CallObjectWithKeywords () at ../Python/ceval.c:4221
#26 0x00005555556f3e31 in slot_tp_hash.lto_priv () at ../Objects/typeobject.c:5506
#27 0x000055555568c908 in dict_subscript.lto_priv () at ../Objects/dictobject.c:1202
#28 0x000055555565618e in PyEval_EvalFrameEx () at ../Python/ceval.c:1539
#29 0x000055555564e525 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#30 0x000055555566ac2e in function_call.lto_priv () at ../Objects/funcobject.c:523
#31 0x000055555563c5f3 in PyObject_Call () at ../Objects/abstract.c:2547
#32 0x000055555568102e in instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
#33 0x000055555563c5f3 in PyObject_Call () at ../Objects/abstract.c:2547
#34 0x000055555565a490 in PyEval_CallObjectWithKeywords () at ../Python/ceval.c:4221
#35 0x000055555569ff3a in instance_subscript.lto_priv () at ../Objects/classobject.c:1105
#36 0x000055555565618e in PyEval_EvalFrameEx () at ../Python/ceval.c:1539
#37 0x000055555564e525 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#38 0x000055555566ac2e in function_call.lto_priv () at ../Objects/funcobject.c:523
#39 0x000055555563c5f3 in PyObject_Call () at ../Objects/abstract.c:2547
#40 0x0000555555672dd9 in slot_tp_new.lto_priv () at ../Objects/typeobject.c:5849
#41 0x0000555555642093 in type_call.lto_priv () at ../Objects/typeobject.c:749
#42 0x000055555563c5f3 in PyObject_Call () at ../Objects/abstract.c:2547
#43 0x0000555555655e8f in do_call (nk=<optimized out>, na=1, pp_stack=0x7fffffffb950, func=<type at remote 0x555555d6d990>) at ../Python/ceval.c:4569
#44 call_function (oparg=<optimized out>, pp_stack=0x7fffffffb950) at ../Python/ceval.c:4374
#45 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#46 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffbaa0, func=<function at remote 0x7fffc0098758>) at ../Python/ceval.c:4437
#47 call_function (oparg=<optimized out>, pp_stack=0x7fffffffbaa0) at ../Python/ceval.c:4372
#48 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#49 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffbbf0, func=<function at remote 0x7fffc0098a28>) at ../Python/ceval.c:4437
#50 call_function (oparg=<optimized out>, pp_stack=0x7fffffffbbf0) at ../Python/ceval.c:4372
#51 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#52 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffbd40, func=<function at remote 0x7fffc0106cf8>) at ../Python/ceval.c:4437
---Type <return> to continue, or q <return> to quit---
#53 call_function (oparg=<optimized out>, pp_stack=0x7fffffffbd40) at ../Python/ceval.c:4372
#54 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#55 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffbe90, func=<function at remote 0x7fffc0094758>) at ../Python/ceval.c:4437
#56 call_function (oparg=<optimized out>, pp_stack=0x7fffffffbe90) at ../Python/ceval.c:4372
#57 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#58 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffbfe0, func=<function at remote 0x7fffc002e230>) at ../Python/ceval.c:4437
#59 call_function (oparg=<optimized out>, pp_stack=0x7fffffffbfe0) at ../Python/ceval.c:4372
#60 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#61 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffc130, func=<function at remote 0x7ffff596e9b0>) at ../Python/ceval.c:4437
#62 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc130) at ../Python/ceval.c:4372
#63 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#64 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffc280, func=<function at remote 0x7fffbfce3578>) at ../Python/ceval.c:4437
#65 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc280) at ../Python/ceval.c:4372
#66 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#67 0x000055555564e525 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#68 0x000055555565676e in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffc490, func=<function at remote 0x7fffbfce39b0>) at ../Python/ceval.c:4447
#69 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc490) at ../Python/ceval.c:4372
#70 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#71 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffc5e0, func=<function at remote 0x7fffc002eaa0>) at ../Python/ceval.c:4437
#72 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc5e0) at ../Python/ceval.c:4372
#73 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#74 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffc730, func=<function at remote 0x7fffbffe9f50>) at ../Python/ceval.c:4437
#75 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc730) at ../Python/ceval.c:4372
#76 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#77 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffc880, func=<function at remote 0x7fffbfb54410>) at ../Python/ceval.c:4437
#78 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc880) at ../Python/ceval.c:4372
#79 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#80 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffc9d0, func=<function at remote 0x7fffbfce3e60>) at ../Python/ceval.c:4437
#81 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc9d0) at ../Python/ceval.c:4372
#82 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#83 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffcb20, func=<function at remote 0x7fffbfb668c0>) at ../Python/ceval.c:4437
#84 call_function (oparg=<optimized out>, pp_stack=0x7fffffffcb20) at ../Python/ceval.c:4372
#85 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#86 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffcc70, func=<function at remote 0x7fffbfb66b90>) at ../Python/ceval.c:4437
#87 call_function (oparg=<optimized out>, pp_stack=0x7fffffffcc70) at ../Python/ceval.c:4372
#88 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#89 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffcdc0, func=<function at remote 0x7fffbfb04b90>) at ../Python/ceval.c:4437
#90 call_function (oparg=<optimized out>, pp_stack=0x7fffffffcdc0) at ../Python/ceval.c:4372
#91 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#92 0x000055555564e525 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#93 0x0000555555655f78 in fast_function (nk=1, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffcfd0, func=<function at remote 0x7fffbfb041b8>) at ../Python/ceval.c:4447
#94 call_function (oparg=<optimized out>, pp_stack=0x7fffffffcfd0) at ../Python/ceval.c:4372
#95 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#96 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd120, func=<function at remote 0x7ffff4955d70>) at ../Python/ceval.c:4437
#97 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd120) at ../Python/ceval.c:4372
#98 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#99 0x000055555564e525 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#100 0x000055555566ade8 in function_call.lto_priv () at ../Objects/funcobject.c:523
#101 0x000055555563c5f3 in PyObject_Call () at ../Objects/abstract.c:2547
#102 0x00005555556531a5 in ext_do_call (nk=0, na=3, flags=<optimized out>, pp_stack=0x7fffffffd3d8, func=<function at remote 0x7ffff4955b90>) at ../Python/ceval.c:4666
#103 PyEval_EvalFrameEx () at ../Python/ceval.c:3028
#104 0x000055555564e525 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#105 0x000055555565676e in fast_function (nk=1, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd5e0, func=<function at remote 0x7ffff4946488>) at ../Python/ceval.c:4447
---Type <return> to continue, or q <return> to quit---
#106 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd5e0) at ../Python/ceval.c:4372
#107 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#108 0x0000555555655c7f in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd730, func=<function at remote 0x7ffff4950230>) at ../Python/ceval.c:4437
#109 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd730) at ../Python/ceval.c:4372
#110 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#111 0x000055555564e525 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#112 0x000055555565676e in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd940, func=<function at remote 0x7ffff5ca47d0>) at ../Python/ceval.c:4447
#113 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd940) at ../Python/ceval.c:4372
#114 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#115 0x000055555564e525 in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#116 0x000055555564e2c9 in PyEval_EvalCode (co=<optimized out>, globals=<optimized out>, locals=<optimized out>) at ../Python/ceval.c:669
#117 0x000055555567de7f in run_mod.lto_priv () at ../Python/pythonrun.c:1376
#118 0x0000555555678e52 in PyRun_FileExFlags () at ../Python/pythonrun.c:1362
#119 0x000055555567899e in PyRun_SimpleFileExFlags () at ../Python/pythonrun.c:948
#120 0x0000555555629b81 in Py_Main () at ../Modules/main.c:640
#121 0x00007ffff6f1a2b1 in __libc_start_main (main=0x5555556294b0 <main>, argc=4, argv=0x7fffffffdd88, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdd78)
    at ../csu/libc-start.c:291
#122 0x00005555556293aa in _start ()

[1] https://bitbucket.org/pypy/pypy/commits/c501282f4438fe2675e6bfd9cc38374fa55d3da0
msg371145 - (view) Author: Zackery Spytz (ZackerySpytz) * (Python triager) Date: 2020-06-09 23:48
Python 2 is EOL, so I think this issue should be closed.
msg371149 - (view) Author: Ma Lin (malin) * Date: 2020-06-10 01:05
I suggest not to close this issue, this is an opportunity to investigate whether Python3 has this problem as well.
msg371170 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2020-06-10 07:35
I agree with Zachery that this issue should be closed. There has been no activity on it since it was opened three years ago and no indication that it has been an ongoing problem. I'm not even sure what the current state of using cPython 3 to build PyPy is. If someone can reliably reproduce a crash when compiling with a currently support Python 3 version, they can re-open this with appropriate supporting documentation.
History
Date User Action Args
2020-06-10 07:35:25ned.deilysetstatus: open -> closed

nosy: + ned.deily
messages: + msg371170

resolution: out of date
stage: resolved
2020-06-10 01:05:04malinsetnosy: + malin
messages: + msg371149
2020-06-09 23:48:28ZackerySpytzsetnosy: + ZackerySpytz
messages: + msg371145
2017-01-11 15:03:16gumblexcreate