Bug 474094 - Crash when adding a google calendar through merkuro
Summary: Crash when adding a google calendar through merkuro
Status: REPORTED
Alias: None
Product: Merkuro
Classification: Applications
Component: general (show other bugs)
Version: 23.08.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Claudio Cambra
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2023-09-03 12:18 UTC by Cyrille Dunant
Modified: 2023-10-17 05:14 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Cyrille Dunant 2023-09-03 12:18:49 UTC
Application: merkuro-calendar (23.08.0)

Qt Version: 5.15.10
Frameworks Version: 5.109.0
Operating System: Linux 6.4.11-1-default x86_64
Windowing System: X11
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.27.7 [KCrashBackend]

-- Information about the crash:
I added a calendar, selecting a google account, the list of calendars displayed in the dialog, and when I pressed OK merkuro crashed.

The crash can be reproduced every time.

-- Backtrace:
Application: Merkuro Calendar (merkuro-calendar), signal: Segmentation fault

[KCrash Handler]
#4  std::__atomic_base<QObjectPrivate::SignalVector*>::load(std::memory_order) const (__m=std::memory_order_relaxed, this=0x55e349b2214d) at /usr/include/c++/13/bits/atomic_base.h:835
#5  std::atomic<QObjectPrivate::SignalVector*>::load(std::memory_order) const (__m=std::memory_order_relaxed, this=0x55e349b2214d) at /usr/include/c++/13/atomic:577
#6  QAtomicOps<QObjectPrivate::SignalVector*>::loadRelaxed<QObjectPrivate::SignalVector*>(std::atomic<QObjectPrivate::SignalVector*> const&) (_q_value=<error reading variable: Cannot access memory at address 0x55e349b2214d>) at ../../include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:239
#7  QBasicAtomicPointer<QObjectPrivate::SignalVector>::loadRelaxed() const (this=0x55e349b2214d) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:248
#8  QObjectPrivate::maybeSignalConnected(unsigned int) const (this=this@entry=0x55e617d35d00, signalIndex=signalIndex@entry=64) at kernel/qobject.cpp:500
#9  0x00007fb4eeb2512c in doActivate<false>(QObject*, int, void**) (sender=0x55e617d34d60, signal_index=64, argv=0x7ffe319a9610) at kernel/qobject.cpp:3827
#10 0x00007fb4ee6fa371 in QQuickAbstractButtonPrivate::handleRelease(QPointF const&) () at /lib64/libQt5QuickTemplates2.so.5
#11 0x00007fb4ee7144a5 in QQuickControl::mouseReleaseEvent(QMouseEvent*) () at /lib64/libQt5QuickTemplates2.so.5
#12 0x00007fb4f0e89d08 in QQuickItem::event(QEvent*) () at /lib64/libQt5Quick.so.5
#13 0x00007fb4ef7a519e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55e617d34d60, e=0x7ffe319a9b30) at kernel/qapplication.cpp:3640
#14 0x00007fb4eeaed568 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55e617d34d60, event=0x7ffe319a9b30) at kernel/qcoreapplication.cpp:1064
#15 0x00007fb4f0ea4aba in QQuickWindowPrivate::deliverMouseEvent(QQuickPointerMouseEvent*) () at /lib64/libQt5Quick.so.5
#16 0x00007fb4f0ea61e9 in QQuickWindowPrivate::deliverPointerEvent(QQuickPointerEvent*) () at /lib64/libQt5Quick.so.5
#17 0x00007fb4f0ea748d in QQuickWindowPrivate::handleMouseEvent(QMouseEvent*) () at /lib64/libQt5Quick.so.5
#18 0x00007fb4eef890b5 in QWindow::event(QEvent*) (this=0x55e6137f2700, ev=<optimized out>) at kernel/qwindow.cpp:2455
#19 0x00007fb4ef7a519e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55e6137f2700, e=0x7ffe319a9b30) at kernel/qapplication.cpp:3640
#20 0x00007fb4eeaed568 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55e6137f2700, event=0x7ffe319a9b30) at kernel/qcoreapplication.cpp:1064
#21 0x00007fb4eeaed73e in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1474
#22 0x00007fb4eef7d0eb in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0x55e612eba140) at kernel/qguiapplication.cpp:2285
#23 0x00007fb4eef5036c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#24 0x00007fb4dbf1b1aa in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#25 0x00007fb4ec9169b8 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#26 0x00007fb4ec916dc8 in  () at /lib64/libglib-2.0.so.0
#27 0x00007fb4ec916e5c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#28 0x00007fb4eeb464a6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55e611bbc810, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#29 0x00007fb4eeaebffb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffe319a9e60, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#30 0x00007fb4eeaf4490 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#31 0x000055e6107e4d23 in  ()
#32 0x00007fb4ee0281b0 in __libc_start_call_main () at /lib64/libc.so.6
#33 0x00007fb4ee028279 in __libc_start_main_impl () at /lib64/libc.so.6
#34 0x000055e6107e5555 in  ()
[Inferior 1 (process 9893) detached]

Reported using DrKonqi
This report was filed against 'kde' because the product 'merkuro-calendar' could not be located in Bugzilla. Add it to drkonqi's mappings file!
Comment 1 PK 2023-10-16 06:46:15 UTC
A fix should have been released in 23.08.2 (https://invent.kde.org/pim/merkuro/-/issues/227 but I'm afraid on my neon-user system that is not the case.
Comment 2 PK 2023-10-17 05:14:08 UTC
On this page https://invent.kde.org/pim/merkuro/-/issues/227 there is a "walkthough" about how you can still create a google account in Merkuro calendar:
cd into .config/akonadi
     nano or vim into file agent_config_akonadi_google_resource_X
     With Name entry do this:
     Name=youremailaddress@gmail.com
     and save the file.
     restart calendar settings or better still akonadictl restart and then close terminal
     you should be good to go
Only the leaps he makes are just a little too big.

At last I found out the way to do it. I reproduced it and it works:
     start merkuro calendar
     from the menu choose Settings/create merkuro calendar
     now the account-setup main screen opens
     in the account-setup main screen choose to create google account
     now the google account sub-window opens
     perform what you have to do (in browser etc)  and close browser
     now the google account sub-window looks quite all right
     - important - open Dolphin and browse to the file ~/.config/ agent_config_akonadi_google_resource_X
     put your gmail address behind "Name="
     save the file and close it
     - important - now apply all in the google account sub-window and close it
     - important - but DO NOT CLOSE THE ACCOUNT-SETUP MAIN SCREEN (this will clear all you just did)
     keeping merkuro as it is, open the konsole and give command "akonadictl restart"
     now the google-stuf appears in the left side of the merkuro calendar application
     NOW it is really done.
Btw, while figuring this out I had to clear the google calendar setting a few times in the account-setup main screen. This made my system freeze totally. Quite spectacular.