关闭python应用程序的Segfault

时间:2014-09-03 07:28:27

标签: python python-2.7 gdb segmentation-fault

当我关闭我的应用程序时,我遇到了分段错误。

[1]+  Segmentation fault      (core dumped)

我通过gdb运行应用程序并获得了跟踪回溯。

gdb -ex r --args python my_app

Reading symbols from /usr/bin/python2.7...(no debugging symbols found)...done.
Starting program: /usr/bin/python2.7 my_app
[Thread debugging using libthread_db enabled]   
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe37e1700 (LWP 63735)]
[New Thread 0x7fffe2fe0700 (LWP 63736)]
[Thread 0x7fffe37e1700 (LWP 63735) exited]
[Thread 0x7fffe2fe0700 (LWP 63736) exited]

Program received signal SIGSEGV, Segmentation fault.
0x0000000d00000002 in ?? ()

回溯:

    (gdb) bt
#0  0x0000000d00000002 in ?? ()
#1  0x00007fffef153bce in PySide::SignalManager::clear() ()
   from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.2
#2  0x00007fffef160f95 in PySide::destroyQCoreApplication() ()
   from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.2
#3  0x00007fffef161981 in PySide::runCleanupFunctions() ()
   from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.2
#4  0x00007fffef4cdcc5 in ?? ()
   from /usr/lib/python2.7/dist-packages/PySide/QtCore.so
#5  0x000000000052f936 in ext_do_call (nk=<optimized out>, 
    na=<optimized out>, flags=<optimized out>, 
    pp_stack=0x7fffffffdb90, 
    func=<built-in function __moduleShutdown>)
    at ../Python/ceval.c:4330
#6  PyEval_EvalFrameEx (
    f=f@entry=Frame 0x1c6d3e0, for file /usr/lib/python2.7/atexit.py, line 24, in _run_exitfuncs (exc_info=None, func=<built-in function __moduleShutdown>, targs=(), kargs={}), 
    throwflag=throwflag@entry=0) at ../Python/ceval.c:2705
#7  0x000000000056d0aa in PyEval_EvalCodeEx (
    closure=<optimized out>, defcount=<optimized out>, 
    defs=0x0, kwcount=<optimized out>, kws=<optimized out>, 
---Type <return> to continue, or q <return> to quit---return
    argcount=29807584, args=<optimized out>, locals=0x0, 
    globals=<optimized out>, co=<optimized out>)
    at ../Python/ceval.c:3252
#8  function_call (func=<optimized out>, arg=<optimized out>, 
    kw=<optimized out>) at ../Objects/funcobject.c:526
#9  0x00000000004da29f in PyObject_Call (kw=<optimized out>, 
    arg=(), func=<function at remote 0x7ffff20f59b0>)
    at ../Objects/abstract.c:2529
#10 PyEval_CallObjectWithKeywords (
    func=<function at remote 0x7ffff20f59b0>, arg=(), 
    kw=<optimized out>) at ../Python/ceval.c:3889
#11 0x000000000042fa19 in call_sys_exitfunc ()
    at ../Python/pythonrun.c:1750
#12 Py_Finalize () at ../Python/pythonrun.c:424
#13 0x000000000042fb7c in Py_Exit (sts=sts@entry=0)
    at ../Python/pythonrun.c:1777
#14 0x000000000042fcb9 in handle_system_exit ()
    at ../Python/pythonrun.c:1151
#15 0x000000000042ec32 in PyErr_PrintEx (set_sys_last_vars=1)
    at ../Python/pythonrun.c:1161
#16 0x000000000042f042 in RunModule.48482 (
    module=module@entry=0x5cf692 "__main__", 
---Type <return> to continue, or q <return> to quit---info sharedlibrary
    set_argv0=set_argv0@entry=0) at ../Modules/main.c:194
#17 0x000000000046aa09 in RunMainFromImporter (
    filename=0x7fffffffe35f "dcpp") at ../Modules/main.c:223
#18 Py_Main (argc=<optimized out>, argv=0x7fffffffdfd8)
    at ../Modules/main.c:601
#19 0x00007ffff7817ec5 in __libc_start_main (main=
    0x46ac3f <main>, argc=2, argv=0x7fffffffdfd8, 
    init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fffffffdfc8)
    at libc-start.c:287
#20 0x000000000057497e in _start ()


(gdb) info sharedlibrary
From                To                  Syms Read   Shared Object Library
0x00007ffff7ddaae0  0x00007ffff7df54e0  Yes         /lib64/ld-linux-x86-64.so.2
0x00007ffff7bc19f0  0x00007ffff7bce391  Yes         /lib/x86_64-linux-gnu/libpthread.so.0
0x00007ffff78154a0  0x00007ffff795b413  Yes         /lib/x86_64-linux-gnu/libc.so.6
0x00007ffff75f2ed0  0x00007ffff75f39ce  Yes         /lib/x86_64-linux-gnu/libdl.so.2
0x00007ffff73eff10  0x00007ffff73f0804  Yes         /lib/x86_64-linux-gnu/libutil.so.1
0x00007ffff71d7e00  0x00007ffff71e7bf8  Yes (*)     /lib/x86_64-linux-gnu/libz.so.1
0x00007ffff6ed5610  0x00007ffff6f441b6  Yes         /lib/x86_64-linux-gnu/libm.so.6
0x00007ffff6396a60  0x00007ffff63a4bcc  Yes         /usr/lib/python2.7/lib-dynload/datetime.x86_64-linux-gnu.so
0x00007ffff605f6c0  0x00007ffff6142cd8  Yes (*)     /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so
0x00007ffff5deb770  0x00007ffff5e1d9dc  Yes (*)     /usr/lib/python2.7/dist-packages/numpy/core/umath.so

(gdb) py-bt
#6 Frame 0x7fffe86d3620, for file /usr/lib/python2.7/atexit.py, line 24, in _run_exitfuncs (exc_info=None, func=<built-in function __moduleShutdown>, targs=(), kargs={})
    func(*targs, **kargs)

这里有什么错误以及如何纠正错误?

这是python 2.7的bug吗?

0 个答案:

没有答案