PySide Bugzilla Closed for New Bugs

PySide is now a Qt Add-on and uses the Qt Project's JIRA Bug Tracker instead of this Bugzilla instance. This Bugzilla is left for reference purposes.

Bug 468 - Segfaults, segfaults and more segfaults
: Segfaults, segfaults and more segfaults
Status: CLOSED FIXED
Product: PySide
Classification: Unclassified
Component: PySide
: 0.4.2
: All Linux
: P2 critical
Assigned To: renato filho
:
:
:
  Show dependency treegraph
 
Reported: 2010-11-12 08:29 EET by Chris Morgan
Modified: 2010-12-20 11:26 EET (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Morgan 2010-11-12 08:29:41 EET
I tried running various examples in the pyside-examples repository with PySide
0.4.2 on Ubuntu 10.10, 64-bit (from the PPA), and I'm getting no end of
segmentation faults.

Here's one backtrace from starting to drag an icon in
draganddrop/draggableicons/draggableicons.py:

(gdb) run
Starting program: /usr/bin/python draganddrop/draggableicons/draggableicons.py
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffee66a710 (LWP 15576)]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5948a1d in ?? () from /usr/lib/libshiboken-py26.so.0.5
(gdb) bt
#0  0x00007ffff5948a1d in ?? () from /usr/lib/libshiboken-py26.so.0.5
#1  0x00007ffff5948a74 in ?? () from /usr/lib/libshiboken-py26.so.0.5
#2  0x00007ffff594a85b in Shiboken::deallocWrapper(_object*) ()
   from /usr/lib/libshiboken-py26.so.0.5
#3  0x0000000000467e2d in ?? ()
#4  0x00007ffff3a19187 in ?? ()
   from /usr/lib/pymodules/python2.6/PySide/QtGui.so
#5  0x00007ffff2bc2fea in QWidget::event(QEvent*) ()
   from /usr/lib/libQtGui.so.4
#6  0x00007ffff2f8e5e6 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#7  0x00007ffff3a1488b in ?? ()
   from /usr/lib/pymodules/python2.6/PySide/QtGui.so
#8  0x00007ffff2b6cfdc in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /usr/lib/libQtGui.so.4
#9  0x00007ffff2b72d82 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/libQtGui.so.4
#10 0x00007ffff38acc3b in ?? ()
   from /usr/lib/pymodules/python2.6/PySide/QtGui.so
#11 0x00007ffff5610cdc in QCoreApplication::notifyInternal(QObject*, QEvent*)
    () from /usr/lib/libQtCore.so.4
#12 0x00007ffff2c02665 in ?? () from /usr/lib/libQtGui.so.4
#13 0x00007ffff2c03c5d in ?? () from /usr/lib/libQtGui.so.4
#14 0x00007ffff2c06fb3 in ?? () from /usr/lib/libQtGui.so.4
#15 0x00007ffff2b82f78 in QDrag::exec(QFlags<Qt::DropAction>, Qt::DropAction)
    () from /usr/lib/libQtGui.so.4
#16 0x00007ffff39a7351 in ?? ()
   from /usr/lib/pymodules/python2.6/PySide/QtGui.so
#17 0x00000000004a51ae in PyEval_EvalFrameEx ()
#18 0x00000000004a6bd1 in PyEval_EvalCodeEx ()
#19 0x0000000000535b50 in ?? ()
#20 0x000000000041c9d7 in PyObject_Call ()
#21 0x000000000042570f in ?? ()
#22 0x000000000041c9d7 in PyObject_Call ()
#23 0x00007ffff3a15be2 in ?? ()
   from /usr/lib/pymodules/python2.6/PySide/QtGui.so
#24 0x00007ffff2bc3035 in QWidget::event(QEvent*) ()
   from /usr/lib/libQtGui.so.4
#25 0x00007ffff2f8e5e6 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#26 0x00007ffff3a1488b in ?? ()
   from /usr/lib/pymodules/python2.6/PySide/QtGui.so
#27 0x00007ffff2b6cfdc in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /usr/lib/libQtGui.so.4
#28 0x00007ffff2b7330e in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/libQtGui.so.4
#29 0x00007ffff38acc3b in ?? ()
   from /usr/lib/pymodules/python2.6/PySide/QtGui.so
#30 0x00007ffff5610cdc in QCoreApplication::notifyInternal(QObject*, QEvent*)
    () from /usr/lib/libQtCore.so.4
#31 0x00007ffff2b71dbe in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /usr/lib/libQtGui.so.4
#32 0x00007ffff2bf5345 in ?? () from /usr/lib/libQtGui.so.4
#33 0x00007ffff2bf3c5c in QApplication::x11ProcessEvent(_XEvent*) ()
   from /usr/lib/libQtGui.so.4
#34 0x00007ffff2c200e2 in ?? () from /usr/lib/libQtGui.so.4
#35 0x00007ffff48dd342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#36 0x00007ffff48e12a8 in ?? () from /lib/libglib-2.0.so.0
#37 0x00007ffff48e145c in g_main_context_iteration ()
   from /lib/libglib-2.0.so.0
#38 0x00007ffff563d193 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQtCore.so.4
#39 0x00007ffff2c1fa4e in ?? () from /usr/lib/libQtGui.so.4
#40 0x00007ffff560fa02 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#41 0x00007ffff560fdec in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#42 0x00007ffff5613ebb in QCoreApplication::exec() ()
   from /usr/lib/libQtCore.so.4
#43 0x00007ffff38aad15 in ?? ()
   from /usr/lib/pymodules/python2.6/PySide/QtGui.so
#44 0x00000000004a52e8 in PyEval_EvalFrameEx ()
#45 0x00000000004a6bd1 in PyEval_EvalCodeEx ()
#46 0x00000000004a6ca2 in PyEval_EvalCode ()
#47 0x00000000004c702e in PyRun_FileExFlags ()
#48 0x00000000004c7244 in PyRun_SimpleFileExFlags ()
#49 0x00000000004180c1 in Py_Main ()
#50 0x00007ffff69dad8e in __libc_start_main () from /lib/libc.so.6
#51 0x00000000004172c9 in _start ()
(gdb) quit

Here's another, from pressing the back button in the thing you drag up from the
bottom in hyperui/hyperui:

#0  0x000000000042167b in PyObject_IsInstance ()
#1  0x0000000000421840 in PySequence_Check ()
#2  0x00007ffff5948c32 in ?? () from /usr/lib/libshiboken-py26.so.0.5
#3  0x00007ffff594d346 in Shiboken::BindingManager::invalidateWrapper(_object*)
    () from /usr/lib/libshiboken-py26.so.0.5
#4  0x00007ffff594d936 in Shiboken::BindingManager::~BindingManager() ()
   from /usr/lib/libshiboken-py26.so.0.5
#5  0x00007ffff69f54f2 in exit () from /lib/libc.so.6
#6  0x00007ffff69dad95 in __libc_start_main () from /lib/libc.so.6
#7  0x00000000004172c9 in _start ()


Seriously, I think someone who knows what to do should just go through all
those examples and run them and fix any nasty segfaults that pop up. I'd love
to be able to use PySide entirely interchangeably with PyQt4 (I have a nice
simple proxy package to select either), but when I get segfaults all over the
place it's not practical (admittedly, the QValidator segfault is the only
feature I currently use which has actually stopped me so far and that was fixed
this morning).


It may be that some or most or (I'd like this) all these examples are fixed
since 0.4.2. 0.4.1 was on 14/9, 0.4.2 was on 13/10, isn't it time for 0.4.3 now
that it's 12/11? :-)
Comment 1 Matti Airas 2010-11-12 12:18:45 EET
Hi Chris,

The examples are not working due to regressions in the code (that is, they were
working at least a short while ago). I agree with you that this is not
acceptable - but that's the way things sometimes go, no matter how hard we try.
:-(

But thanks for reporting the bugs in any case - that'll ensure they'll be fixed
by the next release. And about when that's going to happen: that should happen
late next week or early in the week after that. Personally, I'm insisting on
that we should have a release after each of our scrum sprint, that is, every
two weeks. But let's see how it goes. :-)

ma.
Comment 2 Matti Airas 2010-11-23 06:08:43 EET
The examples used to work, so the segfaults are due to regressions that must be
fixed. This is being worked on right now and will be fixed before the next
release.
Comment 3 renato filho 2010-11-26 18:24:07 EET
Before the beta1 release we test all examples and created separated bug for
each problem found. 

Then I will close this bug, because the problems was reported in the bugs
bellow.

#505, #504, #502, #500
Comment 4 Hugo Parente Lima 2010-12-20 11:26:07 EET
Closign bugs after release of 1.0.0 beta2.