Bug 455583 - kalendarc crashes when dismissing reminder notification
Summary: kalendarc crashes when dismissing reminder notification
Status: RESOLVED FIXED
Alias: None
Product: Reminder Daemon
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.20.2
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-06-19 04:52 UTC by Kishore Gopalakrishnan
Modified: 2022-06-30 14:56 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kishore Gopalakrishnan 2022-06-19 04:52:05 UTC
SUMMARY
When dimissing an event reminder using the 'dismiss' button on the notification, kalendarac crashed. This happens every time.

May be a duplicate of bug 455369, but the backtrace looks slightly different. I don't know enough to judge whether it is a duplicate or not.

SYSTEM INFORMATION
Operating System: Arch Linux
KDE Plasma Version: 5.25.0
KDE Frameworks Version: 5.95.0
Qt Version: 5.15.4
Kernel Version: 5.18.3-arch1-1 (64-bit)
Graphics Platform: X11

BACKTRACE
#4  <signal handler called>
#5  std::__atomic_base<int>::load (__m=std::memory_order_relaxed, this=0xae49) at /usr/include/qt/QtCore/qrefcount.h:54
#6  QAtomicOps<int>::loadRelaxed<int> (_q_value=<error reading variable: Cannot access memory at address 0xae49>) at /usr/include/qt/QtCore/qatomic_cxx11.h:239
#7  QBasicAtomicInteger<int>::loadRelaxed (this=0xae49) at /usr/include/qt/QtCore/qbasicatomic.h:107
#8  QtPrivate::RefCount::ref (this=0xae49) at /usr/include/qt/QtCore/qrefcount.h:55
#9  QString::QString (other=..., this=<optimized out>, this=<optimized out>, other=...) at /usr/include/qt/QtCore/qstring.h:1094
#10 AlarmNotification::uid (this=0x7fa5a800ff20) at /usr/src/debug/akonadi-calendar-22.04.2/reminder-daemon/alarmnotification.cpp:97
#11 KalendarAlarmClient::dismiss (this=0x7fff78f31900, notification=0x7fa5a800ff20) at /usr/src/debug/akonadi-calendar-22.04.2/reminder-daemon/kalendaralarmclient.cpp:119
#12 0x00007fa5bf0be251 in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#13 doActivate<false> (sender=0x560e5c324af0, signal_index=9, argv=0x7fff78f30e30) at kernel/qobject.cpp:3886
#14 0x00007fa5bffc6bf8 in KNotification::close (this=0x560e5c324af0) at /usr/src/debug/knotifications-5.95.0/src/knotification.cpp:358
#15 0x00007fa5bf0be251 in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#16 doActivate<false> (sender=0x560e5c2c8740, signal_index=3, argv=0x7fff78f30f60) at kernel/qobject.cpp:3886
#17 0x00007fa5bffc3d04 in KNotificationPlugin::finished (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/build/src/KF5Notifications_autogen/EWIEGA46WW/moc_knotificationplugin.cpp:173
#18 0x00007fa5bffdbb4a in NotifyByPopup::onNotificationClosed (this=0x560e5c2c8740, dbus_id=<optimized out>, reason=3) at /usr/src/debug/knotifications-5.95.0/src/notifybypopup.cpp:150
#19 0x00007fa5bf0be251 in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#20 doActivate<false> (sender=0x560e5c2c8778, signal_index=5, argv=0x7fff78f31130) at kernel/qobject.cpp:3886
#21 0x00007fa5bffe82aa in OrgFreedesktopNotificationsInterface::NotificationClosed (_t2=<optimized out>, _t1=<optimized out>, this=<optimized out>) at /usr/src/debug/build/src/notifications_interface.moc:287
#22 OrgFreedesktopNotificationsInterface::qt_static_metacall (_o=_o@entry=0x560e5c2c8778, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=2, _a=_a@entry=0x7fff78f31280) at /usr/src/debug/build/src/notifications_interface.moc:148
#23 0x00007fa5bffe8ce3 in OrgFreedesktopNotificationsInterface::qt_metacall (this=0x560e5c2c8778, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fff78f31280) at /usr/src/debug/build/src/notifications_interface.moc:242
#24 0x00007fa5bf3e0ecf in QDBusConnectionPrivate::deliverCall(QObject*, int, QDBusMessage const&, QVector<int> const&, int) [clone .constprop.0] (this=<optimized out>, object=<optimized out>, msg=..., metaTypes=..., slotIdx=<optimized out>) at /usr/src/debug/qtbase/src/dbus/qdbusintegrator.cpp:1001
#25 0x00007fa5bf0b1430 in QObject::event (this=0x560e5c2c8778, e=0x7fa5a8010200) at kernel/qobject.cpp:1314
#26 0x00007fa5bf08db28 in QCoreApplication::notifyInternal2 (receiver=0x560e5c2c8778, event=0x7fa5a8010200) at kernel/qcoreapplication.cpp:1064
#27 0x00007fa5bf08e623 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x560e5bc29780) at kernel/qcoreapplication.cpp:1821
#28 0x00007fa5bf0d4448 in postEventSourceDispatch (s=0x560e5bd01dd0) at kernel/qeventdispatcher_glib.cpp:277
#29 0x00007fa5bcb18c6b in g_main_dispatch (context=0x7fa5b0005010) at ../glib/glib/gmain.c:3417
#30 g_main_context_dispatch (context=0x7fa5b0005010) at ../glib/glib/gmain.c:4135
#31 0x00007fa5bcb6f001 in g_main_context_iterate.constprop.0 (context=context@entry=0x7fa5b0005010, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4211
#32 0x00007fa5bcb16392 in g_main_context_iteration (context=0x7fa5b0005010, may_block=1) at ../glib/glib/gmain.c:4276
#33 0x00007fa5bf0d827c in QEventDispatcherGlib::processEvents (this=0x560e5bd01fb0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#34 0x00007fa5bf0862ec in QEventLoop::exec (this=0x7fff78f31720, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#35 0x00007fa5bf090dd9 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#36 0x00007fa5bf53a022 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#37 0x0000560e5ae8f55a in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/akonadi-calendar-22.04.2/reminder-daemon/kalendaracmain.cpp:54
Comment 1 Bug Janitor Service 2022-06-30 14:40:13 UTC
A possibly relevant merge request was started @ https://invent.kde.org/pim/akonadi-calendar/-/merge_requests/30
Comment 2 David Faure 2022-06-30 14:56:00 UTC
Git commit 26694e8c82562eac2fdbdb6fa85f56b27fca82a0 by David Faure.
Committed on 30/06/2022 at 14:32.
Pushed by dfaure into branch 'release/22.04'.

Fix crash when clicking on dismiss, sometimes.

client->dismiss(this) ends up setting client to nullptr, so
the disconnect() warns about null receiver and doesn't actually
disconnect.

(This is similar to 24f3853f14ec in master)
Related: bug 455472, bug 455369, bug 455886, bug 455258

M  +1    -1    reminder-daemon/alarmnotification.cpp

https://invent.kde.org/pim/akonadi-calendar/commit/26694e8c82562eac2fdbdb6fa85f56b27fca82a0