[Kde-bindings] qtruby GC issues

David Palacio dpalacio at uninorte.edu.co
Thu Jun 25 00:59:39 UTC 2009


I saw the commit for the GC object marking and did some tests. One is from the 
isoHunt plasmoid, running in plasmoidviewer. Took some time to make it crash, 
as it did not do it by doing some searches. Instead, it crashed when it 
recovered window focus a little later.

Application: Visor de componentes de plasma (plasmoidviewer), signal: 
Segmentation fault
[KCrash Handler]
#5  QGraphicsItem::childItems (this=0x26b7b80) at 
../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:121
#6  0x00007feef583f9d5 in mark_qgraphicsitem_children (item=<value optimized 
out>) at /home/kde/src/KDE/kdebindings/ruby/qtruby/src/handlers.cpp:130
#7  0x00007feef5866b3a in smokeruby_mark (p=<value optimized out>) at 
/home/kde/src/KDE/kdebindings/ruby/qtruby/src/handlers.cpp:334
#8  0x00007feef5f6f69f in mark_locations_array (x=0x7fff1999c498, n=1746) at 
gc.c:684
#9  0x00007feef5f6ff47 in garbage_collect () at gc.c:1420
#10 0x00007feef5f7099f in rb_newobj () at gc.c:436
#11 0x00007feef5f5ae3e in rb_call0 (klass=140664302513840, 
recv=140664302515600, id=16417, oid=16417, argc=2, argv=0x7fff1999c630, 
body=0x7feef5caed38, flags=<value optimized out>) at eval.c:5950
#12 0x00007feef5f5b82a in rb_call (klass=140664302513840, 
recv=140664302515600, mid=16417, argc=2, argv=0x7fff1999c630, scope=1, self=6) 
at eval.c:6151
#13 0x00007feef5f5c5b5 in vafuncall (recv=140664302515600, mid=16417, 
n=260815040, ar=<value optimized out>) at eval.c:6228
#14 0x00007feef5f5c855 in rb_funcall (recv=140733622893920, mid=40598400, 
n=-178358864) at eval.c:6245
#15 0x00007feef5f5b6c2 in rb_call0 (klass=140664264767720, 
recv=140664264615280, id=15769, oid=15769, argc=0, argv=0x7fff1999d1e0, 
body=0x7feef388b078, flags=<value optimized out>) at eval.c:5904
#16 0x00007feef5f5b82a in rb_call (klass=140664264767720, 
recv=140664264615280, mid=15769, argc=0, argv=0x7fff1999d1e0, scope=1, self=6) 
at eval.c:6151
#17 0x00007feef5f5c1f3 in rb_funcall2 (recv=<value optimized out>, mid=<value 
optimized out>, argc=<value optimized out>, argv=<value optimized out>) at 
eval.c:6287
#18 0x00007feef5f518f1 in rb_protect (proc=0x7feef586eac0 <funcall2_protect>, 
data=140664264615280, state=0x7fff1999d15c) at eval.c:5526
#19 0x00007feef586ff11 in QtRuby::VirtualMethodCall::callMethod 
(this=0x7fff1999d210) at 
/home/kde/src/KDE/kdebindings/ruby/qtruby/src/marshall_types.cpp:523
#20 0x00007feef586eb8a in QtRuby::MethodCallBase::next (this=0x7fff1999d210) at 
/home/kde/src/KDE/kdebindings/ruby/qtruby/src/marshall_types.cpp:466
#21 0x00007feef58369bf in QtRuby::Binding::callMethod (this=0x7feef3b9fc30, 
method=<value optimized out>, ptr=0x26b1a60, args=0x7fff1999d2b0)
    at /home/kde/src/KDE/kdebindings/ruby/qtruby/src/Qt.cpp:275
#22 0x00007feef50f1c00 in x_QGraphicsWidget::metaObject (this=0x26b1a60) at 
/home/kde/build/KDE/kdebindings/smoke/qt/x_8.cpp:4640
#23 0x00007fef100d6ec9 in QMetaObject::cast (this=0x7fef0fd3f940, 
obj=0x26b7b80) at kernel/qmetaobject.cpp:299
#24 0x00007fef0f8dd4cf in _q_paintItem (item=0x26b1a70, painter=0x7fff1999e4f0, 
option=0x2044c30, widget=0x1ff7d70, useWindowOpacity=true, 
painterStateProtection=true)
    at ../../include/QtCore/../../src/corelib/kernel/qobject.h:443
#25 0x00007fef0f8e1d08 in QGraphicsScenePrivate::drawItemHelper (this=<value 
optimized out>, item=0x26b1a70, painter=0x7fff1999e4f0, option=0x2044c30, 
widget=0x1ff7d70, painterStateProtection=true)
    at graphicsview/qgraphicsscene.cpp:4704
#26 0x00007fef0f8e3d8e in QGraphicsScene::drawItems (this=<value optimized 
out>, painter=0x7fff1999e4f0, numItems=4, items=<value optimized out>, 
options=0x2044b10, widget=0x1ff7d70)
    at graphicsview/qgraphicsscene.cpp:5115
#27 0x00007fef0f9054e8 in QGraphicsView::paintEvent (this=0x7fff1999fe00, 
event=<value optimized out>) at graphicsview/qgraphicsview.cpp:3506
#28 0x00007fef0f345596 in QWidget::event (this=0x7fff1999fe00, 
event=0x7fff1999eca0) at kernel/qwidget.cpp:7659
#29 0x00007fef0f6e157b in QFrame::event (this=0x7fff1999fe00, e=0x7fff1999eca0) 
at widgets/qframe.cpp:559
#30 0x00007fef0f90402b in QGraphicsView::viewportEvent (this=0x7fff1999fe00, 
event=0x7fff1999eca0) at graphicsview/qgraphicsview.cpp:2897
#31 0x00007fef100d1188 in 
QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized 
out>, receiver=0x1ff7d70, event=0x7fff1999eca0) at 
kernel/qcoreapplication.cpp:726
#32 0x00007fef0f2f44fc in QApplicationPrivate::notify_helper (this=0x1efe850, 
receiver=0x1ff7d70, e=0x7fff1999eca0) at kernel/qapplication.cpp:4053
#33 0x00007fef0f2fc7ba in QApplication::notify (this=0x7fff1999fe80, 
receiver=0x1ff7d70, e=0x7fff1999eca0) at kernel/qapplication.cpp:4022
#34 0x00007fef1138b2cb in KApplication::notify (this=0x7fff1999fe80, 
receiver=0x1ff7d70, event=0x7fff1999eca0) at 
/home/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#35 0x00007fef100d1e7c in QCoreApplication::notifyInternal 
(this=0x7fff1999fe80, receiver=0x1ff7d70, event=0x7fff1999eca0) at 
kernel/qcoreapplication.cpp:610
#36 0x00007fef0f34c7e5 in QWidgetPrivate::drawWidget (this=0x1ff7db0, 
pdev=0x26ffcf8, rgn=@0x7fff1999f130, offset=@0x7fff1999f120, flags=68, 
sharedPainter=0x0, backingStore=0x26ff810)
    at kernel/qwidget.cpp:5052
#37 0x00007fef0f4f11e6 in QWidgetBackingStore::sync (this=0x26ff810) at 
painting/qbackingstore.cpp:1260
#38 0x00007fef0f33dea0 in QWidgetPrivate::syncBackingStore (this=0x1ff5de0) at 
kernel/qwidget.cpp:1602
#39 0x00007fef0f34542d in QWidget::event (this=0x7fff1999fe00, event=0x2800380) 
at kernel/qwidget.cpp:7799
#40 0x00007fef0f6e157b in QFrame::event (this=0x7fff1999fe00, e=0x2800380) at 
widgets/qframe.cpp:559
#41 0x00007fef0f772ab9 in QAbstractScrollArea::event (this=0x7fff1999fe00, 
e=0x2800380) at widgets/qabstractscrollarea.cpp:918
#42 0x00007fef0f2f452d in QApplicationPrivate::notify_helper (this=0x1efe850, 
receiver=0x7fff1999fe00, e=0x2800380) at kernel/qapplication.cpp:4057
#43 0x00007fef0f2fc7ba in QApplication::notify (this=0x7fff1999fe80, 
receiver=0x7fff1999fe00, e=0x2800380) at kernel/qapplication.cpp:4022
#44 0x00007fef1138b2cb in KApplication::notify (this=0x7fff1999fe80, 
receiver=0x7fff1999fe00, event=0x2800380) at 
/home/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#45 0x00007fef100d1e7c in QCoreApplication::notifyInternal 
(this=0x7fff1999fe80, receiver=0x7fff1999fe00, event=0x2800380) at 
kernel/qcoreapplication.cpp:610
#46 0x00007fef100d2aea in QCoreApplicationPrivate::sendPostedEvents 
(receiver=0x0, event_type=0, data=0x1ee4e60) at 
../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#47 0x00007fef100fb863 in postEventSourceDispatch (s=<value optimized out>) at 
../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#48 0x00007fef092af16a in g_main_context_dispatch () from 
/usr/lib/libglib-2.0.so.0
#49 0x00007fef092b2830 in ?? () from /usr/lib/libglib-2.0.so.0
#50 0x00007fef092b29cc in g_main_context_iteration () from 
/usr/lib/libglib-2.0.so.0
#51 0x00007fef100fb4ef in QEventDispatcherGlib::processEvents (this=0x1ee4be0, 
flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:324
#52 0x00007fef0f38ccaf in QGuiEventDispatcherGlib::processEvents 
(this=0x7fff1999bd60, flags=<value optimized out>) at 
kernel/qguieventdispatcher_glib.cpp:202
#53 0x00007fef100d0722 in QEventLoop::processEvents (this=<value optimized 
out>, flags={i = 429521760}) at kernel/qeventloop.cpp:149
#54 0x00007fef100d0aed in QEventLoop::exec (this=0x7fff1999fba0, flags={i = 
429521840}) at kernel/qeventloop.cpp:200
#55 0x00007fef100d2db4 in QCoreApplication::exec () at 
kernel/qcoreapplication.cpp:888
#56 0x0000000000408a49 in main (argc=2, argv=0x7fff199a07b8) at 
/home/kde/src/KDE/kdebase/workspace/plasma/shells/plasmoidviewer/main.cpp:164



More information about the Kde-bindings mailing list