pyside / PySide

ATTENTION: This project is deprecated, please refer to PySide2
https://wiki.qt.io/PySide2
GNU Lesser General Public License v2.1
291 stars 66 forks source link

Intermittent segmentation fault #135

Closed astrofrog closed 8 years ago

astrofrog commented 8 years ago

For a package I am working on, we've found that on Travis, using PySide instead of PyQt4 will occasionally lead to Segmentation faults when the Python interpreter exits. I haven't managed to produce a minimal failing example that always fails, but I did manage to get hold of the traceback during one of the segfaults:

#0  0x0000000d00000002 in ?? ()
#1  0x00007fffe490a102 in PySide::SignalManager::SignalManagerPrivate::~SignalManagerPrivate() () from /root/miniconda/envs/test/lib/python2.7/site-packages/PySide/../../../libpyside-python2.7.so.1.2
#2  0x00007fffe4907f86 in PySide::SignalManager::clear() () from /root/miniconda/envs/test/lib/python2.7/site-packages/PySide/../../../libpyside-python2.7.so.1.2
#3  0x00007fffe4917000 in PySide::destroyQCoreApplication() () from /root/miniconda/envs/test/lib/python2.7/site-packages/PySide/../../../libpyside-python2.7.so.1.2
#4  0x00007fffe49171c5 in PySide::runCleanupFunctions() () from /root/miniconda/envs/test/lib/python2.7/site-packages/PySide/../../../libpyside-python2.7.so.1.2
#5  0x00007fffe4c92b1d in SbkQtCoreModule___moduleShutdown(_object*) () from /root/miniconda/envs/test/lib/python2.7/site-packages/PySide/QtCore.so
#6  0x00007ffff7aef37f in ext_do_call (nk=-134557616, na=<optimized out>, flags=<optimized out>, pp_stack=0x7fffffffdfc8, func=0x7fffe5097320) at Python/ceval.c:4345
#7  PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2720
#8  0x00007ffff7af0dbe in PyEval_EvalCodeEx (co=0x7ffff574a030, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:3267
#9  0x00007ffff7a6e891 in function_call (func=0x7ffff5740848, arg=0x7ffff7fad050, kw=0x0) at Objects/funcobject.c:526
#10 0x00007ffff7a3f333 in PyObject_Call (func=0x7ffff5740848, arg=<optimized out>, kw=<optimized out>) at Objects/abstract.c:2529
#11 0x00007ffff7ae8973 in PyEval_CallObjectWithKeywords (func=0x7ffff5740848, arg=0x7ffff7fad050, kw=<optimized out>) at Python/ceval.c:3904
#12 0x00007ffff7b0feea in call_sys_exitfunc () at Python/pythonrun.c:1751
#13 Py_Finalize () at Python/pythonrun.c:424
#14 0x00007ffff7b10088 in Py_Exit (sts=0) at Python/pythonrun.c:1778
#15 0x00007ffff7b101d1 in handle_system_exit () at Python/pythonrun.c:1152
#16 0x00007ffff7b1045d in PyErr_PrintEx (set_sys_last_vars=1) at Python/pythonrun.c:1162
#17 0x00007ffff7b1112e in PyRun_SimpleFileExFlags (fp=<optimized out>, filename=<optimized out>, closeit=<optimized out>, flags=0x7fffffffe400) at Python/pythonrun.c:953
#18 0x00007ffff7b268f4 in Py_Main (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:645
#19 0x00007ffff6d3a76d in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#20 0x0000000000400649 in _start ()

Do you have any idea what could be causing this, and how I might further investigate what is going on?

techtonik commented 8 years ago

The first step is to get all versions right.

astrofrog commented 8 years ago

I'm going to close this for now and will re-open if I can reproduce in a more consistent way.