Bug 120160

Summary: kopete crashes when i remove an ICQ contact
Product: kopete Reporter: Tilman Keskinöz <tilman>
Component: Contact listAssignee: Kopete Developers <kopete-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: crash CC: finex
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: FreeBSD Ports   
OS: FreeBSD   
Latest Commit: Version Fixed In:

Description Tilman Keskinöz 2006-01-15 12:39:57 UTC
Version:            (using KDE KDE 3.5.0)
Installed from:    FreeBSD Ports
Compiler:          gcc 3.4.4 
OS:                FreeBSD

If I tried to remove an ICQ contact, kopete crashes reproducable:

kopete (oscar - raw protocol): [void Client::removeContact(const QString&)] Removing contact 94449360 from SSI
kopete (oscar - raw protocol): [bool SSIModifyTask::removeContact(const QString&)] Scheduling94449360 for removal
kopete (oscar - raw protocol): [void SSIModifyTask::sendSSIUpdate()] Removing 94449360 from SSI

Program received signal SIGBUS, Bus error.
[Switching to Thread 0x5f9000 (LWP 100130)]
0x0000000802bbe074 in __dynamic_cast () from /usr/lib/libstdc++.so.5
(gdb) bt
#0  0x0000000802bbe074 in __dynamic_cast () from /usr/lib/libstdc++.so.5
#1  0x000000000047139c in ContactListViewStrategy::removeMetaContactFromGroupInner<KopeteStatusGroupViewItem> (this=0xd0d0d0d0d0d0d0d0, mc=0xd0fd00,
    gpi=0xd0d0d0d0d0d0d0d0) at kopetecontactlistview.cpp:139
#2  0x000000000047144c in ArrangeByPresenceViewStrategy::removeMetaContact (
    this=0x7ec3c0, mc=0xd0fd00) at kopetecontactlistview.cpp:255
#3  0x000000000046876c in KopeteContactListView::slotMetaContactDeleted (
    this=0xd0d0d0d0d0d0d0d0, mc=0xd0fd00) at kopetecontactlistview.cpp:547
#4  0x000000000046ea26 in KopeteContactListView::qt_invoke (this=0x7ccc00,
    _id=125, _o=0x7fffffffd4d0) at kopetecontactlistview.moc:236
#5  0x0000000803bb4550 in QObject::activate_signal (this=0x7e8d00,
    clist=0x7eca80, o=0x7fffffffd4d0) at kernel/qobject.cpp:2380
#6  0x0000000800938a02 in Kopete::ContactList::metaContactRemoved (
    this=0x7e8d00, t0=0xd0fd00) at kopetecontactlist.moc:196
#7  0x0000000800932a77 in Kopete::ContactList::removeMetaContact (
    this=0x7e8d00, m=0xd0fd00) at kopetecontactlist.cpp:254
#8  0x000000000046d19b in KopeteContactListView::slotRemove (this=0x7ccc00)
    at kopetecontactlistview.cpp:1609
#9  0x000000000046eb8d in KopeteContactListView::qt_invoke (this=0x7ccc00,
    _id=139, _o=0x7fffffffd890) at kopetecontactlistview.moc:250
#10 0x0000000803bb441b in QObject::activate_signal (this=0x81f080,
    clist=0x81d500, o=0x7fffffffd890) at kernel/qobject.cpp:2356
#11 0x0000000803bb42c5 in QObject::activate_signal (this=0x81f080, signal=2)
    at kernel/qobject.cpp:2325
#12 0x0000000802601cbb in KAction::activated (this=0x81f080) at kaction.moc:176
#13 0x00000008026014f8 in KAction::slotActivated (this=0x81f080)
    at kaction.cpp:1102
#14 0x000000080260164c in KAction::slotPopupActivated (this=0x81f080)
    at kaction.cpp:1129
#15 0x000000080260200d in KAction::qt_invoke (this=0x81f080, _id=16,
    _o=0x7fffffffd9e0) at kaction.moc:219
#16 0x0000000803bb441b in QObject::activate_signal (this=0x8dc000,
    clist=0x8db3c0, o=0x7fffffffd9e0) at kernel/qobject.cpp:2356
#17 0x0000000803f05af0 in QSignal::signal (this=0x8dc000, t0=@0x8dc050)
    at .moc/debug-shared-mt/moc_qsignal.cpp:100
#18 0x0000000803bd1723 in QSignal::activate (this=0x8dc000)
    at kernel/qsignal.cpp:212
#19 0x0000000803cc6885 in QPopupMenu::mouseReleaseEvent (this=0x8b0800,
    e=0x7fffffffe030) at widgets/qpopupmenu.cpp:1691
#20 0x00000008025f0c0f in KPopupMenu::mouseReleaseEvent (this=0x8b0800,
    e=0x7fffffffe030) at kpopupmenu.cpp:511
#21 0x0000000803beba3a in QWidget::event (this=0x8b0800, e=0x7fffffffe030)
    at kernel/qwidget.cpp:4677
#22 0x0000000803b50296 in QApplication::internalNotify (this=0x7fffffffe720,
    receiver=0x8b0800, e=0x7fffffffe030) at kernel/qapplication.cpp:2635
#23 0x0000000803b4f96c in QApplication::notify (this=0x7fffffffe720,
    receiver=0x8b0800, e=0x7fffffffe030) at kernel/qapplication.cpp:2421
#24 0x0000000802f4d754 in KApplication::notify (this=0x7fffffffe720,
    receiver=0x8b0800, event=0x7fffffffe030) at kapplication.cpp:550
#25 0x0000000803ae07a6 in QApplication::sendSpontaneousEvent (
    receiver=0x8b0800, event=0x7fffffffe030) at qapplication.h:499
#26 0x0000000803ada6eb in QETWidget::translateMouseEvent (this=0x8b0800,
    event=0x7fffffffe580) at kernel/qapplication_x11.cpp:4238
#27 0x0000000803ad8679 in QApplication::x11ProcessEvent (this=0x7fffffffe720,
    event=0x7fffffffe580) at kernel/qapplication_x11.cpp:3447
#28 0x0000000803af3f96 in QEventLoop::processEvents (this=0x71bc80, flags=4)
    at kernel/qeventloop_x11.cpp:192
#29 0x0000000803b65180 in QEventLoop::enterLoop (this=0x71bc80)
    at kernel/qeventloop.cpp:198
#30 0x0000000803b6506f in QEventLoop::exec (this=0x71bc80)
    at kernel/qeventloop.cpp:145
#31 0x0000000803b503d2 in QApplication::exec (this=0x7fffffffe720)
    at kernel/qapplication.cpp:2758
#32 0x000000000044cec4 in main (argc=-6400, argv=0x8fc500) at main.cpp:103
Comment 1 Matt Rogers 2006-01-31 02:02:48 UTC
strange that it crashes in dynamic_cast... I wonder if there are hardware problems involved.
Comment 2 Olivier Goffart 2006-06-13 12:07:23 UTC
> #3  0x000000000046876c in KopeteContactListView::slotMetaContactDeleted (  this=0xd0d0d0d0d0d0d0d0

Strange value for this.

can you tell us the exact step to reproduce ?
Does it happen with others protocol as well ?
Comment 3 Tilman Keskinöz 2006-06-13 20:29:28 UTC
yeah, looks like this points somewhere into Nirvana.
Just noticed i did not write in the original Bug report, that the machine is an amd64 (but you probably guessed that from the length of the addresses :-).

I am currently running 3.5.2 and the bug is still present.

How to reproduce:
Go "online". Right click on a contact and select "Remove contact"
See kopete crashing.
For the record, after restarting kopete the User is still there, so the operation did not suceeed.

Sorry i don't use other protocols. 
But looking at the backtrace it looks more like an UI issue and not like a problem in the protocol.
Comment 4 Tilman Keskinöz 2006-06-13 20:37:29 UTC
Btw, here is an updated backtrace just in case:

#0  0x0000000802be1074 in __dynamic_cast () from /usr/lib/libstdc++.so.5
No symbol table info available.
#1  0x00000000004715bc in ContactListViewStrategy::removeMetaContactFromGroupInner<KopeteStatusGroupViewItem> (this=0x5a5a5a5a5a5a5a5a, mc=0x807b65480,
    gpi=0x5a5a5a5a5a5a5a5a) at kopetecontactlistview.cpp:139
        mci = (class KopeteMetaContactLVI *) 0x0
        item = (class QListViewItem *) 0x5a5a5a5a5a5a5a5a
#2  0x000000000047166c in ArrangeByPresenceViewStrategy::removeMetaContact (
    this=0x806a88470, mc=0x807b65480) at kopetecontactlistview.cpp:255
No locals.
#3  0x000000000046892c in KopeteContactListView::slotMetaContactDeleted (
    this=0x5a5a5a5a5a5a5a5a, mc=0x807b65480) at kopetecontactlistview.cpp:547
No locals.
#4  0x000000000046ec36 in KopeteContactListView::qt_invoke (this=0x806a55c00,
    _id=125, _o=0x7fffffffd4d0) at kopetecontactlistview.moc:236
No locals.
[....]
Comment 5 FiNeX 2007-12-11 20:38:14 UTC
Just tried on kopete 3.5.8. It doesn't crash. Still have you this problem with recent version of kopete?
Comment 6 FiNeX 2008-06-27 14:45:22 UTC
Closing this bug because nobody answer me in the last six month.

If someone will have this problem again, reopen this bug.