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 <rep...@bugs.python.org>
<http://bugs.python.org/issue24319>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to