Bug 293193 - Kalarm crashes on start
Summary: Kalarm crashes on start
Status: CLOSED FIXED
Alias: None
Product: kalarm
Classification: Applications
Component: Akonadi (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: David Jarvie
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-03 09:39 UTC by Vit Pelcak
Modified: 2020-08-17 23:38 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.8.1


Attachments
kdebug.dbg (16.81 KB, text/plain)
2012-02-03 14:11 UTC, Vit Pelcak
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vit Pelcak 2012-02-03 09:39:50 UTC
Application: kalarm (2.8.0-ak)
KDE Platform Version: 4.8.00 (4.8.0 "release 462"
Qt Version: 4.8.0
Operating System: Linux 3.1.9-1.4-desktop x86_64
Distribution: "openSUSE 12.1 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:

After upgrade of KDE to 4.8 and installation of some updates, Kalarm started to display my resource and everything it provided twice

Therefore I stopped it and tried to remove all of its configs. However as data are stored in Akonadi (I hate it so much), it didn't help.

All alarms are now removed. Then I added some new, it was displayed twice again. So, I marked tose alarms and asked Kalarm to delete them. Kalarm crashed and now crashes on start.

-- Backtrace:
Application: KAlarm (kalarm), signal: Segmentation fault
[KCrash Handler]
#6  KAlarmCal::KAEvent::Private::calcTriggerTimes (this=0x200000001) at /usr/src/debug/kdepimlibs-4.8.0/kalarmcal/kaevent.cpp:4426
#7  0x00007f8d11b61fb4 in KAlarmCal::KAEvent::nextTrigger (this=<optimized out>, type=KAlarmCal::KAEvent::ALL_TRIGGER) at /usr/src/debug/kdepimlibs-4.8.0/kalarmcal/kaevent.cpp:2754
#8  0x0000000000488ca8 in AlarmCalendar::earliestAlarm (this=0xc65e80) at /usr/src/debug/kdepim-4.8.0/kalarm/alarmcalendar.cpp:2189
#9  0x00000000004a5f5c in KAlarmApp::checkNextDueAlarm (this=0x839f70) at /usr/src/debug/kdepim-4.8.0/kalarm/kalarmapp.cpp:701
#10 0x00007f8d0dd98331 in QMetaObject::activate (sender=0xc65e80, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547
#11 0x000000000048dd21 in AlarmCalendar::addNewEvent (this=0xc65e80, collection=..., event=0xd71010, replace=false) at /usr/src/debug/kdepim-4.8.0/kalarm/alarmcalendar.cpp:1448
#12 0x000000000048edd1 in AlarmCalendar::updateEventInternal (this=0xc65e80, event=..., collection=...) at /usr/src/debug/kdepim-4.8.0/kalarm/alarmcalendar.cpp:783
#13 0x000000000048f08f in AlarmCalendar::slotEventChanged (this=0xc65e80, event=...) at /usr/src/debug/kdepim-4.8.0/kalarm/alarmcalendar.cpp:726
#14 0x000000000048f178 in AlarmCalendar::slotEventsAdded (this=0xc65e80, events=...) at /usr/src/debug/kdepim-4.8.0/kalarm/alarmcalendar.cpp:713
#15 0x00007f8d0dd98331 in QMetaObject::activate (sender=0x833890, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff275f2de0) at kernel/qobject.cpp:3547
#16 0x00000000004539a3 in AkonadiModel::eventsAdded (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/kdepim-4.8.0/build/kalarm/moc_akonadimodel.cpp:188
#17 0x000000000053fc32 in AkonadiModel::slotRowsInserted (this=0x833890, parent=..., start=0, end=0) at /usr/src/debug/kdepim-4.8.0/kalarm/akonadimodel.cpp:1590
#18 0x00007f8d0dd98331 in QMetaObject::activate (sender=0x833890, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff275f30d0) at kernel/qobject.cpp:3547
#19 0x00007f8d0dde4a34 in QAbstractItemModel::rowsInserted (this=<optimized out>, _t1=<optimized out>, _t2=0, _t3=0) at .moc/release-shared/moc_qabstractitemmodel.cpp:197
#20 0x00007f8d0dd7e50d in QAbstractItemModel::endInsertRows (this=0x833890) at kernel/qabstractitemmodel.cpp:2433
#21 0x00007f8d109bc1b8 in ?? () from /usr/lib64/libakonadi-kde.so.4
#22 0x00007f8d109bc944 in ?? () from /usr/lib64/libakonadi-kde.so.4
#23 0x00007f8d0dd98331 in QMetaObject::activate (sender=0xd80090, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff275f3480) at kernel/qobject.cpp:3547
#24 0x00007f8d109206b2 in Akonadi::ItemFetchJob::itemsReceived(QList<Akonadi::Item> const&) () from /usr/lib64/libakonadi-kde.so.4
#25 0x00007f8d109ae193 in ?? () from /usr/lib64/libakonadi-kde.so.4
#26 0x00007f8d0dd98331 in QMetaObject::activate (sender=0xd80090, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff275f35f0) at kernel/qobject.cpp:3547
#27 0x00007f8d0e496412 in KJob::result(KJob*) () from /usr/lib64/libkdecore.so.5
#28 0x00007f8d0e496450 in KJob::emitResult() () from /usr/lib64/libkdecore.so.5
#29 0x00007f8d0dd9d4f6 in QObject::event (this=0xd80090, e=<optimized out>) at kernel/qobject.cpp:1195
#30 0x00007f8d0d10ad84 in notify_helper (e=0xc75bf0, receiver=0xd80090, this=0x868810) at kernel/qapplication.cpp:4550
#31 QApplicationPrivate::notify_helper (this=0x868810, receiver=0xd80090, e=0xc75bf0) at kernel/qapplication.cpp:4522
#32 0x00007f8d0d10fc03 in QApplication::notify (this=0x839f70, receiver=0xd80090, e=0xc75bf0) at kernel/qapplication.cpp:4411
#33 0x00007f8d0ea7f786 in KApplication::notify (this=0x839f70, receiver=0xd80090, event=0xc75bf0) at /usr/src/debug/kdelibs-4.8.0/kdeui/kernel/kapplication.cpp:311
#34 0x00007f8d0dd8448c in QCoreApplication::notifyInternal (this=0x839f70, receiver=0xd80090, event=0xc75bf0) at kernel/qcoreapplication.cpp:876
#35 0x00007f8d0dd87d2a in sendEvent (event=0xc75bf0, receiver=0xd80090) at kernel/qcoreapplication.h:231
#36 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x806850) at kernel/qcoreapplication.cpp:1500
#37 0x00007f8d0ddb3093 in sendPostedEvents () at kernel/qcoreapplication.h:236
#38 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279
#39 0x00007f8d06a0c58d in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#40 0x00007f8d06a0cd88 in ?? () from /usr/lib64/libglib-2.0.so.0
#41 0x00007f8d06a0cf59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#42 0x00007f8d0ddb34bf in QEventDispatcherGlib::processEvents (this=0x806110, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#43 0x00007f8d0d1addee in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#44 0x00007f8d0dd83272 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#45 0x00007f8d0dd834c7 in QEventLoop::exec (this=0x7fff275f3f40, flags=...) at kernel/qeventloop.cpp:204
#46 0x00007f8d0dd88025 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#47 0x00000000004518c7 in main (argc=5, argv=0x7fff275f4e58) at /usr/src/debug/kdepim-4.8.0/kalarm/main.cpp:130

Reported using DrKonqi
Comment 1 Vit Pelcak 2012-02-03 09:57:52 UTC
I have created new user. Kalarm doesn't crash for him.

But it displays several error messages on start.

Failed to create default calendar “Alarm templates”

Location: /home/test/.kde4/share/apps/kalarm/template.ics
(Agent instance creation timeout.)

Failed to create default calendar “Archived alarms” 
Location: /home/test/.kde4/share/apps/kalarm/expired.ics
(Agent instance creation timeout.)

Failed to create default calendar “Active alarms” 
Location: /home/test/.kde4/share/apps/kalarm/calendar.ics
(Could not get owner of name 'org.freedesktop.Akonadi.Resource.akonadi_kalarm_resource_0': no such name)

I'm just translating those messages from Czech, but in general, it should be OK.
Comment 2 David Jarvie 2012-02-03 13:35:56 UTC
Concerning the crash, can you please check (using View -> Show Calendars) that the correct number of active alarm calendars have been created. If you only have a single calendar (the default), the list should show only one entry.

Can you also capture debug output from KAlarm into a file and attach it to this bug, using the following method:

1) Run 'kdebugdialog --fullmode' and select each of
   5950 kalarm
   5952 akonadiresource (kalarm)
   5955 kdepimlibs (kalarmcal)

2) For each one, select output to File for each of debug, warning and error,
and set the same filename for each level.

3) Quit KAlarm.

4) Delete the file whose name was entered in kdebugdialog.

5) Restart KAlarm.

6) Create a new alarm and check that it is displayed twice.

7) As soon as this happens, quit KAlarm to stop more debug output from
accumulating in the file.

7) Attach the file to the bug report.

8) Run 'kdebugdialog --fullmode' again to revert the output to its old
destination (to avoid filling up the file needlessly).

9) Delete the file and restart KAlarm.


Concerning your second comment about the test user, could you please raise a separate bug for this. That will help to keep that bug visible and make sure it doesn't get forgotten.
Comment 3 Vit Pelcak 2012-02-03 14:11:48 UTC
Created attachment 68465 [details]
kdebug.dbg

There are two identical calendars.

I have 2 identical alarms already.

I did as you asked me to do, however now only one alarm is created, not two (what is rather weird since I always had duplicates before).

However when I try to delete one of those two duplicate alarms, kalarm crashes.

I cannot reproduce that bug. Weird.

But I still have 2 calendars. But I have no problem with that. Duplicate entries and crashes bothered me.
Comment 4 David Jarvie 2012-02-03 14:27:34 UTC
Can you check the two identical active alarm calendars, to verify whether they are both for the same file. If you hover over each calendar in the list, a tooltip will appear which shows the calendar file's location.

If the calendars are duplicated in this way, you can probably stop the crash occurring by deleting one of the two duplicate calendars, using the Remove button in the calendar list panel. You should also do this for archived alarms and alarm templates.
Comment 5 Vit Pelcak 2012-02-03 14:35:48 UTC
Yes, paths are the same.

I also tried to delete any of those two before, but kalarm resfused to delete "Default calendar of active alarms".
Comment 6 Vit Pelcak 2012-02-03 14:52:37 UTC
I cleaned that up by akonadiconsole. No issues since then. Except I have to refill alarms :-/
Comment 7 David Jarvie 2012-02-03 15:09:52 UTC
Thank you. There are really two bugs here:

1) KAlarm is creating duplicate resources when the Akonadi version is first run.

2) It needs to ensure that if duplicate resources exist, only one of them is used. This should prevent duplication of alarms and the crashes you have seen.
Comment 8 David Jarvie 2012-02-04 17:31:33 UTC
Duplicate calendars are now automatically disabled, which will prevent duplicate alarms and the crashes you saw. Git commits fa294799294fb4bb17375400f52c86b730724b22 (4.8) and a123ad732cd9210b0e355cac91ebefa38d581a4b (master).

Still to do: there should be a message to the user when this happens, and the creation of duplicate resources needs to be prevented.
Comment 9 David Jarvie 2012-02-19 00:52:24 UTC
This crash should, I hope, be fixed by commit c55b943be61cded1cedd05e9e6b04612b2d6058c (4.8 branch). If it occurs again after updating to 4.8.1, please reopen it.