[Python-apps-team] Bug#863451: veusz: Segmentation fault

Bernhard Übelacker bernhardu at mailbox.org
Sat May 27 17:38:12 UTC 2017


Hello,
not being the maintainer I just tried to reproduce the issue.

I received the segmentation fault, but unfortunately in some
"Interface wrapper code" "Generated by SIP", that seems also
not contained in the dbg package:


# coredumpctl gdb
(gdb) bt
#0  0x00000000 in ?? ()
#1  0xb3da30f0 in cast_RecordPaintDevice (ptr=0x81f04af8, targetType=0xb64eb0c0) at build/temp.linux-i686-2.7/siprecordpaintRecordPaintDevice.cpp:201
#2  0xb6e458a6 in sip_api_get_cpp_ptr (sw=0xafbb4c6c, td=0xb64eb0c0) at siplib.c:8571
#3  0xb6e46e35 in sip_api_convert_to_type (pyObj=<RecordPaintDevice at remote 0xafbb4c6c>, td=0xb64eb0c0, transferObj=0x0, flags=2, statep=0x0, iserrp=0xbfa79db8) at siplib.c:8756
...
#125 0x80171db6 in main (argc=2, argv=0xbfa7ca04) at ../Modules/python.c:20


Additionally I could not reproduce anymore when running with
local built packages "veusz veusz-helpers veusz-helpers-dbg".


As the last upload was already 2014, could it be "just" an ABI change
in one of the packages veusz depends on?
And in that regards could a binNMU be the solution?


Kind regards,
Bernhard
-------------- next part --------------
# apt install veusz veusz-helpers-dbg
# apt build-dep veusz


# coredumpctl gdb
...
[New LWP 16374]
[New LWP 16380]
[New LWP 16379]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/python /usr/bin/veusz'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00000000 in ?? ()
[Current thread is 1 (Thread 0xb7553d00 (LWP 16374))]
(gdb) set height 0
(gdb) set width 0

(gdb) bt
#0  0x00000000 in ?? ()
#1  0xb3da30f0 in cast_RecordPaintDevice (ptr=0x81f04af8, targetType=0xb64eb0c0) at build/temp.linux-i686-2.7/siprecordpaintRecordPaintDevice.cpp:201
#2  0xb6e458a6 in sip_api_get_cpp_ptr (sw=0xafbb4c6c, td=0xb64eb0c0) at siplib.c:8571
#3  0xb6e46e35 in sip_api_convert_to_type (pyObj=<RecordPaintDevice at remote 0xafbb4c6c>, td=0xb64eb0c0, transferObj=0x0, flags=2, statep=0x0, iserrp=0xbfa79db8) at siplib.c:8756
#4  0xb6e4936e in parsePass2 (self=0x0, selfarg=0, sipArgs=sipArgs at entry=(<RecordPaintDevice at remote 0xafbb4c6c>,), sipKwdArgs=<optimized out>, kwdlist=<optimized out>, fmt=0xb628fd50 "", va=0xbfa79e80 "") at siplib.c:5458
#5  0xb6e49a64 in parseKwdArgs (parseErrp=0xbfa79f18, sipArgs=(<RecordPaintDevice at remote 0xafbb4c6c>,), sipKwdArgs=0x0, kwdlist=0x0, unused=0x0, fmt=0xb628fd4e "J8", va_orig=0xbfa79e78 "\300\260N\266\230\236\247\277") at siplib.c:3467
#6  0xb6e49b74 in sip_api_parse_kwd_args (parseErrp=0xbfa79f18, sipArgs=(<RecordPaintDevice at remote 0xafbb4c6c>,), sipKwdArgs=0x0, kwdlist=0x0, unused=0x0, fmt=0xb628fd4e "J8") at siplib.c:3387
#7  0xb6030f5d in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtGui.i386-linux-gnu.so
#8  0xb6e4673b in sipSimpleWrapper_init (self=0xafbb4df4, args=(<RecordPaintDevice at remote 0xafbb4c6c>,), kwds=0x0) at siplib.c:9861
#9  0x8020d729 in wrap_init.lto_priv.1153 (kwds=0x0, wrapped=<optimized out>, args=(<RecordPaintDevice at remote 0xafbb4c6c>,), self=<Painter at remote 0xafbb4df4>) at ../Objects/typeobject.c:4862
#10 wrapper_call.lto_priv () at ../Objects/descrobject.c:1035
#11 0x80184d69 in PyObject_Call () at ../Objects/abstract.c:2547
#12 0x801a1370 in PyEval_CallObjectWithKeywords () at ../Python/ceval.c:4221
#13 0x802458c1 in wrapperdescr_call.lto_priv () at ../Objects/descrobject.c:343
#14 0x80184d69 in PyObject_Call () at ../Objects/abstract.c:2547
#15 0x8019ce11 in do_call (nk=<optimized out>, na=<optimized out>, pp_stack=0xbfa7a108, func=<wrapper_descriptor at remote 0xb729d25c>) at ../Python/ceval.c:4569
#16 call_function (oparg=<optimized out>, pp_stack=0xbfa7a108) at ../Python/ceval.c:4374
#17 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#18 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#19 0x801b1b62 in function_call.lto_priv () at ../Objects/funcobject.c:523
#20 0x80184d69 in PyObject_Call () at ../Objects/abstract.c:2547
#21 0x801c83f5 in instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
#22 0x80184d69 in PyObject_Call () at ../Objects/abstract.c:2547
#23 0x801c7bbe in slot_tp_init.lto_priv () at ../Objects/typeobject.c:5806
#24 0x8018a287 in type_call.lto_priv () at ../Objects/typeobject.c:765
#25 0x80184d69 in PyObject_Call () at ../Objects/abstract.c:2547
#26 0x8019ce11 in do_call (nk=<optimized out>, na=<optimized out>, pp_stack=0xbfa7a638, func=<PyQt4.QtCore.pyqtWrapperType at remote 0xb4d26b9c>) at ../Python/ceval.c:4569
#27 call_function (oparg=<optimized out>, pp_stack=0xbfa7a638) at ../Python/ceval.c:4374
#28 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#29 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#30 0x8019cefb in fast_function (nk=<optimized out>, na=3, n=<optimized out>, pp_stack=0xbfa7a788, func=<function at remote 0xb0916454>) at ../Python/ceval.c:4447
#31 call_function (oparg=<optimized out>, pp_stack=0xbfa7a788) at ../Python/ceval.c:4372
#32 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#33 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#34 0x8019d51f in fast_function (nk=<optimized out>, na=3, n=<optimized out>, pp_stack=0xbfa7a8d8, func=<function at remote 0xb06fb6f4>) at ../Python/ceval.c:4447
#35 call_function (oparg=<optimized out>, pp_stack=0xbfa7a8d8) at ../Python/ceval.c:4372
#36 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#37 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#38 0x8019d51f in fast_function (nk=<optimized out>, na=3, n=<optimized out>, pp_stack=0xbfa7aa28, func=<function at remote 0xb0916ca4>) at ../Python/ceval.c:4447
#39 call_function (oparg=<optimized out>, pp_stack=0xbfa7aa28) at ../Python/ceval.c:4372
#40 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#41 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#42 0x8019d51f in fast_function (nk=<optimized out>, na=1, n=<optimized out>, pp_stack=0xbfa7ab78, func=<function at remote 0xb04df924>) at ../Python/ceval.c:4447
#43 call_function (oparg=<optimized out>, pp_stack=0xbfa7ab78) at ../Python/ceval.c:4372
#44 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#45 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#46 0x801b1b62 in function_call.lto_priv () at ../Objects/funcobject.c:523
#47 0x80184d69 in PyObject_Call () at ../Objects/abstract.c:2547
#48 0x801c83f5 in instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
#49 0x80184d69 in PyObject_Call () at ../Objects/abstract.c:2547
#50 0x801a1370 in PyEval_CallObjectWithKeywords () at ../Python/ceval.c:4221
#51 0xb6e4f684 in sip_api_invoke_slot_ex (slot=0xbfa7b074, sigargs=(1,), no_receiver_check=<optimized out>) at ./siplib/qtlib.c:222
#52 0xb6bbb3ae in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtCore.i386-linux-gnu.so
#53 0xb6bbf3d5 in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtCore.i386-linux-gnu.so
#54 0xb6bbf5fa in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtCore.i386-linux-gnu.so
#55 0xb6122591 in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtGui.i386-linux-gnu.so
#56 0xb68d1ae2 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#57 0xb68d22bc in QMetaObject::activate(QObject*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#58 0xb68d22f0 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#59 0xb6bc0bbd in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtCore.i386-linux-gnu.so
#60 0xb6bb85e9 in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtCore.i386-linux-gnu.so
#61 0x801977e1 in call_function (oparg=<optimized out>, pp_stack=0xbfa7b318) at ../Python/ceval.c:4352
#62 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#63 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#64 0x8019cefb in fast_function (nk=<optimized out>, na=1, n=<optimized out>, pp_stack=0xbfa7b468, func=<function at remote 0xb0916bc4>) at ../Python/ceval.c:4447
#65 call_function (oparg=<optimized out>, pp_stack=0xbfa7b468) at ../Python/ceval.c:4372
#66 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#67 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#68 0x8019d51f in fast_function (nk=<optimized out>, na=1, n=<optimized out>, pp_stack=0xbfa7b5b8, func=<function at remote 0xb091672c>) at ../Python/ceval.c:4447
#69 call_function (oparg=<optimized out>, pp_stack=0xbfa7b5b8) at ../Python/ceval.c:4372
#70 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#71 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#72 0x8019d51f in fast_function (nk=<optimized out>, na=1, n=<optimized out>, pp_stack=0xbfa7b708, func=<function at remote 0xb04b6bc4>) at ../Python/ceval.c:4447
#73 call_function (oparg=<optimized out>, pp_stack=0xbfa7b708) at ../Python/ceval.c:4372
#74 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#75 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#76 0x8019cefb in fast_function (nk=<optimized out>, na=1, n=<optimized out>, pp_stack=0xbfa7b858, func=<function at remote 0xb04b6a74>) at ../Python/ceval.c:4447
#77 call_function (oparg=<optimized out>, pp_stack=0xbfa7b858) at ../Python/ceval.c:4372
#78 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#79 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#80 0x8019d51f in fast_function (nk=<optimized out>, na=2, n=<optimized out>, pp_stack=0xbfa7b9a8, func=<function at remote 0xb3cfbb1c>) at ../Python/ceval.c:4447
#81 call_function (oparg=<optimized out>, pp_stack=0xbfa7b9a8) at ../Python/ceval.c:4372
#82 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#83 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#84 0x801b1b62 in function_call.lto_priv () at ../Objects/funcobject.c:523
#85 0x80184d69 in PyObject_Call () at ../Objects/abstract.c:2547
#86 0x801c83f5 in instancemethod_call.lto_priv () at ../Objects/classobject.c:2602
#87 0x80184d69 in PyObject_Call () at ../Objects/abstract.c:2547
#88 0x801a1370 in PyEval_CallObjectWithKeywords () at ../Python/ceval.c:4221
#89 0xb6e4f684 in sip_api_invoke_slot_ex (slot=0x81d1b6ac, sigargs=(), no_receiver_check=<optimized out>) at ./siplib/qtlib.c:222
#90 0xb6bbb3ae in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtCore.i386-linux-gnu.so
#91 0xb6bbb772 in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtCore.i386-linux-gnu.so
#92 0xb6bbc484 in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtCore.i386-linux-gnu.so
#93 0xb68cf581 in QMetaCallEvent::placeMetaCall(QObject*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#94 0xb68d7ebc in QObject::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#95 0xb534b50a in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#96 0xb5353b11 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#97 0xb62644cb in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtGui.i386-linux-gnu.so
#98 0xb68bb08a in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#99 0xb68bf076 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#100 0xb68bf3a5 in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#101 0xb68f07f3 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#102 0xb66444e9 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#103 0xb6644789 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#104 0xb6644854 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#105 0xb68f0955 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#106 0xb540e566 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#107 0xb68b96cd in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#108 0xb68b9a79 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#109 0xb68c0460 in QCoreApplication::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#110 0xb5349954 in QApplication::exec() () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#111 0xb6214fdc in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtGui.i386-linux-gnu.so
#112 0x801977e1 in call_function (oparg=<optimized out>, pp_stack=0xbfa7c558) at ../Python/ceval.c:4352
#113 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#114 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#115 0x8019d51f in fast_function (nk=<optimized out>, na=0, n=<optimized out>, pp_stack=0xbfa7c6a8, func=<function at remote 0xb3cfbc34>) at ../Python/ceval.c:4447
#116 call_function (oparg=<optimized out>, pp_stack=0xbfa7c6a8) at ../Python/ceval.c:4372
#117 PyEval_EvalFrameEx () at ../Python/ceval.c:2989
#118 0x80195acb in PyEval_EvalCodeEx () at ../Python/ceval.c:3584
#119 0x801958be in PyEval_EvalCode (co=0xb74b1e30, globals={'veusz': <module at remote 0xb74cc8fc>, '__builtins__': <module at remote 0xb751311c>, '__file__': '/usr/bin/veusz', '__package__': None, '__name__': '__main__', '__doc__': None}, locals={'veusz': <module at remote 0xb74cc8fc>, '__builtins__': <module at remote 0xb751311c>, '__file__': '/usr/bin/veusz', '__package__': None, '__name__': '__main__', '__doc__': None}) at ../Python/ceval.c:669
#120 0x801c5468 in run_mod.lto_priv () at ../Python/pythonrun.c:1376
#121 0x801bfd05 in PyRun_FileExFlags () at ../Python/pythonrun.c:1362
#122 0x801bf1cd in PyRun_SimpleFileExFlags () at ../Python/pythonrun.c:948
#123 0x801be414 in PyRun_AnyFileExFlags () at ../Python/pythonrun.c:752
#124 0x801724c8 in Py_Main () at ../Modules/main.c:640
#125 0x80171db6 in main (argc=2, argv=0xbfa7ca04) at ../Modules/python.c:20

(gdb) py-bt
Traceback (most recent call first):
  File "/usr/lib/python2.7/dist-packages/veusz/document/painthelper.py", line 56, in __init__
    qt4.QPainter.__init__(self, outdev)
  File "/usr/lib/python2.7/dist-packages/veusz/document/painthelper.py", line 155, in painter
    p = Painter(self, widget, s.record)
  File "/usr/lib/python2.7/dist-packages/veusz/widgets/root.py", line 120, in draw
    painter = painthelper.painter(self, posn)
  File "/usr/lib/python2.7/dist-packages/veusz/document/doc.py", line 432, in paintTo
    self.basewidget.draw(painthelper, page)
  File "/usr/lib/python2.7/dist-packages/veusz/windows/plotwindow.py", line 920, in checkPlotUpdate
    self.document.paintTo(phelper, self.pagenumber)
  File "/usr/lib/python2.7/dist-packages/veusz/windows/plotwindow.py", line 892, in slotDocModified
    self.checkPlotUpdate()
  File "/usr/lib/python2.7/dist-packages/veusz/document/doc.py", line 387, in setModified
    self.signalModified.emit(ismodified)
  File "/usr/lib/python2.7/dist-packages/veusz/document/doc.py", line 172, in makeDefaultDoc
    self.setModified()
  File "/usr/lib/python2.7/dist-packages/veusz/windows/mainwindow.py", line 283, in setupDefaultDoc
    self.document.makeDefaultDoc()
  File "/usr/lib/python2.7/dist-packages/veusz/windows/mainwindow.py", line 113, in CreateWindow
    win.setupDefaultDoc()
  File "/usr/lib/python2.7/dist-packages/veusz/veusz_main.py", line 198, in openMainWindow
    MainWindow.CreateWindow()
  File "/usr/lib/python2.7/dist-packages/veusz/veusz_main.py", line 269, in slotStartApplication
    self.openMainWindow(args)
  File "/usr/lib/python2.7/dist-packages/veusz/veusz_main.py", line 299, in run
    app.exec_()
  File "/usr/bin/veusz", line 24, in <module>
    veusz.veusz_main.run()


More information about the Python-apps-team mailing list