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

Reply via email to