Bug 454536 - Kontact crashes with segmentation fault when marking a recurring task as done
Summary: Kontact crashes with segmentation fault when marking a recurring task as done
Status: RESOLVED FIXED
Alias: None
Product: kontact
Classification: Applications
Component: summary (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2022-05-28 15:41 UTC by Unknown
Modified: 2022-07-21 06:20 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 5.20.3


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Unknown 2022-05-28 15:41:08 UTC
Application: kontact (5.20.1 (22.04.1))

Qt Version: 5.15.2
Frameworks Version: 5.94.0
Operating System: Linux 5.17.9-1-default x86_64
Windowing System: X11
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.24.5 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:
I was marking  a (monthly) recurring task as 'done' in Kontact. Bug preproducible 9+ out of 10 times.

The crash can be reproduced every time.

-- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault

[KCrash Handler]
#4  std::__atomic_base<QObjectPrivate::SignalVector*>::load (__m=std::memory_order_relaxed, this=0x3ff0000000000008) at /usr/include/c++/12/bits/atomic_base.h:818
#5  std::atomic<QObjectPrivate::SignalVector*>::load (__m=std::memory_order_relaxed, this=0x3ff0000000000008) at /usr/include/c++/12/atomic:579
#6  QAtomicOps<QObjectPrivate::SignalVector*>::loadRelaxed<QObjectPrivate::SignalVector*> (_q_value=<error reading variable: Cannot access memory at address 0x3ff0000000000008>) at ../../include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:239
#7  QBasicAtomicPointer<QObjectPrivate::SignalVector>::loadRelaxed (this=0x3ff0000000000008) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:248
#8  QObjectPrivate::maybeSignalConnected (this=this@entry=0x5601ecc45de0, signalIndex=signalIndex@entry=15) at kernel/qobject.cpp:482
#9  0x00007f0aff412951 in doActivate<false> (sender=0x5601ee93f510, signal_index=15, argv=0x7ffd691ede80) at kernel/qobject.cpp:3788
#10 0x00007f0aff40c0cf in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f0afe90a6e0 <KUrlLabel::staticMetaObject>, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x7ffd691ede80) at kernel/qobject.cpp:3946
#11 0x00007f0afe8b91c5 in KUrlLabel::rightClickedUrl (this=<optimized out>, _t1=...) at /usr/src/debug/kwidgetsaddons-5.94.0-1.1.x86_64/build/src/KF5WidgetsAddons_autogen/include/moc_kurllabel.cpp:418
#12 0x00007f0afffc9f48 in QWidget::event (this=this@entry=0x5601ee93f510, event=event@entry=0x7ffd691ee370) at kernel/qwidget.cpp:9020
#13 0x00007f0b0007567e in QFrame::event (this=0x5601ee93f510, e=0x7ffd691ee370) at widgets/qframe.cpp:550
#14 0x00007f0afff8837e in QApplicationPrivate::notify_helper (this=this@entry=0x5601eb81ded0, receiver=receiver@entry=0x5601ee93f510, e=e@entry=0x7ffd691ee370) at kernel/qapplication.cpp:3632
#15 0x00007f0afff908c2 in QApplication::notify (this=<optimized out>, receiver=0x5601ee93f510, e=<optimized out>) at kernel/qapplication.cpp:3076
#16 0x00007f0aff3db988 in QCoreApplication::notifyInternal2 (receiver=0x5601ee93f510, event=0x7ffd691ee370) at kernel/qcoreapplication.cpp:1064
#17 0x00007f0afff8e9ce in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x5601ee93f510, event=event@entry=0x7ffd691ee370, alienWidget=<optimized out>, nativeWidget=0x5601ebb2cd40, buttonDown=buttonDown@entry=0x7f0b004d4330 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#18 0x00007f0afffe2d68 in QWidgetWindow::handleMouseEvent (this=0x5601ec399a70, event=0x7ffd691ee620) at kernel/qwidgetwindow.cpp:683
#19 0x00007f0afffe62c0 in QWidgetWindow::event (this=0x5601ec399a70, event=0x7ffd691ee620) at kernel/qwidgetwindow.cpp:300
#20 0x00007f0afff8837e in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5601ec399a70, e=0x7ffd691ee620) at kernel/qapplication.cpp:3632
#21 0x00007f0aff3db988 in QCoreApplication::notifyInternal2 (receiver=0x5601ec399a70, event=0x7ffd691ee620) at kernel/qcoreapplication.cpp:1064
#22 0x00007f0aff837a45 in QGuiApplicationPrivate::processMouseEvent (e=0x5601ee3f31c0) at kernel/qguiapplication.cpp:2282
#23 0x00007f0aff80c2ac in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#24 0x00007f0aebfae4da in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#25 0x00007f0af5cf6da0 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#26 0x00007f0af5cf7158 in ?? () from /lib64/libglib-2.0.so.0
#27 0x00007f0af5cf71ec in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#28 0x00007f0aff4335a6 in QEventDispatcherGlib::processEvents (this=0x5601eb8fcc00, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#29 0x00007f0aff3da3fb in QEventLoop::exec (this=this@entry=0x7ffd691ee950, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#30 0x00007f0aff3e2566 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#31 0x00007f0aff82b3bc in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#32 0x00007f0afff882f5 in QApplication::exec () at kernel/qapplication.cpp:2824
#33 0x00005601ea3bf03d in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kontact-22.04.1-1.1.x86_64/src/main.cpp:214
[Inferior 1 (process 1932) detached]

Reported using DrKonqi
Comment 1 Unknown 2022-05-28 15:49:26 UTC
Update on Information about the crash:
- What I was doing when the application crashed:
I was marking  a (monthly) recurring task as 'Mark To-do Complete' in Kontact. Bug preproducible 9+ out of 10 times.

Please note that when I tick the same recurring task in 'To-do List', everything is working as expected: the task is re-schedules for next month.
Comment 2 gjditchfield 2022-05-28 17:19:06 UTC
Which version of Kontact are you using?

Which views does this happen in — the Agenda view, the Month view, ...?
Comment 3 Unknown 2022-05-28 17:37:26 UTC
(In reply to gjditchfield from comment #2)

Q1: Which version of Kontact are you using?
A1: Kontact 5.10.1 (22.04.1), cf. data uploaded 2022-05-28 15:41:08 UTC when creating this bug report.
Please note that I have been observing the same problem on my previous openSuse Leap 15.3, too, but until today never decided to file a bug report.

Q2: Which views does this happen in — the Agenda view, the Month view, ...?
A2: The problem happens in view headed with 'Summary -- Kontact'. Things are working fine when I switch to view 'To-do List'.

HTH.
Comment 4 gjditchfield 2022-05-28 19:02:58 UTC
For me, marking a non-recurring to-do complete also
causes a crash.
Comment 5 Bug Janitor Service 2022-06-30 02:31:23 UTC
A possibly relevant merge request was started @ https://invent.kde.org/pim/korganizer/-/merge_requests/80
Comment 6 gjditchfield 2022-06-30 15:45:52 UTC
Git commit c4e58599b3f3eeece0d94d5cee9259be904cdbe7 by Glen Ditchfield.
Committed on 30/06/2022 at 02:08.
Pushed by gditchfield into branch 'release/22.04'.

Fix crash when completing a to-do in the summary view

The "Mark To-do Completed" entry in the `KUrlLabel` pop-up menu called
`completeTodo()`, which called `updateView()`, which deleted the
`KUrlLabel`.  This seems to cause a segfault in Qt.

`completeTodo()` doesn't need to call `updateView()`;
`mChanger->modifyIncidence()` will cause an update.

M  +0    -1    src/kontactplugin/korganizer/todosummarywidget.cpp

https://invent.kde.org/pim/korganizer/commit/c4e58599b3f3eeece0d94d5cee9259be904cdbe7
Comment 7 Unknown 2022-07-06 17:58:24 UTC
Sorry, but this bug raised its ugly head again.
Kontact crashes when marking a recurring task as 'done'.

Environment:
xxxx@xxxx ~$ cat /etc/os-release 
NAME="openSUSE Tumbleweed"
# VERSION="20220705"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20220705"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:tumbleweed:20220705"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed"
LOGO="distributor-logo-Tumbleweed"
Comment 8 gjditchfield 2022-07-06 18:45:29 UTC
(In reply to simplyschinne from comment #7)
> Sorry, but this bug raised its ugly head again.
> Kontact crashes when marking a recurring task as 'done'.
> 
> Environment:
> xxxx@xxxx ~$ cat /etc/os-release 
> NAME="openSUSE Tumbleweed"
> # VERSION="20220705"
> ID="opensuse-tumbleweed"
> ID_LIKE="opensuse suse"
> VERSION_ID="20220705"
> PRETTY_NAME="openSUSE Tumbleweed"
> ANSI_COLOR="0;32"
> CPE_NAME="cpe:/o:opensuse:tumbleweed:20220705"
> BUG_REPORT_URL="https://bugs.opensuse.org"
> HOME_URL="https://www.opensuse.org/"
> DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed"
> LOGO="distributor-logo-Tumbleweed"

Which version of Kontact/KOrganizer is this?  The commit listed above will be part of
the 22.04.3 release, and is present in the current "release" and "master" branches.

Can you add a stack trace for the current crash?
Comment 9 Unknown 2022-07-06 19:00:59 UTC
(In reply to gjditchfield from comment #8)
> (In reply to simplyschinne from comment #7)
> > Sorry, but this bug raised its ugly head again.
> > Kontact crashes when marking a recurring task as 'done'.
> > 
> > Environment:
> > xxxx@xxxx ~$ cat /etc/os-release 
> > NAME="openSUSE Tumbleweed"
> > # VERSION="20220705"
> > ID="opensuse-tumbleweed"
> > ID_LIKE="opensuse suse"
> > VERSION_ID="20220705"
> > PRETTY_NAME="openSUSE Tumbleweed"
> > ANSI_COLOR="0;32"
> > CPE_NAME="cpe:/o:opensuse:tumbleweed:20220705"
> > BUG_REPORT_URL="https://bugs.opensuse.org"
> > HOME_URL="https://www.opensuse.org/"
> > DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed"
> > LOGO="distributor-logo-Tumbleweed"
> 
> Which version of Kontact/KOrganizer is this?  The commit listed above will
> be part of
> the 22.04.3 release, and is present in the current "release" and "master"
> branches.
> 
> Can you add a stack trace for the current crash?

Q: Which version of Kontact/KOrganizer is this? 
A: kontact 5.20.2 (22.04.2)

Q: Can you add a stack trace for the current crash?
A: Negative, I'm afraid. Other than last time, kontact crashes without offering me to collect data for submitting.
Comment 10 gjditchfield 2022-07-06 21:54:55 UTC
(In reply to simplyschinne from comment #9)
> Q: Which version of Kontact/KOrganizer is this? 
> A: kontact 5.20.2 (22.04.2)

OK then.  22.04.3 should be out soon;  please test it when you can.
Comment 11 Bug Janitor Service 2022-07-21 04:36:38 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 12 Unknown 2022-07-21 06:20:06 UTC
Bug 454536 NOT reproducible with kontact 5.20.3 (22.04.3).
Therefore setting bug 454536 to resolved/fixed.