Bug 462176 - Korganizer crashed after applying status to an empty partecipant
Summary: Korganizer crashed after applying status to an empty partecipant
Status: RESOLVED FIXED
Alias: None
Product: korganizer
Classification: Applications
Component: general (show other bugs)
Version: 5.15.3
Platform: Debian stable Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2022-11-23 16:34 UTC by Giacomo
Modified: 2023-02-19 14:39 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 22.12.4


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Giacomo 2022-11-23 16:34:40 UTC
Application: korganizer (5.15.3 (20.08.3))

Qt Version: 5.15.2
Frameworks Version: 5.78.0
Operating System: Linux 5.10.0-19-amd64 x86_64
Windowing system: X11
Distribution: Debian GNU/Linux 11 (bullseye)

-- Information about the crash:
- What I was doing when the application crashed:
I was setting the status of partecipant from KOrganizer (same with Kontact), and the name field was empty.
It also doesn't save partecipants informations, but, at least, it doesn't crash in that case.

- Custom settings of the application:
Radicale server (without particular settings) on my local machine with some calendars.

The crash can be reproduced every time.

-- Backtrace:
Application: KOrganizer (korganizer), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f23c0830eda in QSortFilterProxyModel::parent(QModelIndex const&) const () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f23c07fdd70 in QPersistentModelIndex::parent() const () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f23c0814000 in QItemSelection::merge(QItemSelection const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f23c0814b9b in QItemSelectionModel::columnIntersectsSelection(int, QModelIndex const&) const () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f23c1597ed4 in QHeaderView::paintSection(QPainter*, QRect const&, int) const () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007f23c15904ee in QHeaderView::paintEvent(QPaintEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007f23c1363fae in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007f23c140c42e in QFrame::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007f23c0861d33 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007f23c132414e in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007f23c0861fca in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007f23c135c116 in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007f23c135c962 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007f23c135dcb3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007f23c135c67c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007f23c135dcb3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007f23c135dad2 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007f23c135dad2 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007f23c135c67c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007f23c135dcb3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007f23c135c67c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007f23c135dcb3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007f23c135c67c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007f23c135dcb3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007f23c135dad2 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007f23c135c67c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007f23c135dcb3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007f23c135dad2 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007f23c135c67c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007f23c133486a in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007f23c13646d7 in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007f23c132415f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#36 0x00007f23c0861fca in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#37 0x00007f23c0864a01 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#38 0x00007f23c08b9e93 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#39 0x00007f23be072e6b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#40 0x00007f23be073118 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#41 0x00007f23be0731cf in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007f23c08b951f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#43 0x00007f23c086098b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#44 0x00007f23c0868c00 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#45 0x0000560c3475e658 in ?? ()
#46 0x00007f23c0219d0a in __libc_start_main (main=0x560c3475e1c0, argc=1, argv=0x7ffedd26a1f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffedd26a1e8) at ../csu/libc-start.c:308
#47 0x0000560c3475e87a in ?? ()
[Inferior 1 (process 45466) detached]

Possible duplicates by query: bug 460940, bug 443214, bug 441995, bug 420497, bug 419920.

Reported using DrKonqi
Comment 1 Allen Winter 2023-02-19 14:39:34 UTC
Git commit b22e29a16fa640b602ae4095cb59ffdccce1e456 by Allen Winter.
Committed on 19/02/2023 at 14:37.
Pushed by winterz into branch 'release/22.12'.

reparentingmodel.cpp - call layoutAboutToBeChanged

Call layoutAboutToBeChanged in onSourceLayoutAboutToBeChanged
to prevent a crash.
FIXED-IN: 22.12.4

M  +1    -1    src/views/collectionview/reparentingmodel.cpp

https://invent.kde.org/pim/korganizer/commit/b22e29a16fa640b602ae4095cb59ffdccce1e456