Bug 512253

Summary: Kontact fails to start properly on wayland
Product: [Applications] kontact Reporter: Geert Janssens <info>
Component: generalAssignee: kdepim bugs <pim-bugs-null>
Status: REPORTED ---    
Severity: normal    
Priority: NOR    
Version First Reported In: 6.5.3   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Geert Janssens 2025-11-17 18:22:03 UTC
Note: the version of kontact on my system doesn't seem to match the list of versions in the version field. This is what I find in the rpm package info:
Name        : kontact
Version     : 25.08.3
Release     : 1.fc43
Architecture: x86_64

SUMMARY
I have just upgraded to Fedora 43. In previous editions I have not been able to use plasma on wayland. A few core applications failed to work. So with Fedora 43 installed I'm re-evaluating.

This bug is about a failed attempt to use the kontact application. If I try to start it, it won't crash, but won't display a window either, only a task on the taskbar suggests it's running.

STEPS TO REPRODUCE
1. Open a terminal
2. Execute 'kontact'

OBSERVED RESULT
There is a taks on the task bar named "Kontact", but no window appears. The terminal in which I ran the "kontact" command has the following output:

$ kontact
GBM is not supported with the current configuration. Fallback to Vulkan rendering in Chromium.
org.kde.pim.pimcommonactivities: Plasma activities is not running:  1
qt.core.qobject.connect: QObject::connect(QIODevice, Unknown): invalid nullptr parameter
qt.core.qobject.connect: QObject::connect(QIODevice, Unknown): invalid nullptr parameter
qt.core.qobject.connect: QObject::connect(QIODevice, Unknown): invalid nullptr parameter
qt.core.qobject.connect: QObject::connect(QIODevice, Unknown): invalid nullptr parameter
qt.core.qobject.connect: QObject::connect(QIODevice, Unknown): invalid nullptr parameter
qt.core.qobject.connect: QObject::connect(QIODevice, Unknown): invalid nullptr parameter
qt.core.qobject.connect: QObject::connect(QIODevice, Unknown): invalid nullptr parameter
qt.svg.draw: The requested buffer size is too big, ignoring
qt.qpa.wayland: eglSwapBuffers failed with 0x300d, surface: 0x55e183c56ed0
qt.qpa.wayland: eglSwapBuffers failed with 0x300d, surface: 0x55e183c56ed0
org.kde.pim.mailtransport: We have an error during reading password for 1396373894 "Entry not found"
^CShutting down...
kf.xmlgui: 0x55e183ab2e70 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes.
qt.core.qobject.connect: QObject::connect(QIODevice, Unknown): invalid nullptr parameter
kf.xmlgui: 0x55e183aa7c88 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes.
kf.xmlgui: 0x55e183993b40 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes.
kf.xmlgui: 0x55e183aa88d8 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes.
kf.xmlgui: 0x55e183a966c8 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes.
kf.xmlgui: 0x55e183a9c3a8 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes.
kf.xmlgui: 0x55e183a9ea48 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes.
kf.xmlgui: 0x55e1839f3228 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes.

While I leave kontact running in this state, I'm not able to launch other applications. They will all end up with just a task in the taskbar and no windows will appear. When I kill the kontact command in the terminal, other applications will start normally again. I have tried with digikam specifically.

EXPECTED RESULT
Kontact should just run normally.

SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 43
KDE Plasma Version: 6.5.2
KDE Frameworks Version: 6.19.0
Qt Version: 6.10.0
Kernel Version: 6.17.7-300.fc43.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i7-6700K CPU @ 4.00GHz
Memory: 48 GiB of RAM (47.0 GiB usable)
Graphics Processor: NVIDIA GeForce GT 1030

ADDITIONAL INFORMATION
Comment 1 Geert Janssens 2025-11-24 10:02:05 UTC
Further investigation shows the issue happens in kmail2, not kontact.

I have also found the issue is not wayland specific. kmail2 also crashes under X11

After a recent update of my system I'm now running kmail2 6.5.3 (25.08.3).

I have searched a bit further on the web and I can use kmail2 if I start it as follows:
$ QTWEBENGINE_CHROMIUM_FLAGS="--disable-gpu" kmail

If started like that, kmail works fine (at least under X11). I'll note this line missing from the console output now:
"GBM is not supported with the current configuration. Fallback to Vulkan rendering in Chromium."


Clearly something is wrong when falling back to Vulkan rendering.
Comment 2 Geert Janssens 2025-11-24 10:15:00 UTC
I just tried again under Plasma Wayland.

The workaround for kmail also works there, but kontact is still not running. With the workaround the console output is shorter, but kontact continues to not work as described in the original message: it appears in the task bar, but its window never materializes.

When run as:
$ QTWEBENGINE_CHROMIUM_FLAGS="--disable-gpu" kontact

The output on console becomes

org.kde.pim.pimcommonactivities: Plasma activities is not running:  1
qt.svg.draw: The requested buffer size is too big, ignoring
qt.qpa.wayland: eglSwapBuffers failed with 0x300d, surface: 0x557a24573760
qt.qpa.wayland: eglSwapBuffers failed with 0x300d, surface: 0x557a24573760
org.kde.pim.mailtransport: We have an error during reading password for 1396373894 "Entry not found"

So the eglSwapBuffers error remains when starting kontact.

I'm changing this bug back to contact and report my kmail specific findings (with workaround) in a separate bug.