Bug 326396 - KAlarm crash on adding existing KAlarm calendar to Kontact
Summary: KAlarm crash on adding existing KAlarm calendar to Kontact
Status: RESOLVED WORKSFORME
Alias: None
Product: kalarm
Classification: Applications
Component: general (other bugs)
Version First Reported In: 2.10.6-ak
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: David Jarvie
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2013-10-21 18:09 UTC by Fritigern
Modified: 2020-05-23 23:19 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fritigern 2013-10-21 18:09:06 UTC
Application: kalarm (2.10.6-ak)
KDE Platform Version: 4.11.2
Qt Version: 4.8.4
Operating System: Linux 3.11.0-12-generic x86_64
Distribution: Ubuntu 13.10

-- Information about the crash:
- What I was doing when the application crashed:
Adding an existing KAlarm calendar to Kontact. Both KAlarm and Kontact were running at the time.
Imported .cal file was given the display name of "KAlarm Active Alarms", defaults were accepted and .cal was therefore r/w. 
Upon pressing the 'OK' button, KAlarm crashed, but Kontact did not seem to have been affected.
Restarted KAlarm and the same .cal file now shows in KAlarm as both "KAlarm Active Alarms" and the default "Active Alarms".

Expected behavior would be that Kontact shows the calendar as "KAlarm Active Alarms" whilst KAlarm would show it as "Active Alarms".
Alternatively, if the alarm names are shared between applications, the existing calendar name should be automatically filled in, the moment it is added to another application, or -when a name already exists- the new name should be rejected with a notification, and replaced with the existing name.

-- Backtrace:
Application: KAlarm (kalarm), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f7d6e1247c0 (LWP 3006))]

Thread 2 (Thread 0x7f7d527c8700 (LWP 3282)):
#0  0x00007f7d688fbf7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f7d63158694 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f7d6315879c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f7d69f49a76 in QEventDispatcherGlib::processEvents (this=0x7f7d4c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f7d69f1b5ef in QEventLoop::processEvents (this=this@entry=0x7f7d527c7d70, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f7d69f1b8e5 in QEventLoop::exec (this=this@entry=0x7f7d527c7d70, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f7d69e1a88f in QThread::exec (this=this@entry=0x10bb7e0) at thread/qthread.cpp:542
#7  0x00007f7d69efcd13 in QInotifyFileSystemWatcherEngine::run (this=0x10bb7e0) at io/qfilesystemwatcher_inotify.cpp:265
#8  0x00007f7d69e1cf2f in QThreadPrivate::start (arg=0x10bb7e0) at thread/qthread_unix.cpp:338
#9  0x00007f7d649eaf6e in start_thread (arg=0x7f7d527c8700) at pthread_create.c:311
#10 0x00007f7d689089cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f7d6e1247c0 (LWP 3006)):
[KCrash Handler]
#6  QModelIndex (other=..., this=0x7fff356d8680) at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:65
#7  QSortFilterProxyModel::parent (this=0xd51430, child=...) at itemviews/qsortfilterproxymodel.cpp:1676
#8  0x00007f7d69f0f2a3 in parent (this=<optimized out>) at kernel/qabstractitemmodel.h:393
#9  QPersistentModelIndex::parent (this=this@entry=0x1011100) at kernel/qabstractitemmodel.cpp:347
#10 0x00007f7d6980169f in parent (this=0x1011100) at itemviews/qitemselectionmodel.h:78
#11 contains (index=..., this=0x1011100) at itemviews/qitemselectionmodel.h:83
#12 QItemSelection::contains (this=0xe00818, index=...) at itemviews/qitemselectionmodel.cpp:424
#13 0x00007f7d69801b9c in QItemSelectionModel::isSelected (this=this@entry=0xe00760, index=...) at itemviews/qitemselectionmodel.cpp:1219
#14 0x00007f7d697d4429 in QListView::paintEvent (this=0xdfc7a0, e=<optimized out>) at itemviews/qlistview.cpp:987
#15 0x00007f7d69309104 in QWidget::event (this=this@entry=0xdfc7a0, event=event@entry=0x7fff356d9300) at kernel/qwidget.cpp:8532
#16 0x00007f7d696aa5be in QFrame::event (this=0xdfc7a0, e=0x7fff356d9300) at widgets/qframe.cpp:557
#17 0x00007f7d697b96b3 in QAbstractItemView::viewportEvent (this=0xdfc7a0, event=0x7fff356d9300) at itemviews/qabstractitemview.cpp:1644
#18 0x0000000000549679 in ?? ()
#19 0x00007f7d69f1ca26 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=this@entry=0xaa1f80, receiver=receiver@entry=0xdaaa70, event=event@entry=0x7fff356d9300) at kernel/qcoreapplication.cpp:1056
#20 0x00007f7d692b9ddc in QApplicationPrivate::notify_helper (this=this@entry=0xaa1f80, receiver=receiver@entry=0xdaaa70, e=e@entry=0x7fff356d9300) at kernel/qapplication.cpp:4563
#21 0x00007f7d692c0470 in QApplication::notify (this=this@entry=0xac0440, receiver=receiver@entry=0xdaaa70, e=e@entry=0x7fff356d9300) at kernel/qapplication.cpp:4353
#22 0x00007f7d6abe0a6a in KApplication::notify (this=0xac0440, receiver=0xdaaa70, event=0x7fff356d9300) at ../../kdeui/kernel/kapplication.cpp:311
#23 0x00007f7d69f1c8bd in QCoreApplication::notifyInternal (this=0xac0440, receiver=receiver@entry=0xdaaa70, event=event@entry=0x7fff356d9300) at kernel/qcoreapplication.cpp:946
#24 0x00007f7d69303811 in sendSpontaneousEvent (event=0x7fff356d9300, receiver=0xdaaa70) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#25 QWidgetPrivate::drawWidget (this=this@entry=0xdfc7d0, pdev=0xbffdc0, rgn=..., offset=..., flags=68, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0xd62380) at kernel/qwidget.cpp:5598
#26 0x00007f7d694c5f4a in QWidgetBackingStore::sync (this=0xd62380) at painting/qbackingstore.cpp:1365
#27 0x00007f7d692f8fc0 in QWidgetPrivate::syncBackingStore (this=this@entry=0xd359e0) at kernel/qwidget.cpp:1896
#28 0x00007f7d69308c82 in QWidget::event (this=this@entry=0xd29220, event=event@entry=0xd0e970) at kernel/qwidget.cpp:8679
#29 0x00007f7d696c2db3 in QMainWindow::event (this=this@entry=0xd29220, event=event@entry=0xd0e970) at widgets/qmainwindow.cpp:1478
#30 0x00007f7d6ac94fa1 in KMainWindow::event (this=this@entry=0xd29220, ev=ev@entry=0xd0e970) at ../../kdeui/widgets/kmainwindow.cpp:1084
#31 0x00007f7d6accca49 in KXmlGuiWindow::event (this=0xd29220, ev=0xd0e970) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:126
#32 0x00007f7d692b9dfc in QApplicationPrivate::notify_helper (this=this@entry=0xaa1f80, receiver=receiver@entry=0xd29220, e=e@entry=0xd0e970) at kernel/qapplication.cpp:4567
#33 0x00007f7d692c0470 in QApplication::notify (this=this@entry=0xac0440, receiver=receiver@entry=0xd29220, e=e@entry=0xd0e970) at kernel/qapplication.cpp:4353
#34 0x00007f7d6abe0a6a in KApplication::notify (this=0xac0440, receiver=0xd29220, event=0xd0e970) at ../../kdeui/kernel/kapplication.cpp:311
#35 0x00007f7d69f1c8bd in QCoreApplication::notifyInternal (this=0xac0440, receiver=receiver@entry=0xd29220, event=event@entry=0xd0e970) at kernel/qcoreapplication.cpp:946
#36 0x00007f7d69f1fe1f in sendEvent (event=0xd0e970, receiver=0xd29220) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#37 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0xa5dde0) at kernel/qcoreapplication.cpp:1570
#38 0x00007f7d69f202c3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1463
#39 0x00007f7d69f4a073 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#40 postEventSourceDispatch (s=0xad5ad0) at kernel/qeventdispatcher_glib.cpp:279
#41 0x00007f7d631583a6 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007f7d631586f8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007f7d6315879c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007f7d69f49a55 in QEventDispatcherGlib::processEvents (this=0xa5f2a0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#45 0x00007f7d6935b9d6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#46 0x00007f7d69f1b5ef in QEventLoop::processEvents (this=this@entry=0x7fff356d9d00, flags=...) at kernel/qeventloop.cpp:149
#47 0x00007f7d69f1b8e5 in QEventLoop::exec (this=this@entry=0x7fff356d9d00, flags=...) at kernel/qeventloop.cpp:204
#48 0x00007f7d69f20e5b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#49 0x000000000044d4a4 in ?? ()
#50 0x00007f7d6882fde5 in __libc_start_main (main=0x44abf0, argc=3, ubp_av=0x7fff356daba8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff356dab98) at libc-start.c:260
#51 0x000000000044ec12 in _start ()

Possible duplicates by query: bug 307631.

Reported using DrKonqi
Comment 1 David Jarvie 2014-09-17 22:29:03 UTC
The crash also occurs after a calendar is created in KAlarm which uses the same calendar file as another existing calendar. In this case, it crashes when the new calendar is enabled.
Comment 2 David Jarvie 2014-10-01 16:45:38 UTC
Opening a KAlarm calendar in KOrganizer as an ICal calendar will lead to problems if KOrganizer updates the calendar. If it is configured as an ICal calendar, it should be set to read-only.

A mechanism is required to prevent KAlarm calendars from being opened as read-write ICal calendars. This is not a straightforward problem.
Comment 3 David Jarvie 2020-05-23 23:19:12 UTC
I can no longer reproduce this crash using the latest versions of KAlarm and KOrganizer, so marking as closed.