Bug 469045 - Kalendar crashes after saving an all-day event
Summary: Kalendar crashes after saving an all-day event
Status: RESOLVED FIXED
Alias: None
Product: Merkuro
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Claudio Cambra
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2023-04-27 10:47 UTC by Stefan Jacob
Modified: 2023-05-06 22:42 UTC (History)
2 users (show)

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


Attachments
New crash information added by DrKonqi (11.13 KB, text/plain)
2023-05-06 22:42 UTC, Josh
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Jacob 2023-04-27 10:47:42 UTC
Application: kalendar (23.04.0)

Qt Version: 5.15.9
Frameworks Version: 5.105.0
Operating System: Linux 6.2.12-arch1-1 x86_64
Windowing System: X11
Distribution: Arch Linux
DrKonqi: 5.27.4 [KCrashBackend]

-- Information about the crash:
Creating a new all-day event in Kalendar, saving it, reopening it, and saving it again causes Kalendar to crash.
I am using a calendar from my self-hosted Nextcloud instance.

The crash can be reproduced every time.

-- Backtrace:
Application: Kalendar (kalendar), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
[KCrash Handler]
#6  0x00007fdf9a1a1250 in std::__atomic_base<int>::operator--() (this=0x0, this=<optimized out>) at /usr/include/c++/12.2.1/bits/atomic_base.h:393
#7  QAtomicOps<int>::deref<int>(std::atomic<int>&) (_q_value=<error reading variable: Cannot access memory at address 0x0>, _q_value=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:289
#8  QBasicAtomicInteger<int>::deref() (this=0x0, this=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:119
#9  QDateTime::Data::operator=(QDateTime::Data const&) (other=..., this=0x55b870345228) at time/qdatetime.cpp:3411
#10 QDateTime::operator=(QDateTime const&) (this=this@entry=0x55b870345228, other=...) at time/qdatetime.cpp:3791
#11 0x000055b867c4886e in IncidenceOccurrenceModel::Occurrence::operator=(IncidenceOccurrenceModel::Occurrence const&) (this=0x55b870345228) at /usr/src/debug/kalendar/kalendar-23.04.0/src/models/incidenceoccurrencemodel.h:89
#12 QVector<IncidenceOccurrenceModel::Occurrence>::replace(int, IncidenceOccurrenceModel::Occurrence const&) (t=..., i=<optimized out>, this=0x55b869868660) at /usr/include/qt/QtCore/qvector.h:491
#13 IncidenceOccurrenceModel::slotSourceDataChanged(QModelIndex const&, QModelIndex const&) (this=0x55b8698685f0, upperLeft=..., bottomRight=<optimized out>) at /usr/src/debug/kalendar/kalendar-23.04.0/src/models/incidenceoccurrencemodel.cpp:227
#14 0x00007fdf9a2beb41 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff209f6350, r=<optimized out>, this=0x55b86986c6d0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#15 doActivate<false>(QObject*, int, void**) (sender=0x55b868395500, signal_index=3, argv=0x7fff209f6350) at kernel/qobject.cpp:3923
#16 0x00007fdf9a246c41 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>) at .moc/moc_qabstractitemmodel.cpp:557
#17 0x00007fdf9a26d316 in QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=0x55b8683696a0, source_top_left=<optimized out>, source_bottom_right=<optimized out>, roles=...) at itemmodels/qsortfilterproxymodel.cpp:1539
#18 0x00007fdf9a2becf0 in doActivate<false>(QObject*, int, void**) (sender=0x55b868388a60, signal_index=3, argv=0x7fff209f6640) at kernel/qobject.cpp:3935
#19 0x00007fdf9a246c41 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>) at .moc/moc_qabstractitemmodel.cpp:557
#20 0x00007fdf9a26d316 in QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=0x55b86838a7a0, source_top_left=<optimized out>, source_bottom_right=<optimized out>, roles=...) at itemmodels/qsortfilterproxymodel.cpp:1539
#21 0x00007fdf9a2becf0 in doActivate<false>(QObject*, int, void**) (sender=0x55b868388f60, signal_index=3, argv=0x7fff209f6930) at kernel/qobject.cpp:3935
#22 0x00007fdf9a246c41 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>) at .moc/moc_qabstractitemmodel.cpp:557
#23 0x00007fdf9a26d316 in QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=0x55b868389920, source_top_left=<optimized out>, source_bottom_right=<optimized out>, roles=...) at itemmodels/qsortfilterproxymodel.cpp:1539
#24 0x00007fdf9a2becf0 in doActivate<false>(QObject*, int, void**) (sender=0x55b8683855e0, signal_index=3, argv=0x7fff209f6c20) at kernel/qobject.cpp:3935
#25 0x00007fdf9a246c41 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>) at .moc/moc_qabstractitemmodel.cpp:557
#26 0x00007fdf9c58969b in KSelectionProxyModelPrivate::sourceDataChanged(QModelIndex const&, QModelIndex const&) (this=0x55b8683888b0, topLeft=..., bottomRight=...) at /usr/src/debug/kitemmodels/kitemmodels-5.105.0/src/core/kselectionproxymodel.cpp:734
#27 0x00007fdf9a2beb41 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff209f6e80, r=<optimized out>, this=0x55b8683893b0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#28 doActivate<false>(QObject*, int, void**) (sender=0x55b8683f4e60, signal_index=3, argv=0x7fff209f6e80) at kernel/qobject.cpp:3923
#29 0x00007fdf9a246c41 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=this@entry=0x55b8683f4e60, _t1=..., _t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:557
#30 0x00007fdf9c745abc in Akonadi::EntityTreeModelPrivate::dataChanged(QModelIndex const&, QModelIndex const&) [clone .isra.0] (top=..., bottom=<optimized out>, this=<optimized out>) at /usr/src/debug/akonadi/akonadi-23.04.0/src/core/models/entitytreemodel_p.cpp:1618
#31 0x00007fdf9c72752b in Akonadi::EntityTreeModelPrivate::monitoredItemChanged(Akonadi::Item const&, QSet<QByteArray> const&) (item=..., this=0x55b8683b6ac0) at /usr/src/debug/akonadi/akonadi-23.04.0/src/core/models/entitytreemodel_p.cpp:1117
#32 Akonadi::EntityTreeModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/akonadi/build/src/core/KPim5AkonadiCore_autogen/include/moc_entitytreemodel.cpp:227
#33 0x00007fdf9a2becf0 in doActivate<false>(QObject*, int, void**) (sender=0x55b8683b2790, signal_index=3, argv=0x7fff209f7120) at kernel/qobject.cpp:3935
#34 0x00007fdf9c6a735c in Akonadi::Monitor::itemChanged(Akonadi::Item const&, QSet<QByteArray> const&) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>) at /usr/src/debug/akonadi/build/src/core/KPim5AkonadiCore_autogen/include/moc_monitor.cpp:864
#35 0x00007fdf9c6bbc21 in Akonadi::MonitorPrivate::emitToListeners<void (Akonadi::Monitor::*)(Akonadi::Item const&, QSet<QByteArray> const&), Akonadi::Item, QSet<QByteArray> >(void (Akonadi::Monitor::*)(Akonadi::Item const&, QSet<QByteArray> const&), Akonadi::Item, QSet<QByteArray>) (signal=<optimized out>, this=0x55b8683b2810) at /usr/src/debug/akonadi/akonadi-23.04.0/src/core/monitor_p.h:395
#36 Akonadi::MonitorPrivate::emitItemsNotification(Akonadi::Protocol::ItemChangeNotification const&, QVector<Akonadi::Item> const&, Akonadi::Collection const&, Akonadi::Collection const&) (this=0x55b8683b2810, msg=<optimized out>, items=..., collection=<optimized out>, collectionDest=<optimized out>) at /usr/src/debug/akonadi/akonadi-23.04.0/src/core/monitor_p.cpp:1056
#37 0x00007fdf9c6b62f4 in Akonadi::MonitorPrivate::emitNotification(QSharedPointer<Akonadi::Protocol::ChangeNotification> const&) (this=0x55b8683b2810, msg=<optimized out>) at /usr/src/debug/akonadi/akonadi-23.04.0/src/core/monitor_p.cpp:544
#38 0x00007fdf9c6b5425 in Akonadi::MonitorPrivate::flushPipeline() (this=this@entry=0x55b8683b2810) at /usr/src/debug/akonadi/akonadi-23.04.0/src/core/monitor_p.cpp:969
#39 0x00007fdf9c6b5dde in Akonadi::MonitorPrivate::dataAvailable() (this=0x55b8683b2810) at /usr/src/debug/akonadi/akonadi-23.04.0/src/core/monitor_p.cpp:978
#40 0x00007fdf9a2beb41 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff209f7410, r=<optimized out>, this=0x55b868395f60, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#41 doActivate<false>(QObject*, int, void**) (sender=0x7fdf8c00cd10, signal_index=3, argv=0x7fff209f7410) at kernel/qobject.cpp:3923
#42 0x00007fdf9a2becf0 in doActivate<false>(QObject*, int, void**) (sender=0x55b869a372e0, signal_index=6, argv=0x7fff209f7540) at kernel/qobject.cpp:3935
#43 0x00007fdf9b6e67da in KJob::result(KJob*, KJob::QPrivateSignal) (this=this@entry=0x55b869a372e0, _t1=<optimized out>, _t1@entry=0x55b869a372e0, _t2=...) at /usr/src/debug/kcoreaddons/build/src/lib/KF5CoreAddons_autogen/include/moc_kjob.cpp:633
#44 0x00007fdf9b6ec52c in KJob::finishJob(bool) (this=0x55b869a372e0, emitResult=<optimized out>) at /usr/src/debug/kcoreaddons/kcoreaddons-5.105.0/src/lib/jobs/kjob.cpp:98
#45 0x00007fdf9a2b1c80 in QObject::event(QEvent*) (this=0x55b869a372e0, e=0x55b8705668b0) at kernel/qobject.cpp:1347
#46 0x00007fdf9af78b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55b869a372e0, e=0x55b8705668b0) at kernel/qapplication.cpp:3640
#47 0x00007fdf9a28e028 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55b869a372e0, event=0x55b8705668b0) at kernel/qcoreapplication.cpp:1064
#48 0x00007fdf9a28e093 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#49 0x00007fdf9a28eb33 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55b867f44820) at kernel/qcoreapplication.cpp:1821
#50 0x00007fdf9a2d4f58 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55b86800e650) at kernel/qeventdispatcher_glib.cpp:277
#51 0x00007fdf97f0f53b in g_main_dispatch (context=0x7fdf8c000ee0) at ../glib/glib/gmain.c:3460
#52 g_main_context_dispatch (context=0x7fdf8c000ee0) at ../glib/glib/gmain.c:4200
#53 0x00007fdf97f6c219 in g_main_context_iterate.constprop.0 (context=0x7fdf8c000ee0, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4276
#54 0x00007fdf97f0e1a2 in g_main_context_iteration (context=0x7fdf8c000ee0, may_block=1) at ../glib/glib/gmain.c:4343
#55 0x00007fdf9a2d8d3c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55b8680128a0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#56 0x00007fdf9a28668c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fff209f79c0, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#57 0x00007fdf9a2912f9 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#58 0x00007fdf9a73b052 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#59 0x00007fdf9af76f2a in QApplication::exec() () at kernel/qapplication.cpp:2832
#60 0x000055b867c1cfc4 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kalendar/kalendar-23.04.0/src/main.cpp:189
[Inferior 1 (process 20100) detached]

Reported using DrKonqi
Comment 1 Carl Schwan 2023-04-27 11:56:06 UTC
This bug was fixed with kalendar 23.04.1 which should be out today.
Comment 2 Josh 2023-05-06 22:42:24 UTC
Created attachment 158744 [details]
New crash information added by DrKonqi

kalendar (23.04.0) using Qt 5.15.9

Kalendar crashes whenever I delete an event on my Nextcloud calendars using any of the three options (only this one, this and all future, or all). On restarting the program the event(s) are indeed gone.

-- Backtrace (Reduced):
#6  0x00007f39647a1250 in std::__atomic_base<int>::operator--() (this=0x0, this=<optimized out>) at /usr/include/c++/12.2.1/bits/atomic_base.h:393
#7  QAtomicOps<int>::deref<int>(std::atomic<int>&) (_q_value=<error reading variable: Cannot access memory at address 0x0>, _q_value=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:289
[...]
#9  QDateTime::Data::operator=(QDateTime::Data const&) (other=..., this=0x55b817315828) at time/qdatetime.cpp:3411
#10 QDateTime::operator=(QDateTime const&) (this=this@entry=0x55b817315828, other=...) at time/qdatetime.cpp:3791
#11 0x000055b81325486e in IncidenceOccurrenceModel::Occurrence::operator=(IncidenceOccurrenceModel::Occurrence const&) (this=0x55b817315828) at /usr/src/debug/kalendar/kalendar-23.04.0/src/models/incidenceoccurrencemodel.h:89