【发布时间】:2014-10-09 21:56:05
【问题描述】:
当我运行 mod_wsgi 应用程序时,我得到了 Python 的段错误。我获得了 Python 的调试符号,但我不知道如何获得 Debian 7 的 Python 源代码。当我执行 apt-get source python 时,我没有获得实际的 Python 解释器源文件。
首先,我在 mod_wsgi 代码中遇到了崩溃。但是在我运行 apt upgrade 之后,我开始使用 json 模块出现段错误。然而,这两个段错误都发生在 PyObject_Malloc 中 obmalloc.c 的第 788 行。现在,如果我能找到正确的源代码,我就能更好地弄清楚发生了什么!
这是回溯的前几帧:
#0 PyObject_Malloc (nbytes=46) at ../Objects/obmalloc.c:788
#1 0x00007fffef3db145 in PyString_FromStringAndSize.part.17 (size=<optimized out>, str=0x0) at ../Objects/stringobject.c:88
#2 PyString_FromStringAndSize (str=str@entry=0x0, size=size@entry=9) at ../Objects/stringobject.c:57
#3 0x00007fffed57b644 in ascii_escape_str.2660 (pystr=pystr@entry='message') at /home/jmm/py/python2.7-2.7.3/Modules/_json.c:302
#4 0x00007fffed57d25e in py_encode_basestring_ascii (pystr='message', self=0x0) at /home/jmm/py/python2.7-2.7.3/Modules/_json.c:827
#5 encoder_encode_string.isra.4.part.5 (obj='message') at /home/jmm/py/python2.7-2.7.3/Modules/_json.c:1962
#6 encoder_encode_string.isra.4 (obj='message') at /home/jmm/py/python2.7-2.7.3/Modules/_json.c:1977
#7 encoder_listencode_dict (indent_level=<optimized out>, dct={'message': 'Invalid params', 'code': -32602}, rval=
['{', '"jsonrpc"', ': ', '"2.0"', ', ', '"id"', ': ', '1', ', ', '"error"', ': ', '{'], s=0x555555d88758) at /home/jmm/py/python2.7-2.7.3/Modules/_json.c:2170
#8 encoder_listencode_obj.part.10.2731 (s=s@entry=0x555555d88758, rval=rval@entry=['{', '"jsonrpc"', ': ', '"2.0"', ', ', '"id"', ': ', '1', ', ', '"error"', ': ', '{'], obj=obj@entry=
{'message': 'Invalid params', 'code': -32602}, indent_level=indent_level@entry=0) at /home/jmm/py/python2.7-2.7.3/Modules/_json.c:2018
【问题讨论】:
标签: python python-2.7 segmentation-fault debian mod-wsgi