https://bugs.kde.org/show_bug.cgi?id=500749

            Bug ID: 500749
           Summary: plasmashell crashes on infinite recursion in
                    QSortFilterProxyModelPrivate::recursiveChildAcceptsRow
                    () when trying to create default panel while "undo
                    panel deletion" notification is visible
    Classification: Plasma
           Product: plasmashell
           Version: master
          Platform: Other
                OS: Linux
            Status: REPORTED
          Keywords: regression
          Severity: crash
          Priority: NOR
         Component: Edit Mode
          Assignee: plasma-b...@kde.org
          Reporter: n...@kde.org
  Target Milestone: 1.0

STEPS TO REPRODUCE
1. Right-click on desktop > Enter Edit Mode
2. Add Panel > Default Panel
3. While still in edit mode, click on newly-created panel
4. Click "Delete Panel" in panel config window
5. Do NOT dismiss the notification giving you the chance to undo deleting the
panel
6. Add Panel > Default Panel again


OBSERVED RESULT
Plasma crashes 100% of the time. When it re-launches, the default panel is
visible but with no system tray or applets that normally appear to the right of
it. The crash backtrace indicates infinite recursion:

(gdb) bt
#0  QConcatenateTablesProxyModel::index (this=0x3c363090, row=0, column=0,
parent=...)
    at
/usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp:283
#1  0x00007f3c7c5b833a in
QSortFilterProxyModelPrivate::recursiveChildAcceptsRow
    (this=this@entry=0x3c3636a0, source_row=source_row@entry=0,
source_parent=...)
    at
/usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/itemmodels/qsortfilterproxymodel.cpp:437
#2  0x00007f3c7c5b839d in
QSortFilterProxyModelPrivate::recursiveChildAcceptsRow
    (this=this@entry=0x3c3636a0, source_row=source_row@entry=0,
source_parent=...)
    at
/usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/itemmodels/qsortfilterproxymodel.cpp:444
#3  0x00007f3c7c5b839d in
QSortFilterProxyModelPrivate::recursiveChildAcceptsRow
    (this=this@entry=0x3c3636a0, source_row=source_row@entry=0,
source_parent=...)
    at
/usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/itemmodels/qsortfilterproxymodel.cpp:444
#4  0x00007f3c7c5b839d in
QSortFilterProxyModelPrivate::recursiveChildAcceptsRow
    (this=this@entry=0x3c3636a0, source_row=source_row@entry=0,
source_parent=...)
    at
/usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/itemmodels/qsortfilterproxymodel.cpp:444

[repeats forever]

Maybe it's trying to infinitely recurse into the System Tray?


EXPECTED RESULT
Default panel is created, as requested.


SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 41
KDE Plasma Version: 6.3.80
KDE Frameworks Version: 6.12.0
Qt Version: 6.8.2
Kernel Version: 6.12.13-200.fc41.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 7840U w/ Radeon™ 780M Graphics
Memory: 16 GB of RAM (14.9 GB usable)


ADDITIONAL INFORMATION
I recall this working a month or so ago, so it's a relatively recent
regression.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to