Bug 210552

Summary: KAlarm crashed after trying to upgrade the alarms' format [AlarmCalendar::atLoginAlarms, KAlarmApp::processQueue, KAlarmApp::qt_metacall]
Product: [Applications] kalarm Reporter: Raphael Kubo da Costa <rakuco>
Component: generalAssignee: David Jarvie <djarvie>
Status: CLOSED FIXED    
Severity: crash CC: kde.org, maurice, shaligm, vshader
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: KDE 4.3.3
Attachments: .ics files
kalarmrc

Description Raphael Kubo da Costa 2009-10-14 16:00:26 UTC
Application: kalarm (2.3.2)
KDE Version: 4.3.72 (KDE 4.3.72 (KDE 4.4 >= 20091013)) (Compiled from sources)
Qt Version: 4.6.0
Operating System: Linux 2.6.31-ARCH i686

What I was doing when the application crashed:
Today, after recompiling trunk (rev 1034840), I was asked by KAlarm on login to upgrade my alarms' format. I clicked Yes in the three prompts (for archived alarms, templates and another one I don't remember).

After that, KAlarm crashed.

 -- Backtrace:
Application: KAlarm (kalarm), signal: Segmentation fault
[Current thread is 1 (Thread 0xb3644b20 (LWP 13916))]

Thread 2 (Thread 0xb1a68b70 (LWP 13971)):
#0  0xb7777424 in __kernel_vsyscall ()
#1  0xb50b12a1 in select () from /lib/libc.so.6
#2  0xb6249e78 in QProcessManager::run (this=0xb63d45a4) at /home/kubo/kde4/src/qt-copy/src/corelib/io/qprocess_unix.cpp:241
#3  0xb615d768 in QThreadPrivate::start (arg=0xb63d45a4) at /home/kubo/kde4/src/qt-copy/src/corelib/thread/qthread_unix.cpp:244
#4  0xb60cc65c in start_thread () from /lib/libpthread.so.0
#5  0xb50b81fe in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb3644b20 (LWP 13916)):
[KCrash Handler]
#6  AlarmCalendar::atLoginAlarms (this=0x0) at /home/kubo/kde4/src/kdepim/kalarm/alarmcalendar.cpp:1453
#7  0x080cb854 in KAlarmApp::processQueue (this=0xa015ac8) at /home/kubo/kde4/src/kdepim/kalarm/kalarmapp.cpp:669
#8  0x080cd26b in KAlarmApp::qt_metacall (this=0xa015ac8, _c=QMetaObject::InvokeMetaMethod, _id=31, _a=0xbfeecde8) at /home/kubo/kde4/src/build/kdepim/kalarm/kalarmapp.moc:108
#9  0xb6278d70 in QMetaObject::metacall (object=0xa015ac8, cl=QMetaObject::InvokeMetaMethod, idx=31, argv=0xbfeecde8) at /home/kubo/kde4/src/qt-copy/src/corelib/kernel/qmetaobject.cpp:237
#10 0xb628cda4 in QMetaObject::activate (sender=0xa193128, m=0xb63d0260, local_signal_index=0, argv=0x0) at /home/kubo/kde4/src/qt-copy/src/corelib/kernel/qobject.cpp:3390
#11 0xb62959a5 in QSingleShotTimer::timeout (this=0xa193128) at .moc/debug-shared/qtimer.moc:82
#12 0xb629585a in QSingleShotTimer::timerEvent (this=0xa193128) at /home/kubo/kde4/src/qt-copy/src/corelib/kernel/qtimer.cpp:308
#13 0xb6288df0 in QObject::event (this=0xa193128, e=0xbfeed364) at /home/kubo/kde4/src/qt-copy/src/corelib/kernel/qobject.cpp:1202
#14 0xb54002e8 in QApplicationPrivate::notify_helper (this=0xa019028, receiver=0xa193128, e=0xbfeed364) at /home/kubo/kde4/src/qt-copy/src/gui/kernel/qapplication.cpp:4198
#15 0xb53fe3b8 in QApplication::notify (this=0xa015ac8, receiver=0xa193128, e=0xbfeed364) at /home/kubo/kde4/src/qt-copy/src/gui/kernel/qapplication.cpp:3682
#16 0xb68b880b in KApplication::notify (this=0xa015ac8, receiver=0xa193128, event=0xbfeed364) at /home/kubo/kde4/src/kdelibs/kdeui/kernel/kapplication.cpp:302
#17 0xb62717dd in QCoreApplication::notifyInternal (this=0xa015ac8, receiver=0xa193128, event=0xbfeed364) at /home/kubo/kde4/src/qt-copy/src/corelib/kernel/qcoreapplication.cpp:704
#18 0xb73c51b7 in QCoreApplication::sendEvent (receiver=0xa193128, event=0xbfeed364) at ../../include/QtCore/../../../../qt-copy/src/corelib/kernel/qcoreapplication.h:215
#19 0xb62abdd2 in QTimerInfoList::activateTimers (this=0xa022634) at /home/kubo/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_unix.cpp:603
#20 0xb62a7d54 in timerSourceDispatch (source=0xa022600) at /home/kubo/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:184
#21 0xb62a7e0d in idleTimerSourceDispatch (source=0xa022198) at /home/kubo/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:231
#22 0xb3eb9328 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#23 0xb3ebcba0 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#24 0xb3ebccd3 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#25 0xb62a8ef0 in QEventDispatcherGlib::processEvents (this=0xa0178c8, flags=...) at /home/kubo/kde4/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:407
#26 0xb54bf128 in QGuiEventDispatcherGlib::processEvents (this=0xa0178c8, flags=...) at /home/kubo/kde4/src/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:202
#27 0xb626ec3f in QEventLoop::processEvents (this=0xbfeed65c, flags=...) at /home/kubo/kde4/src/qt-copy/src/corelib/kernel/qeventloop.cpp:149
#28 0xb626ed84 in QEventLoop::exec (this=0xbfeed65c, flags=...) at /home/kubo/kde4/src/qt-copy/src/corelib/kernel/qeventloop.cpp:201
#29 0xb6271eb9 in QCoreApplication::exec () at /home/kubo/kde4/src/qt-copy/src/corelib/kernel/qcoreapplication.cpp:981
#30 0xb53fe070 in QApplication::exec () at /home/kubo/kde4/src/qt-copy/src/gui/kernel/qapplication.cpp:3603
#31 0x0809b3fa in main (argc=3, argv=0xbfeedb44) at /home/kubo/kde4/src/kdepim/kalarm/main.cpp:126

Reported using DrKonqi
Comment 1 David Jarvie 2009-10-14 17:32:45 UTC
Could you please attach your calendar files: calendar.ics, expired.ics and template.ics in the directory ~/.kde/share/apps/kalarm/ or ~/.kde4/... and also the KAlarm config file ~/.kde/share/config/kalarmrc. Feel free to change the message texts if you want to keep them private.
Comment 2 Raphael Kubo da Costa 2009-10-14 19:55:52 UTC
Created attachment 37581 [details]
.ics files
Comment 3 Raphael Kubo da Costa 2009-10-14 19:56:20 UTC
Created attachment 37582 [details]
kalarmrc
Comment 4 David Jarvie 2009-10-15 12:54:41 UTC
The bug occurs when KAlarm is being session restored on login, and when the calendars also have to be updated. The calendar update is done before the KAlarm window is restored, and for some reason after the update, the session restoration data has changed so that no valid window is then found to restore.
Comment 5 David Jarvie 2009-10-16 01:58:10 UTC
It turned out that the wrong (non-existent) session configuration file was being accessed if it wasn't read before the calendar file updates. Forcing a read before the calendar updates fixes this. But why does this happen??

Fixed for KDE 4.3.3 (SVN commits 1035835, 1035836).

Thanks for reporting this bug.
Comment 6 David Jarvie 2009-10-18 20:55:18 UTC
*** Bug 211005 has been marked as a duplicate of this bug. ***
Comment 7 David Jarvie 2009-11-01 02:36:07 UTC
*** Bug 195562 has been marked as a duplicate of this bug. ***
Comment 8 David Jarvie 2010-02-05 13:56:34 UTC
*** Bug 225618 has been marked as a duplicate of this bug. ***
Comment 9 David Jarvie 2010-03-08 10:31:33 UTC
*** Bug 229603 has been marked as a duplicate of this bug. ***