Bug 320329

Summary: korganizer crashes on start
Product: [Applications] korganizer Reporter: Luis Silva <lacsilva>
Component: generalAssignee: Sergio Martins <smartins>
Status: RESOLVED FIXED    
Severity: crash CC: smartins
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Luis Silva 2013-05-26 21:44:33 UTC
Application: korganizer (4.11 pre-git-31c7849 (2013-05-24))
KDE Platform Version: 4.10.3 (Compiled from sources)
Qt Version: 4.8.4
Operating System: Linux 3.8.0-11-generic i686
Distribution: Ubuntu 13.04

-- Information about the crash:
- What I was doing when the application crashed:
Korganizer crashes every time I try to start it. Removing all the calendar resources does not seem to help.
Running from the command line in debug mode I get 
ASSERT: "!uid.isEmpty()" in file /home/lacsilva/Development/kdepim.d/kdepimlibs/akonadi/calendar/calendarbase.cpp, line 94

The crash can be reproduced every time.

-- Backtrace:
Application: KOrganizer (korganizer), signal: Aborted
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xb0d1d740 (LWP 8776))]

Thread 2 (Thread 0xadffbb40 (LWP 8783)):
#0  0xb778e424 in __kernel_vsyscall ()
#1  0xb5d09dcb in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xb44d32db in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb44c46d0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb44c4831 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb6b5fc3f in QEventDispatcherGlib::processEvents (this=0xad600468, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0xb6b2c3ec in QEventLoop::processEvents (this=this@entry=0xadffb228, flags=...) at kernel/qeventloop.cpp:149
#7  0xb6b2c6e1 in QEventLoop::exec (this=this@entry=0xadffb228, flags=...) at kernel/qeventloop.cpp:204
#8  0xb6a17fec in QThread::exec (this=this@entry=0x8d48da8) at thread/qthread.cpp:542
#9  0xb6b0bf2d in QInotifyFileSystemWatcherEngine::run (this=0x8d48da8) at io/qfilesystemwatcher_inotify.cpp:256
#10 0xb6a1ab18 in QThreadPrivate::start (arg=0x8d48da8) at thread/qthread_unix.cpp:338
#11 0xb458ed78 in start_thread (arg=0xadffbb40) at pthread_create.c:311
#12 0xb5d193de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 1 (Thread 0xb0d1d740 (LWP 8776)):
[KCrash Handler]
#7  0xb778e424 in __kernel_vsyscall ()
#8  0xb5c56b1f in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#9  0xb5c5a0b3 in __GI_abort () at abort.c:90
#10 0xb6a0f7fc in qt_message_output (msgType=QtFatalMsg, buf=0x9278760 "ASSERT: \"!uid.isEmpty()\" in file /home/lacsilva/Development/kdepim.d/kdepimlibs/akonadi/calendar/calendarbase.cpp, line 94") at global/qglobal.cpp:2347
#11 0xb6a0fc09 in qt_message (msgType=QtFatalMsg, msg=0xb6b99a98 "ASSERT: \"%s\" in file %s, line %d", ap=0xbfab1c74 "\271b\247\264\350a\247\264^") at global/qglobal.cpp:2393
#12 0xb6a0fd28 in qFatal (msg=msg@entry=0xb6b99a98 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2576
#13 0xb6a0fdb5 in qt_assert (assertion=0xb4a762b9 "!uid.isEmpty()", file=0xb4a761e8 "/home/lacsilva/Development/kdepim.d/kdepimlibs/akonadi/calendar/calendarbase.cpp", line=94) at global/qglobal.cpp:2021
#14 0xb4a1c967 in Akonadi::CalendarBasePrivate::internalInsert(Akonadi::Item const&) () from /usr/lib/libakonadi-calendar.so.4
#15 0xb4a2c28a in Akonadi::ETMCalendarPrivate::itemsAdded(QList<Akonadi::Item> const&) () from /usr/lib/libakonadi-calendar.so.4
#16 0xb4a2cea5 in Akonadi::ETMCalendarPrivate::onRowsInsertedInFilteredModel(QModelIndex const&, int, int) () from /usr/lib/libakonadi-calendar.so.4
#17 0xb4a2e3dc in Akonadi::ETMCalendarPrivate::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-calendar.so.4
#18 0xb6b43b56 in QMetaObject::activate (sender=sender@entry=0x89b7f58, m=m@entry=0xb6c98298 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0xbfab1ee0) at kernel/qobject.cpp:3539
#19 0xb6b95ba5 in QAbstractItemModel::rowsInserted (this=this@entry=0x89b7f58, _t1=..., _t2=0, _t3=1) at .moc/release-shared/moc_qabstractitemmodel.cpp:197
#20 0xb6b29133 in QAbstractItemModel::endInsertRows (this=0x89b7f58) at kernel/qabstractitemmodel.cpp:2433
#21 0xb66473c4 in QSortFilterProxyModelPrivate::insert_source_items (this=0x89cbe38, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=Qt::Vertical, emit_signal=true) at itemviews/qsortfilterproxymodel.cpp:695
#22 0xb664a5ec in QSortFilterProxyModelPrivate::source_items_inserted (this=this@entry=0x89cbe38, source_parent=..., start=start@entry=0, end=end@entry=1, orient=orient@entry=Qt::Vertical) at itemviews/qsortfilterproxymodel.cpp:806
#23 0xb664aa20 in QSortFilterProxyModelPrivate::_q_sourceRowsInserted (this=0x89cbe38, source_parent=..., start=0, end=1) at itemviews/qsortfilterproxymodel.cpp:1297
#24 0xb6b43b56 in QMetaObject::activate (sender=sender@entry=0x89b57f0, m=m@entry=0xb6c98298 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0xbfab2160) at kernel/qobject.cpp:3539
#25 0xb6b95ba5 in QAbstractItemModel::rowsInserted (this=this@entry=0x89b57f0, _t1=..., _t2=0, _t3=1) at .moc/release-shared/moc_qabstractitemmodel.cpp:197
#26 0xb6b29133 in QAbstractItemModel::endInsertRows (this=0x89b57f0) at kernel/qabstractitemmodel.cpp:2433
#27 0xb66473c4 in QSortFilterProxyModelPrivate::insert_source_items (this=0x89cb3f0, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=Qt::Vertical, emit_signal=true) at itemviews/qsortfilterproxymodel.cpp:695
#28 0xb664a5ec in QSortFilterProxyModelPrivate::source_items_inserted (this=this@entry=0x89cb3f0, source_parent=..., start=start@entry=0, end=end@entry=1, orient=orient@entry=Qt::Vertical) at itemviews/qsortfilterproxymodel.cpp:806
#29 0xb664aa20 in QSortFilterProxyModelPrivate::_q_sourceRowsInserted (this=0x89cb3f0, source_parent=..., start=0, end=1) at itemviews/qsortfilterproxymodel.cpp:1297
#30 0xb6b43b56 in QMetaObject::activate (sender=sender@entry=0x89ae8c0, m=m@entry=0xb6c98298 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0xbfab23e0) at kernel/qobject.cpp:3539
#31 0xb6b95ba5 in QAbstractItemModel::rowsInserted (this=this@entry=0x89ae8c0, _t1=..., _t2=0, _t3=1) at .moc/release-shared/moc_qabstractitemmodel.cpp:197
#32 0xb6b29133 in QAbstractItemModel::endInsertRows (this=this@entry=0x89ae8c0) at kernel/qabstractitemmodel.cpp:2433
#33 0xb74f9884 in KSelectionProxyModelPrivate::sourceRowsInserted (this=0x89b6f08, parent=..., start=0, end=1) at ../../kdeui/itemviews/kselectionproxymodel.cpp:1045
#34 0xb6b43b56 in QMetaObject::activate (sender=sender@entry=0x8984ca8, m=m@entry=0xb6c98298 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0xbfab2550) at kernel/qobject.cpp:3539
#35 0xb6b95ba5 in QAbstractItemModel::rowsInserted (this=this@entry=0x8984ca8, _t1=..., _t2=0, _t3=1) at .moc/release-shared/moc_qabstractitemmodel.cpp:197
#36 0xb6b29133 in QAbstractItemModel::endInsertRows (this=0x8984ca8) at kernel/qabstractitemmodel.cpp:2433
#37 0xb4ec8d2c in Akonadi::EntityTreeModelPrivate::itemsFetched(long long, QList<Akonadi::Item> const&) () from /usr/lib/libakonadi-kde.so.4
#38 0xb4ec84f4 in Akonadi::EntityTreeModelPrivate::itemsFetched(QList<Akonadi::Item> const&) () from /usr/lib/libakonadi-kde.so.4
#39 0xb4ec2eee in Akonadi::EntityTreeModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4
#40 0xb6b43b56 in QMetaObject::activate (sender=0x8fd17f8, m=0xb5069e9c <Akonadi::ItemFetchJob::staticMetaObject>, local_signal_index=0, argv=0xbfab27f8) at kernel/qobject.cpp:3539
#41 0xb4ef2cb4 in Akonadi::ItemFetchJob::itemsReceived(QList<Akonadi::Item> const&) () from /usr/lib/libakonadi-kde.so.4
#42 0xb4ef3284 in Akonadi::ItemFetchJobPrivate::timeout() () from /usr/lib/libakonadi-kde.so.4
#43 0xb4ef2b4b in Akonadi::ItemFetchJob::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4
#44 0xb6b43b56 in QMetaObject::activate (sender=sender@entry=0x8fd17f8, m=m@entry=0xb6f5e46c <KJob::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0xbfab2948) at kernel/qobject.cpp:3539
#45 0xb6da6fa5 in KJob::result (this=this@entry=0x8fd17f8, _t1=_t1@entry=0x8fd17f8) at ./kjob.moc:208
#46 0xb6da6ff8 in KJob::emitResult (this=0x8fd17f8) at ../../kdecore/jobs/kjob.cpp:318
#47 0xb4f04fe5 in Akonadi::JobPrivate::delayedEmitResult() () from /usr/lib/libakonadi-kde.so.4
#48 0xb4f06136 in Akonadi::Job::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4
#49 0xb6b3fb4a in QMetaCallEvent::placeMetaCall (this=0x92d5418, object=0x8fd17f8) at kernel/qobject.cpp:524
#50 0xb6b4948b in QObject::event (this=0x8fd17f8, e=0x92d5418) at kernel/qobject.cpp:1194
#51 0xb601cc7c in QApplicationPrivate::notify_helper (this=0x87cc5c0, receiver=0x8fd17f8, e=0x92d5418) at kernel/qapplication.cpp:4567
#52 0xb601fb94 in QApplication::notify (this=0x92d5418, receiver=0x8fd17f8, e=0x92d5418) at kernel/qapplication.cpp:3949
#53 0xb750dd01 in KApplication::notify (this=0xbfab319c, receiver=0x8fd17f8, event=0x92d5418) at ../../kdeui/kernel/kapplication.cpp:311
#54 0xb6b2d90e in QCoreApplication::notifyInternal (this=0xbfab319c, receiver=0x8fd17f8, event=0x92d5418) at kernel/qcoreapplication.cpp:946
#55 0xb6b31721 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#56 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8792008) at kernel/qcoreapplication.cpp:1570
#57 0xb6b31a8c in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1463
#58 0xb6b5faa4 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#59 postEventSourceDispatch (s=0x87cc988) at kernel/qeventdispatcher_glib.cpp:279
#60 0xb44c43b3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#61 0xb44c4750 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#62 0xb44c4831 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#63 0xb6b5fc21 in QEventDispatcherGlib::processEvents (this=this@entry=0x8792d88, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#64 0xb60d3a5a in QGuiEventDispatcherGlib::processEvents (this=0x8792d88, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#65 0xb6b2c3ec in QEventLoop::processEvents (this=this@entry=0xbfab3108, flags=...) at kernel/qeventloop.cpp:149
#66 0xb6b2c6e1 in QEventLoop::exec (this=this@entry=0xbfab3108, flags=...) at kernel/qeventloop.cpp:204
#67 0xb6b323fa in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#68 0xb601afc4 in QApplication::exec () at kernel/qapplication.cpp:3828
#69 0x0804e78c in main ()

Possible duplicates by query: bug 316495, bug 313194, bug 313047, bug 312308, bug 312093.

Reported using DrKonqi
Comment 1 Luis Silva 2013-05-26 22:05:38 UTC
Digging a bit further, it seems I have some incidences in the database (pimitemtable) without a remoteId. Any idea on how to remove those entries?
Comment 2 Sergio Martins 2013-05-28 11:02:30 UTC
You have an incidence without UID, which resource is it ?
Comment 3 Sergio Martins 2013-05-28 11:09:26 UTC
Git commit 8170696a635a82ad334ea3dc70fd7ff3e47d5a3c by Sergio Martins.
Committed on 28/05/2013 at 13:08.
Pushed by smartins into branch 'master'.

Print useful information before asserting.

M  +8    -1    akonadi/calendar/calendarbase.cpp

http://commits.kde.org/kdepimlibs/8170696a635a82ad334ea3dc70fd7ff3e47d5a3c
Comment 4 Sergio Martins 2013-05-28 11:18:04 UTC
Git commit d4f2cf4f8613df3654769e5d1f83219bbec866c1 by Sergio Martins.
Committed on 28/05/2013 at 13:14.
Pushed by smartins into branch 'master'.

Dont' assert if Incidence has empty UID.

It's not a problem with our software, so dont' crash, it's something
for the user to fix.

We could filter this right off the bat in kcalcore/icalformat_p.cpp
but it's useful to have them in memory because i'm implementing
a dialog in korg to automatically fix broken incidences.

M  +3    -3    akonadi/calendar/calendarbase.cpp

http://commits.kde.org/kdepimlibs/d4f2cf4f8613df3654769e5d1f83219bbec866c1
Comment 5 Luis Silva 2013-05-28 12:32:15 UTC
(In reply to comment #2)
> You have an incidence without UID, which resource is it ?
None, actually, since these incidences persisted even after I removed all calendar resources and restarted akonadi.
Comment 6 Luis Silva 2013-05-28 12:32:59 UTC
(In reply to comment #4)
> Git commit d4f2cf4f8613df3654769e5d1f83219bbec866c1 by Sergio Martins.
> Committed on 28/05/2013 at 13:14.
> Pushed by smartins into branch 'master'.
> 
> Dont' assert if Incidence has empty UID.
> 
> It's not a problem with our software, so dont' crash, it's something
> for the user to fix.
> 
> We could filter this right off the bat in kcalcore/icalformat_p.cpp
> but it's useful to have them in memory because i'm implementing
> a dialog in korg to automatically fix broken incidences.
> 
> M  +3    -3    akonadi/calendar/calendarbase.cpp
> 
> http://commits.kde.org/kdepimlibs/d4f2cf4f8613df3654769e5d1f83219bbec866c1

Thanks!