[New-bugs-announce] [issue24319] Crash during "make coverage-report"
Skip Montanaro
report at bugs.python.org
Thu May 28 19:01:01 CEST 2015
New submission from Skip Montanaro:
While trying out some of the auxiliary make targets on an openSUSE
12.2 system, I got a segfault during the test phase of the
coverage-report target. Several Python processes were running as part
of the test when the crash occurred. The resulting crash causes the
rest of the test process(es) to hang. Ctl-C is required to get back to
a shell prompt.
Here's the traceback reported in the terminal window:
...
File "/home/skipm/3rdParty/python/cpython/Lib/json/scanner.py", line 38 in _scan_once
File "/home/skipm/3rdParty/python/cpython/Lib/json/decoder.py", line 185 in JSONObject
File "/home/skipm/3rdParty/python/cpython/Lib/json/scanner.py", line 38 in _scan_once
...
Traceback (most recent call last):
File "/home/skipm/3rdParty/python/cpython/Lib/runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "/home/skipm/3rdParty/python/cpython/Lib/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/skipm/3rdParty/python/cpython/Lib/test/__main__.py", line 3, in <module>
regrtest.main_in_temp_cwd()
File "/home/skipm/3rdParty/python/cpython/Lib/test/regrtest.py", line 1560, in main_in_temp_cwd
main()
File "/home/skipm/3rdParty/python/cpython/Lib/test/regrtest.py", line 738, in main
raise Exception("Child error on {}: {}".format(test, result[1]))
Exception: Child error on test_json: Exit code -11
^CException ignored in: <module 'threading' from '/home/skipm/3rdParty/python/cpython/Lib/threading.py'>
Traceback (most recent call last):
File "/home/skipm/3rdParty/python/cpython/Lib/threading.py", line 1297, in _shutdown
t.join()
File "/home/skipm/3rdParty/python/cpython/Lib/threading.py", line 1063, in join
self._wait_for_tstate_lock()
File "/home/skipm/3rdParty/python/cpython/Lib/threading.py", line 1079, in _wait_for_tstate_lock
elif lock.acquire(block, timeout):
KeyboardInterrupt
make: *** [coverage-report] Interrupt
I noticed that while it crashes reproducibly, it's not always in the
same place. Here's a traceback from a crash in test_exceptions.py:
...
File "/home/skipm/3rdParty/python/cpython/Lib/test/test_exceptions.py", line 476 in f
File "/home/skipm/3rdParty/python/cpython/Lib/test/test_exceptions.py", line 476 in f
File "/home/skipm/3rdParty/python/cpython/Lib/test/test_exceptions.py", line 476 in f
...
Traceback (most recent call last):
File "/home/skipm/3rdParty/python/cpython/Lib/runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "/home/skipm/3rdParty/python/cpython/Lib/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/skipm/3rdParty/python/cpython/Lib/test/__main__.py", line 3, in <module>
regrtest.main_in_temp_cwd()
File "/home/skipm/3rdParty/python/cpython/Lib/test/regrtest.py", line 1560, in main_in_temp_cwd
main()
File "/home/skipm/3rdParty/python/cpython/Lib/test/regrtest.py", line 738, in main
raise Exception("Child error on {}: {}".format(test, result[1]))
Exception: Child error on test_exceptions: Exit code -11
^CException ignored in: <module 'threading' from '/home/skipm/3rdParty/python/cpython/Lib/threading.py'>
Traceback (most recent call last):
File "/home/skipm/3rdParty/python/cpython/Lib/threading.py", line 1297, in _shutdown
t.join()
File "/home/skipm/3rdParty/python/cpython/Lib/threading.py", line 1063, in join
self._wait_for_tstate_lock()
File "/home/skipm/3rdParty/python/cpython/Lib/threading.py", line 1079, in _wait_for_tstate_lock
elif lock.acquire(block, timeout):
KeyboardInterrupt
I've attached the output of pgrep showing the Python processes which
were left running. Here's the stack trace from the core file:
# 0
raise () from /lib64/libc.so.6
# 1
abort () from /lib64/libc.so.6
# 2
Py_FatalError (msg=0x775528 "Py_EndInterpreter: not the last thread") at Python/pylifecycle.c:1374
# 3
Py_EndInterpreter (tstate=0x25b41c0) at Python/pylifecycle.c:826
# 4
run_in_subinterp (self=0x7f9dd8b9d9a8, args=0x7f9dd8b92e80) at /home/skipm/3rdParty/python/cpython/Modules/_testcapimodule.c:2627
# 5
PyCFunction_Call (func=0x7f9dd8babd38, args=0x7f9dd8b92e80, kwds=0x0) at Objects/methodobject.c:109
# 6
call_function (pp_stack=0x7fffc68bda98, oparg=1) at Python/ceval.c:4653
# 7
PyEval_EvalFrameEx (f=0x260ae08, throwflag=0) at Python/ceval.c:3198
# 8
_PyEval_EvalCodeWithName (_co=0x7f9dd8c5bc00, globals=0x7f9dd8c9ffc8, locals=0x7f9dd8c9ffc8, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at Python/ceval.c:3964
# 9
PyEval_EvalCodeEx (_co=0x7f9dd8c5bc00, globals=0x7f9dd8c9ffc8, locals=0x7f9dd8c9ffc8, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0) at Python/ceval.c:3985
#10
PyEval_EvalCode (co=0x7f9dd8c5bc00, globals=0x7f9dd8c9ffc8, locals=0x7f9dd8c9ffc8) at Python/ceval.c:777
#11
run_mod (mod=0x264dfb8, filename=0x7f9dd8c67eb0, globals=0x7f9dd8c9ffc8, locals=0x7f9dd8c9ffc8, flags=0x7fffc68bfe80, arena=0x263e470) at Python/pythonrun.c:970
#12
PyRun_StringFlags (str=0x7f9dd8c5c050 "if 1:\n", ' ' <repeats 12 times>, "import _testcapi\n\n", ' ' <repeats 12 times>, "_testcapi.run_in_subinterp('if 1:\\n", ' ' <repeats 12 times>, "import os\\n", ' ' <repeats 12 times>, "import threading\\n", ' ' <repeats 12 times>, "import time\\n\\n", ' ' <repeats 12 times>, "def f():\\n", ' ' <repeats 15 times>..., start=257, globals=0x7f9dd8c9ffc8, locals=0x7f9dd8c9ffc8, flags=0x7fffc68bfe80) at Python/pythonrun.c:894
#13
PyRun_SimpleStringFlags (command=0x7f9dd8c5c050 "if 1:\n", ' ' <repeats 12 times>, "import _testcapi\n\n", ' ' <repeats 12 times>, "_testcapi.run_in_subinterp('if 1:\\n", ' ' <repeats 12 times>, "import os\\n", ' ' <repeats 12 times>, "import threading\\n", ' ' <repeats 12 times>, "import time\\n\\n", ' ' <repeats 12 times>, "def f():\\n", ' ' <repeats 15 times>..., flags=0x7fffc68bfe80) at Python/pythonrun.c:421
#14
run_command (command=0x259ecc0 L"if 1:\n", ' ' <repeats 12 times>, "import _testcapi\n\n", ' ' <repeats 12 times>, "_testcapi.run_in_subinterp('if 1:\\n", ' ' <repeats 12 times>, "import os\\n", ' ' <repeats 12 times>, "import threading\\n", ' ' <repeats 12 times>, "import time\\n\\n", ' ' <repeats 12 times>, "def f():\\n", ' ' <repeats 15 times>..., cf=0x7fffc68bfe80) at Modules/main.c:279
#15
Py_Main (argc=6, argv=0x259e010) at Modules/main.c:706
#16
main (argc=6, argv=0x7fffc68c0098) at ./Programs/python.c:69
----------
files: running
messages: 244323
nosy: skip.montanaro
priority: normal
severity: normal
status: open
title: Crash during "make coverage-report"
type: crash
versions: Python 3.6
Added file: http://bugs.python.org/file39538/running
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue24319>
_______________________________________
More information about the New-bugs-announce
mailing list