[New-bugs-announce] [issue22338] test_json crash on memory allocation failure

STINNER Victor report at bugs.python.org
Fri Sep 5 01:27:17 CEST 2014


New submission from STINNER Victor:

Using pyfailmalloc, I'm able to reproduce the crash seen on a buildbot.

Attached patch fixes two bugs in error handlers.

http://buildbot.python.org/all/builders/AMD64%20OpenIndiana%203.x/builds/8557/steps/test/logs/stdio

[191/390] test_urllib2net
Fatal Python error: Segmentation fault

Current thread 0x0000000000000001 (most recent call first):
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line[192/390] test_json
 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 420 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 430 in _iterencode
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/json/encoder.py", line 317 in _iterencode_list
  ...
Traceback (most recent call last):
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/runpy.py", line 170, in _run_module_as_main
    "__main__", mod_spec)
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/test/__main__.py", line 3, in <module>
    regrtest.main_in_temp_cwd()
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/test/regrtest.py", line 1564, in main_in_temp_cwd
    main()
  File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/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
make: *** [buildbottest] Error 1
program finished with exit code 2

----------
files: json.patch
keywords: patch
messages: 226390
nosy: haypo
priority: normal
severity: normal
status: open
title: test_json crash on memory allocation failure
Added file: http://bugs.python.org/file36542/json.patch

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue22338>
_______________________________________


More information about the New-bugs-announce mailing list