Bug 213468 - Moving several contacts to a different address book crashes Kontact.
Summary: Moving several contacts to a different address book crashes Kontact.
Status: RESOLVED WORKSFORME
Alias: None
Product: kaddressbook
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: investigated, triaged
: 234828 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-11-06 21:13 UTC by Sabine Faure
Modified: 2018-10-21 04:38 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Backtrace of the crash after moving several contacts to a different address book folder (8.70 KB, text/plain)
2009-11-06 21:14 UTC, Sabine Faure
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sabine Faure 2009-11-06 21:13:01 UTC
Version:            (using Devel)
Compiler:          gcc 4.3.2 
OS:                Linux
Installed from:    Compiled sources

- Launch Kontact and go to KAB
- create two address books (AB1 and AB2)
- create a three contacts in AB1
- Select the contacts and drag and drop them into 'AB2'
- A pop up dialogue appears, in it select 'Move here'

Kontact crashes whereas if you just move one contact it does not.

Also when relaunching Kontact and going to KAB, the contacts have been correctly moved to 'AB2' despite the crash.

Trunk, Svn Rev 1045634
Comment 1 Sabine Faure 2009-11-06 21:14:17 UTC
Created attachment 38143 [details]
Backtrace of the crash after moving several contacts to a different address book folder
Comment 2 Tobias Koenig 2009-11-09 18:14:44 UTC
Hej Sabine,

this bug has been fixed in revision 1045731 when the
usage of KDescendantsProxyModel for the contacts view has been removed.
I can't reproduce it with current version from trunk.

Ciao,
Tobias
Comment 3 Sabine Faure 2009-11-09 23:40:50 UTC
Hi Tobias,

I retested this today and I still get the same crash (Allow_moveqt_assert assertion=0xb68ce707 "allowMove") with a recent revision.

So I am reopening this bug.

Trunk, Svn Rev 1046648
Comment 4 Stephen Kelly 2009-11-11 17:43:31 UTC
Hi Sabine,

could you post the full backtrace?
Comment 5 adrian 2010-05-10 17:53:02 UTC
I confirm this situation. I tried to move more contacts than 3 and it crashed.
Upon reopening it appears that it has moved the contacts but in fact it only copied them to the new folder. if you look in the .local/contacts directory they are still where they were and a copy is added to the new directory.

If by any chance one gets a crash in which the personal ab is lost (it happened to me when I was deleting a contact I actually lost the whole ab) when one re-adds the "Personal Contacts" ab and point it to the .local/contacts folder you get the same contacts in the old folder as well as in the new folder.
Comment 6 Tobias Koenig 2010-05-12 18:38:51 UTC
*** Bug 234828 has been marked as a duplicate of this bug. ***
Comment 7 Tobias Koenig 2010-05-21 16:24:23 UTC
Hej,

the latest changes to KSelectionProxyModel in kdelibs should have fixed these issues (at least I can't reproduce them here).
So I'll close the report again in the hope that KSelectionProxyModel won't get broken again until the release :(
Comment 8 Sabine Faure 2010-05-21 20:43:27 UTC
I retested this today and it still does not work for me:

The crash is gone but when I move the contacts they disappear from AB1 but never appear in AB2. They seem to get lost.

Trunk, Svn Rev 1129177
Comment 9 Stephen Kelly 2010-05-22 11:04:52 UTC
This could be because I didn't backport the rewrite to the komo branch. Sabine are you using trunk kdelibs or komo branch kdelibs?

I could look into backporting it in a few days.
Comment 10 Sabine Faure 2010-05-23 23:28:41 UTC
Hi Stephen!

I am using neither: I use 4.4 kdelibs at the moment.
Is this a pb?

Trunk, Svn Rev 1129798
Comment 11 Tobias Koenig 2010-05-24 01:55:36 UTC
Hej Sabine,

yes this is a problem ;), Stephen fixed many bugs in KSelectionProxyModel
in SVN trunk which is located in kdelibs/kdeui/itemviews and which was responsible for
many crashes.
Although we allow to compile KDE PIM against kdelibs from KDE 4.4 to make it easier
for developers, testing should be done with kdelibs from trunk to ensure that all
bugfixes will be included.

Ciao,
Tobias
Comment 12 Stephen Kelly 2010-05-24 09:24:28 UTC
I don't agree that a trunk upgrade is needed. It would probably be easier to locally backport KSelectionProxyModel (and dependencies kbihash and kmodelindexproxymapper) or for me to put a copy in akonadi_next in a namespace.
Comment 13 Tobias Koenig 2010-07-03 22:50:46 UTC
Hej,

now that we have a stable 4.5 branch, is it still reproducable with this one?

Ciao,
Tobias
Comment 14 Sabine Faure 2010-07-07 23:51:21 UTC
Hi Tobias!

I retested this today and it worked a few times but then I got a new crash so I am reopening this bug.
Trunk, Svn Rev 1147197

You will find info underneath:

Application: Kontact (kontact), signal: Aborted
[Current thread is 1 (Thread 0x7f89375d2780 (LWP 5478))]

Thread 2 (Thread 0x7f8922a30710 (LWP 5479)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f89361c05e0 in WTF::TCMalloc_PageHeap::scavengerThread() () from /d/qt/4/kde-qt/lib/libQtWebKit.so.4
#2  0x00007f89361bf5f6 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /d/qt/4/kde-qt/lib/libQtWebKit.so.4
#3  0x00007f89303449ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007f892ea4b6dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f89375d2780 (LWP 5478)):
[KCrash Handler]
#5  0x00007f892e998a75 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007f892e99c5c0 in *__GI_abort () at abort.c:92
#7  0x00007f89305f0c3d in qt_message_output (msgType=QtFatalMsg, buf=0x2c8cb98 "ASSERT: \"allowMove\" in file /d/kde/src/t/kdelibs/kdeui/itemviews/kselectionproxymodel.cpp, line 621")
    at global/qglobal.cpp:2250
#8  0x00007f89305f0e3f in qt_message (msgType=QtFatalMsg, msg=0x7f89307b2988 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fff6d9660d0) at global/qglobal.cpp:2296
#9  0x00007f89305f16ac in qFatal (msg=0x7f89307b2988 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2479
#10 0x00007f89305f07cf in qt_assert (assertion=0x7f89318a3087 "allowMove", file=0x7f89318a2fc0 "/d/kde/src/t/kdelibs/kdeui/itemviews/kselectionproxymodel.cpp", line=621) at global/qglobal.cpp:2013
#11 0x00007f89316d7eba in KSelectionProxyModelPrivate::sourceRowsAboutToBeMoved (this=0x2490e90, srcParent=..., srcStart=0, srcEnd=0, destParent=..., destRow=0)
    at /d/kde/src/t/kdelibs/kdeui/itemviews/kselectionproxymodel.cpp:621
#12 0x00007f89316dce6e in KSelectionProxyModel::qt_metacall (this=0x2491500, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fff6d966430)
    at /d/kde/build/t/kdelibs/kdeui/moc_kselectionproxymodel.cpp:121
#13 0x00007f8930731557 in QMetaObject::metacall (object=0x2491500, cl=QMetaObject::InvokeMetaMethod, idx=31, argv=0x7fff6d966430) at kernel/qmetaobject.cpp:237
#14 0x00007f89307479d5 in QMetaObject::activate (sender=0x248cff0, m=0x7f8930aa33c0, local_signal_index=14, argv=0x7fff6d966430) at kernel/qobject.cpp:3293
#15 0x00007f89307ae468 in QAbstractItemModel::rowsAboutToBeMoved (this=0x248cff0, _t1=..., _t2=0, _t3=0, _t4=..., _t5=0) at .moc/debug-shared/moc_qabstractitemmodel.cpp:242
#16 0x00007f893071da7c in QAbstractItemModel::beginMoveRows (this=0x248cff0, sourceParent=..., sourceFirst=0, sourceLast=0, destinationParent=..., destinationChild=0)
    at kernel/qabstractitemmodel.cpp:2549
#17 0x00007f89333a9f17 in Akonadi::EntityTreeModelPrivate::monitoredItemMoved (this=0x248d220, item=..., sourceCollection=..., destCollection=...)
    at /d/kde/src/t/kdepimlibs/akonadi/entitytreemodel_p.cpp:876
#18 0x00007f89333a208e in Akonadi::EntityTreeModel::qt_metacall (this=0x248cff0, _c=QMetaObject::InvokeMetaMethod, _id=21, _a=0x7fff6d966830)
    at /d/kde/build/t/kdepimlibs/akonadi/entitytreemodel.moc:142
#19 0x00007f8933fb3677 in Akonadi::ContactsTreeModel::qt_metacall (this=0x248cff0, _c=QMetaObject::InvokeMetaMethod, _id=45, _a=0x7fff6d966830)
    at /d/kde/build/t/kdepimlibs/akonadi/contact/contactstreemodel.moc:64
#20 0x00007f8930731557 in QMetaObject::metacall (object=0x248cff0, cl=QMetaObject::InvokeMetaMethod, idx=45, argv=0x7fff6d966830) at kernel/qmetaobject.cpp:237
#21 0x00007f89307479d5 in QMetaObject::activate (sender=0x248b560, m=0x7f89336f9f00, local_signal_index=1, argv=0x7fff6d966830) at kernel/qobject.cpp:3293
#22 0x00007f89333eeba5 in Akonadi::Monitor::itemMoved (this=0x248b560, _t1=..., _t2=..., _t3=...) at /d/kde/build/t/kdepimlibs/akonadi/monitor.moc:167
#23 0x00007f89333f2526 in Akonadi::MonitorPrivate::emitItemNotification (this=0x248c370, msg=..., item=..., collection=..., collectionDest=...) at /d/kde/src/t/kdepimlibs/akonadi/monitor_p.cpp:370
#24 0x00007f89333f10ee in Akonadi::MonitorPrivate::emitNotification (this=0x248c370, msg=...) at /d/kde/src/t/kdepimlibs/akonadi/monitor_p.cpp:214
#25 0x00007f89333f11f8 in Akonadi::MonitorPrivate::dataAvailable (this=0x248c370) at /d/kde/src/t/kdepimlibs/akonadi/monitor_p.cpp:226
#26 0x00007f89333eeabd in Akonadi::Monitor::qt_metacall (this=0x248b560, _c=QMetaObject::InvokeMetaMethod, _id=21, _a=0x7fff6d966c60) at /d/kde/build/t/kdepimlibs/akonadi/monitor.moc:148
#27 0x00007f8933358b33 in Akonadi::ChangeRecorder::qt_metacall (this=0x248b560, _c=QMetaObject::InvokeMetaMethod, _id=25, _a=0x7fff6d966c60) at /d/kde/build/t/kdepimlibs/akonadi/changerecorder.moc:72
#28 0x00007f8930731557 in QMetaObject::metacall (object=0x248b560, cl=QMetaObject::InvokeMetaMethod, idx=25, argv=0x7fff6d966c60) at kernel/qmetaobject.cpp:237
#29 0x00007f89307479d5 in QMetaObject::activate (sender=0x248c3f8, m=0x7f89336f6e60, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3293
#30 0x00007f893339663d in Akonadi::EntityCacheBase::dataAvailable (this=0x248c3f8) at /d/kde/build/t/kdepimlibs/akonadi/entitycache_p.moc:88
#31 0x00007f893335d6bb in Akonadi::EntityCache<Akonadi::Item, Akonadi::ItemFetchJob, Akonadi::ItemFetchScope>::fetchResult (this=0x248c3f8, job=0x34dcbf0)
    at /d/kde/src/t/kdepimlibs/akonadi/entitycache_p.h:189
#32 0x00007f8933396605 in Akonadi::EntityCacheBase::qt_metacall (this=0x248c3f8, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fff6d966e60) at /d/kde/build/t/kdepimlibs/akonadi/entitycache_p.moc:77
#33 0x00007f8930731557 in QMetaObject::metacall (object=0x248c3f8, cl=QMetaObject::InvokeMetaMethod, idx=5, argv=0x7fff6d966e60) at kernel/qmetaobject.cpp:237
#34 0x00007f89307479d5 in QMetaObject::activate (sender=0x34dcbf0, m=0x7f8931215760, local_signal_index=3, argv=0x7fff6d966e60) at kernel/qobject.cpp:3293
#35 0x00007f8930e4c63f in KJob::result (this=0x34dcbf0, _t1=0x34dcbf0) at /d/kde/build/t/kdelibs/kdecore/kjob.moc:194
#36 0x00007f8930e4baad in KJob::emitResult (this=0x34dcbf0) at /d/kde/src/t/kdelibs/kdecore/jobs/kjob.cpp:312
#37 0x00007f89333e1b85 in Akonadi::JobPrivate::delayedEmitResult (this=0x3170f70) at /d/kde/src/t/kdepimlibs/akonadi/job.cpp:145
#38 0x00007f89333e3344 in Akonadi::Job::qt_metacall (this=0x34dcbf0, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fff6d967080) at /d/kde/build/t/kdepimlibs/akonadi/job.moc:91
#39 0x00007f89333ced83 in Akonadi::ItemFetchJob::qt_metacall (this=0x34dcbf0, _c=QMetaObject::InvokeMetaMethod, _id=34, _a=0x7fff6d967080) at /d/kde/build/t/kdepimlibs/akonadi/itemfetchjob.moc:73
#40 0x00007f8930731557 in QMetaObject::metacall (object=0x34dcbf0, cl=QMetaObject::InvokeMetaMethod, idx=34, argv=0x7fff6d967080) at kernel/qmetaobject.cpp:237
#41 0x00007f89307479d5 in QMetaObject::activate (sender=0x2ce6ca0, m=0x7f8930aa13e0, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3293
#42 0x00007f893075157b in QSingleShotTimer::timeout (this=0x2ce6ca0) at .moc/debug-shared/qtimer.moc:82
#43 0x00007f893075144b in QSingleShotTimer::timerEvent (this=0x2ce6ca0) at kernel/qtimer.cpp:308
#44 0x00007f89307431a7 in QObject::event (this=0x2ce6ca0, e=0x7fff6d967940) at kernel/qobject.cpp:1212
#45 0x00007f892f6d97aa in QApplicationPrivate::notify_helper (this=0x1cd7700, receiver=0x2ce6ca0, e=0x7fff6d967940) at kernel/qapplication.cpp:4304
#46 0x00007f892f6d6e65 in QApplication::notify (this=0x7fff6d967db0, receiver=0x2ce6ca0, e=0x7fff6d967940) at kernel/qapplication.cpp:3708
#47 0x00007f89316ed773 in KApplication::notify (this=0x7fff6d967db0, receiver=0x2ce6ca0, event=0x7fff6d967940) at /d/kde/src/t/kdelibs/kdeui/kernel/kapplication.cpp:302
#48 0x00007f89307293f8 in QCoreApplication::notifyInternal (this=0x7fff6d967db0, receiver=0x2ce6ca0, event=0x7fff6d967940) at kernel/qcoreapplication.cpp:704
#49 0x00007f893673020f in QCoreApplication::sendEvent(QObject*, QEvent*) () from /d/qt/4/kde-qt/lib/libQtWebKit.so.4
#50 0x00007f8930769c73 in QTimerInfoList::activateTimers (this=0x1cdafe0) at kernel/qeventdispatcher_unix.cpp:603
#51 0x00007f8930764f3b in timerSourceDispatch (source=0x1cdaf80) at kernel/qeventdispatcher_glib.cpp:184
#52 0x00007f8930765022 in idleTimerSourceDispatch (source=0x1cdb040) at kernel/qeventdispatcher_glib.cpp:231
#53 0x00007f892b5158c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#54 0x00007f892b519748 in ?? () from /lib/libglib-2.0.so.0
#55 0x00007f892b5198fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#56 0x00007f89307663d3 in QEventDispatcherGlib::processEvents (this=0x1ca7440, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#57 0x00007f892f7aa4c0 in QGuiEventDispatcherGlib::processEvents (this=0x1ca7440, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#58 0x00007f89307263f0 in QEventLoop::processEvents (this=0x7fff6d967d10, flags=...) at kernel/qeventloop.cpp:149
#59 0x00007f8930726546 in QEventLoop::exec (this=0x7fff6d967d10, flags=...) at kernel/qeventloop.cpp:201
#60 0x00007f8930729afa in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#61 0x00007f892f6d69ec in QApplication::exec () at kernel/qapplication.cpp:3583
#62 0x0000000000404378 in main (argc=1, argv=0x7fff6d9682b8) at /d/kde/src/t/kdepim/kontact/src/main.cpp:218
Comment 15 Stephen Kelly 2010-07-08 21:50:04 UTC
This is a kdelibs 4.4 issue fixed in kdelibs 4.5. I mentioned this to David and he said your upgrade would happen soon. :)

Please re-test this one after upgrading.

All the best,

Steve.
Comment 16 Tobias Koenig 2010-10-17 15:52:26 UTC
Hej Sabine,

still happens with kdelibs 4.5?

Ciao,
Tobias
Comment 17 Andrew Crouthamel 2018-09-20 22:01:42 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 18 Andrew Crouthamel 2018-10-21 04:38:44 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!