Bug 114614

Summary: crash when unsubscribing a group
Product: [Unmaintained] knode Reporter: Gunter Ohrner <kdebugs>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED WORKSFORME    
Severity: crash CC: malsutton, woebbeking
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Gunter Ohrner 2005-10-18 15:36:42 UTC
Version:            (using KDE KDE 3.4.2)
Installed from:    Debian testing/unstable Packages
OS:                Linux

kNode crashes not always but pretty often if trying to unsubscribe from a group.
Backtrace attached.

System is Debian SID Pure64

#24 0x000000319e3fd960 in QListViewItem::takeItem ()
   from /usr/lib/libqt-mt.so.3
#25 0x000000319e3fdf54 in QListViewItem::~QListViewItem ()
   from /usr/lib/libqt-mt.so.3
#26 0x00000031a11bddd0 in KNHdrViewItem::~KNHdrViewItem ()
   from /usr/lib/libknodecommon.so
#27 0x00000031a11ca481 in KNArticle::~KNArticle ()
   from /usr/lib/libknodecommon.so
#28 0x00000031a11cfc14 in KNRemoteArticle::~KNRemoteArticle ()
   from /usr/lib/libknodecommon.so
#29 0x00000031a11bcb32 in KNArticleVector::clear ()
   from /usr/lib/libknodecommon.so
#30 0x00000031a11bcc0d in KNArticleCollection::clear ()
   from /usr/lib/libknodecommon.so
#31 0x00000031a122e323 in KNGroup::unloadHdrs ()
   from /usr/lib/libknodecommon.so
#32 0x00000031a122e41f in KNGroupManager::unloadHeaders ()
   from /usr/lib/libknodecommon.so
#33 0x00000031a1257777 in KNGroupManager::unsubscribeGroup ()
   from /usr/lib/libknodecommon.so
#34 0x00000031a1257c99 in KNMainWidget::slotGrpUnsubscribe ()
   from /usr/lib/libknodecommon.so
#35 0x00000031a12596ce in KNMainWidget::qt_invoke ()
   from /usr/lib/libknodecommon.so
#36 0x000000319e30b4d4 in QObject::activate_signal ()
   from /usr/lib/libqt-mt.so.3
#37 0x000000319e30c064 in QObject::activate_signal ()
   from /usr/lib/libqt-mt.so.3
#38 0x000000319f40c03d in KAction::slotPopupActivated ()
   from /usr/lib/libkdeui.so.4
#39 0x000000319f40c2ce in KAction::qt_invoke () from /usr/lib/libkdeui.so.4
#40 0x000000319e30b4d4 in QObject::activate_signal ()
   from /usr/lib/libqt-mt.so.3
#41 0x000000319e673b94 in QSignal::signal () from /usr/lib/libqt-mt.so.3
#42 0x000000319e327efb in QSignal::activate () from /usr/lib/libqt-mt.so.3
#43 0x000000319e425606 in QPopupMenu::mouseReleaseEvent ()
   from /usr/lib/libqt-mt.so.3
#44 0x000000319e343064 in QWidget::event () from /usr/lib/libqt-mt.so.3
#45 0x000000319e2a5110 in QApplication::internalNotify ()
   from /usr/lib/libqt-mt.so.3
#46 0x000000319e2a574d in QApplication::notify () from /usr/lib/libqt-mt.so.3
#47 0x000000319edaedbe in KApplication::notify ()
   from /usr/lib/libkdecore.so.4
#48 0x000000319e235d66 in QApplication::sendSpontaneousEvent ()
   from /usr/lib/libqt-mt.so.3
#49 0x000000319e231117 in QETWidget::translateMouseEvent ()
   from /usr/lib/libqt-mt.so.3
#50 0x000000319e22f63b in QApplication::x11ProcessEvent ()
   from /usr/lib/libqt-mt.so.3
#51 0x000000319e24882b in QEventLoop::processEvents ()
   from /usr/lib/libqt-mt.so.3
#52 0x000000319e2bce0a in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#53 0x000000319e2bcd13 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#54 0x000000319e2a3ef6 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#55 0x00000000004086d9 in ?? ()
#56 0x0000003412e1c4ba in __libc_start_main () from /lib/libc.so.6
#57 0x000000000040806a in ?? ()
#58 0x00007fffffb7db68 in ?? ()
#59 0x0000003412d179c0 in ?? () from /lib64/ld-linux-x86-64.so.2
Comment 1 Matthew Sutton 2005-12-27 12:29:37 UTC
Yes, I can confirm this bug (setup: Fedora core 4, KDE 3.5 from source, under VMWare). It usually manifests itself in the following way:

Subscribe to 2 newsgroups at the same time
Click on first newsgroup to load headers
Click on second newsgroup to load headers
Click on first article in current newsgroup
Right-click unsubscribe on first newsgroup
OK Unsubscribe dialog box
Crash (about 20% time)

Here is the backtrace info:

Using host libthread_db library "/lib/libthread_db.so.1".
`shared object read from target memory' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1208838464 (LWP 22572)]
[New Thread -1212552272 (LWP 22576)]
[KCrash handler]
#4  0x01f9d4a9 in QListViewItem::takeItem (this=0x9bf6038, item=0x9b4e3d0)
    at widgets/qlistview.cpp:1314
#5  0x01f9da4d in ~QListViewItem (this=0x9b4e3d0)
    at widgets/qlistview.cpp:1019
#6  0x039e99de in ~KListViewItem (this=0x9b4e3d0)
    at /home/matthew/kdesvn/kdelibs/kdeui/klistview.cpp:2192
#7  0x00676ce5 in ~KNHdrViewItem (this=0x9b4e3d0)
    at /home/matthew/kdesvn/kdepim/knode/knhdrviewitem.cpp:63
#8  0x0066d55c in KNArticle::~KNArticle$base ()
    at /home/matthew/kdesvn/build/qt-copy/include/qmap.h:65
#9  0x0066d8a5 in ~KNRemoteArticle (this=0xb47c3ca0)
    at /home/matthew/kdesvn/kdepim/knode/knarticle.cpp:82
#10 0x0064556e in KNArticleVector::clear (this=0x9d2a230)
    at /home/matthew/kdesvn/kdepim/knode/knarticlecollection.cpp:100
#11 0x00645fd6 in KNArticleCollection::clear (this=0x9d2a210)
    at /home/matthew/kdesvn/kdepim/knode/knarticlecollection.cpp:351
#12 0x006476c8 in KNGroup::unloadHdrs (this=0x9d2a210, force=true)
    at /home/matthew/kdesvn/kdepim/knode/kngroup.cpp:380
#13 0x00640ad3 in KNGroupManager::unloadHeaders (this=0x9bd5c68, g=0x9d2a210, 
    force=true) at /home/matthew/kdesvn/kdepim/knode/kngroupmanager.cpp:324
#14 0x00643bf7 in KNGroupManager::unsubscribeGroup (this=0x9bd5c68, 
    g=0x9d2a210) at /home/matthew/kdesvn/kdepim/knode/kngroupmanager.cpp:463
#15 0x006b9504 in KNMainWidget::slotGrpUnsubscribe (this=0x9b271d0)
    at /home/matthew/kdesvn/kdepim/knode/knmainwidget.cpp:1512
#16 0x006c1fdf in KNMainWidget::qt_invoke (this=0x9b271d0, _id=77, 
    _o=0xbfe4347c) at ./knode/knmainwidget.moc:318
#17 0x01ea0931 in QObject::activate_signal (this=0x9c1e228, clist=0x9c1e460, 
    o=0xbfe4347c) at kernel/qobject.cpp:2356
#18 0x01ea140d in QObject::activate_signal (this=0x9c1e228, signal=2)
    at kernel/qobject.cpp:2325
#19 0x039ac010 in KAction::activated (this=0x9c1e228)
    at ./kdeui/kaction.moc:176
#20 0x039acdaa in KAction::slotActivated (this=0x9c1e228)
    at /home/matthew/kdesvn/kdelibs/kdeui/kaction.cpp:1102
#21 0x039affc7 in KAction::slotPopupActivated (this=0x9c1e228)
    at /home/matthew/kdesvn/kdelibs/kdeui/kaction.cpp:1129
#22 0x039b0336 in KAction::qt_invoke (this=0x9c1e228, _id=16, _o=0xbfe43608)
    at ./kdeui/kaction.moc:219
#23 0x01ea0931 in QObject::activate_signal (this=0x9ca4780, clist=0x9ca4808, 
    o=0xbfe43608) at kernel/qobject.cpp:2356
#24 0x02227da9 in QSignal::signal (this=0x9ca4780, t0=@0x9ca47a8)
    at .moc/debug-shared-mt/moc_qsignal.cpp:100
#25 0x01ebe4f2 in QSignal::activate (this=0x9ca4780) at kernel/qsignal.cpp:212
#26 0x01fc6516 in QPopupMenu::mouseReleaseEvent (this=0x9ca2a28, e=0xbfe43bb4)
    at widgets/qpopupmenu.cpp:1695
#27 0x0399a537 in KPopupMenu::mouseReleaseEvent (this=0x9ca2a28, e=0xbfe43bb4)
    at /home/matthew/kdesvn/kdelibs/kdeui/kpopupmenu.cpp:511
#28 0x01edb792 in QWidget::event (this=0x9ca2a28, e=0xbfe43bb4)
    at kernel/qwidget.cpp:4677
#29 0x01e371ba in QApplication::internalNotify (this=0xbfe440d0, 
    receiver=0x9ca2a28, e=0xbfe43bb4) at kernel/qapplication.cpp:2635
#30 0x01e37776 in QApplication::notify (this=0xbfe440d0, receiver=0x9ca2a28, 
    e=0xbfe43bb4) at kernel/qapplication.cpp:2421
#31 0x02609392 in KApplication::notify (this=0xbfe440d0, receiver=0x9ca2a28, 
    event=0xbfe43bb4)
    at /home/matthew/kdesvn/kdelibs/kdecore/kapplication.cpp:550
#32 0x01dc9077 in QApplication::sendSpontaneousEvent (receiver=0x9ca2a28, 
    event=0xbfe43bb4) at kernel/qapplication.h:499
#33 0x01dc4bef in QETWidget::translateMouseEvent (this=0x9ca2a28, 
    event=0xbfe43f08) at kernel/qapplication_x11.cpp:4239
#34 0x01dc314c in QApplication::x11ProcessEvent (this=0xbfe440d0, 
    event=0xbfe43f08) at kernel/qapplication_x11.cpp:3448
#35 0x01ddc0ac in QEventLoop::processEvents (this=0x9ad2308, flags=4)
    at kernel/qeventloop_x11.cpp:192
#36 0x01e4f3ae in QEventLoop::enterLoop (this=0x9ad2308)
    at kernel/qeventloop.cpp:198
#37 0x01e4f2d7 in QEventLoop::exec (this=0x9ad2308)
    at kernel/qeventloop.cpp:145
#38 0x01e35d77 in QApplication::exec (this=0xbfe440d0)
    at kernel/qapplication.cpp:2758
#39 0x0805105b in main (argc=7, argv=0xbfe44274)
    at /home/matthew/kdesvn/kdepim/knode/main.cpp:41


I suck a few printf's in qlistview.cpp line 1313+ as so:
        ptr = lv->d->highlighted;
        printf("QLV part 1\n");
        while (ptr && ptr != item) {
            printf("QLV part 2\n");
            ptr = ptr->parentItem;
            printf("QLV part 3\n");
        }
        printf("QLV part end\n");

When knode dies, it spits out the following:

knode: KNFolderManager::setCurrentFolder() : folder changed
knode: m_guiclient is 0x8d493a0, the factory is 0x8d5e3f8
knode: KNNetAccess::threadDoneNntp(): job done
knode: KNArticleFilter::doFilter() : matched 2 articles , merged 0 threads by subject
knode: KNMainWidget::slotGrpUnsubscribe()
knode: gmane.comp.gnome.kde => updated 2 entries of dynamic data
QLV part 1
QLV part 2
QLV part 3
QLV part 2
knode: KNProtocolClient::waitForWork(): connection broken, closing it
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = knode path = <unknown> pid = 30293

Any ideas what's happening?

Cheers,

Matthew
Comment 2 Volker Krause 2005-12-27 17:14:17 UTC
Which Qt version are you using? IIRC there has been a bug in Qt 3.3.5 QListView::takeItem().
Comment 3 Matthew Sutton 2005-12-27 22:21:41 UTC
I am using Qt 3.3.5, so it seems likely that is the problem then.
Comment 4 Gunter Ohrner 2005-12-28 01:21:06 UTC
That's the likely reason for me as well.
Meanwhile Debian has patched its QT package, so if the bug shows up again, I'll reopen this report.

Thanks for pointing this out!
Comment 5 Olivier Trichet 2009-05-15 15:37:06 UTC
*** Bug 126453 has been marked as a duplicate of this bug. ***