Bug 506852 - Crash in QHttp2Connection::handleDATA
Summary: Crash in QHttp2Connection::handleDATA
Status: RESOLVED DOWNSTREAM
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (other bugs)
Version First Reported In: 6.4.2
Platform: Arch Linux Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
: 506858 506865 506869 (view as bug list)
Depends on:
Blocks:
 
Reported: 2025-07-10 08:45 UTC by alessandrodimartino3
Modified: 2025-07-10 15:54 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/214127/events/3c9e150e94014dae8eab09fca96a24ec/


Attachments
New crash information added by DrKonqi (124.59 KB, text/plain)
2025-07-10 08:45 UTC, alessandrodimartino3
Details
console log with env variable as requested (15.25 KB, text/plain)
2025-07-10 10:04 UTC, alessandrodimartino3
Details
log with all qt logging enabled (90.25 KB, text/plain)
2025-07-10 11:09 UTC, alessandrodimartino3
Details
reduced log (3.80 MB, text/plain)
2025-07-10 12:55 UTC, alessandrodimartino3
Details

Note You need to log in before you can comment on or make changes to this bug.
Description alessandrodimartino3 2025-07-10 08:45:37 UTC
Application: plasmashell (6.4.2)

ApplicationNotResponding [ANR]: false
Qt Version: 6.9.1
Frameworks Version: 6.15.0
Operating System: Linux 6.12.36-1-lts x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 6.4.2 [CoredumpBackend]

-- Information about the crash:
Plasmashell seems to crash occasionally when hovering over icons in  the taskbar, initially i thought this was caused by the material-you-colors package but even after uninstalling that and resetting all the changes in the appearence settings nothing has changed. This issue started a couple days ago but it doesn't match with me installing a plasma update as far as i can tell. Additionally sometimes it will crash multiple times in a row after restarting itself and/or fail to produce any usable crashlog, this is the first one that reported it was useful (even though i had downloaded debug symbols for the previous ones).

The crash can be reproduced sometimes.

-- Backtrace (Reduced):
#4  QHttp2Connection::handleDATA (this=0x7bfc48068790) at /usr/src/debug/qt6-base/qtbase/src/network/access/qhttp2connection_p.h:111
#5  0x00007bfcde191d12 in QHttp2Connection::handleReadyRead (this=0x7bfc48068790) at /usr/src/debug/qt6-base/qtbase/src/network/access/qhttp2connection.cpp:1169
#6  0x00007bfcdefd37ef in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#7  doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4146
#8  0x00007bfcc8468ffd in QTlsPrivate::TlsCryptographOpenSSL::transmit (this=0x7bfc48006be0) at /usr/src/debug/qt6-base/qtbase/src/plugins/tls/openssl/qtls_openssl.cpp:1059
#9  0x00007bfcdefd3b8a in doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4158
#10 0x00007bfcde1571e8 in QAbstractSocketPrivate::emitReadyRead (channel=0, this=0x7bfc48006210) at /usr/src/debug/qt6-base/qtbase/src/network/socket/qabstractsocket.cpp:1222
#11 QAbstractSocketPrivate::canReadNotification (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/network/socket/qabstractsocket.cpp:657
#12 0x00007bfcde1639c2 in QAbstractSocketEngine::readNotification (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/network/socket/qabstractsocketengine.cpp:120
#13 QReadNotifier::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/network/socket/qnativesocketengine.cpp:1238
#14 0x00007bfce1101c70 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt6Widgets.so.6
#15 0x00007bfcdef68118 in QCoreApplication::notifyInternal2 (receiver=0x7bfc4806da30, event=0x7bfc72ffc810) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#16 0x00007bfcdf23f9f2 in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7bfc72ffc810) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#17 socketNotifierSourceDispatch (source=0x7bfc48001080) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:77
#18 0x00007bfcdda0887d in g_main_dispatch (context=0x7bfc48000c60) at ../glib/glib/gmain.c:3398
#19 0x00007bfcdda09cd7 in g_main_context_dispatch_unlocked (context=0x7bfc48000c60) at ../glib/glib/gmain.c:4249
#4  QHttp2Connection::handleDATA (this=0x7bfc48068790) at /usr/src/debug/qt6-base/qtbase/src/network/access/qhttp2connection_p.h:111
#5  0x00007bfcde191d12 in QHttp2Connection::handleReadyRead (this=0x7bfc48068790) at /usr/src/debug/qt6-base/qtbase/src/network/access/qhttp2connection.cpp:1169
#6  0x00007bfcdefd37ef in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#7  doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4146
#8  0x00007bfcc8468ffd in QTlsPrivate::TlsCryptographOpenSSL::transmit (this=0x7bfc48006be0) at /usr/src/debug/qt6-base/qtbase/src/plugins/tls/openssl/qtls_openssl.cpp:1059
#9  0x00007bfcdefd3b8a in doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4158
#10 0x00007bfcde1571e8 in QAbstractSocketPrivate::emitReadyRead (channel=0, this=0x7bfc48006210) at /usr/src/debug/qt6-base/qtbase/src/network/socket/qabstractsocket.cpp:1222
#11 QAbstractSocketPrivate::canReadNotification (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/network/socket/qabstractsocket.cpp:657
#12 0x00007bfcde1639c2 in QAbstractSocketEngine::readNotification (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/network/socket/qabstractsocketengine.cpp:120
#13 QReadNotifier::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/network/socket/qnativesocketengine.cpp:1238
#14 0x00007bfce1101c70 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt6Widgets.so.6
#15 0x00007bfcdef68118 in QCoreApplication::notifyInternal2 (receiver=0x7bfc4806da30, event=0x7bfc72ffc810) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#16 0x00007bfcdf23f9f2 in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7bfc72ffc810) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#17 socketNotifierSourceDispatch (source=0x7bfc48001080) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:77
#18 0x00007bfcdda0887d in g_main_dispatch (context=0x7bfc48000c60) at ../glib/glib/gmain.c:3398
#19 0x00007bfcdda09cd7 in g_main_context_dispatch_unlocked (context=0x7bfc48000c60) at ../glib/glib/gmain.c:4249


Reported using DrKonqi
Comment 1 alessandrodimartino3 2025-07-10 08:45:38 UTC
Created attachment 183119 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Harald Sitter 2025-07-10 09:55:07 UTC
I am curious how this folder came to be

> "/home/alex/.local/share/flatpak/exports/share/plasma/desktoptheme/default/translucent/"

flatpak doesn't export desktopthemes as far as I know Oo
Can you also upload the folder to the bug report please.

Secondly you'll probably need to enable debug logging by opening a terminal and then running

> QT_LOGGING_RULES=qt.network.*=true plasmashell --replace

this will restart plasma from the terminal and hopefully spit out some debug info for the relevant functions. Then try to trigger the crash and attach the output from the terminal here.
Comment 3 alessandrodimartino3 2025-07-10 10:04:08 UTC
Created attachment 183121 [details]
console log with env variable as requested
Comment 4 alessandrodimartino3 2025-07-10 10:06:19 UTC
There is no plasma folder in flatpak exports, not sure why that is referenced there as i don't think i've used a flatpak that explicitly interacts with plasma themes
Comment 5 Harald Sitter 2025-07-10 10:42:04 UTC
That was less useful than expected :(

Let's try with the massive debug option:

> QT_LOGGING_RULES=*=true plasmashell --replace
Comment 6 alessandrodimartino3 2025-07-10 11:09:52 UTC
Created attachment 183124 [details]
log with all qt logging enabled

The log is massive of course so i only included the last 1000 or so lines, let me know if i should include more
Comment 7 Harald Sitter 2025-07-10 12:22:18 UTC
Still not very enlightening. Let's shrink the log volume a bit again.

> QT_LOGGING_RULES="*=true;qt.quick*=false;qt.scenegraph*=false;qt.gui*=false;qt.qml*=false;qt.accessibility*=false;qt.qpa*=false;qt.pointer*=false;qt.rhi*=false" plasmashell --replace --no-respawn

It may also be good to run plasma underneath valgrind and see what that has to say:

> valgrind plasmashell --replace --no-respawn

Please also try to rename ~/.cache to something else so we can exclude cache problems.
Comment 8 alessandrodimartino3 2025-07-10 12:55:35 UTC
Created attachment 183125 [details]
reduced log

Here is the full log, took a while for the crash to happen but it still did even after renaming the cache folder. Running valgrind is taking a while, will add that too when it's done
Comment 9 Antonio Rojas 2025-07-10 14:19:12 UTC
*** Bug 506858 has been marked as a duplicate of this bug. ***
Comment 10 Antonio Rojas 2025-07-10 14:20:51 UTC
*** Bug 506865 has been marked as a duplicate of this bug. ***
Comment 11 Antonio Rojas 2025-07-10 14:35:31 UTC
Fixed in qt6-base 6.9.1-4
Comment 12 Antonio Rojas 2025-07-10 15:54:12 UTC
*** Bug 506869 has been marked as a duplicate of this bug. ***