Bug 428662 - System Monitor crashes when trying to open "Processes" tab
Summary: System Monitor crashes when trying to open "Processes" tab
Status: RESOLVED FIXED
Alias: None
Product: plasma-systemmonitor
Classification: Applications
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: KSysGuard Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-03 21:19 UTC by Vlad Zahorodnii
Modified: 2020-11-11 10:40 UTC (History)
3 users (show)

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


Attachments
The backtrace of the crash (14.46 KB, text/plain)
2020-11-03 21:19 UTC, Vlad Zahorodnii
Details
My config file (2.12 KB, text/plain)
2020-11-04 09:58 UTC, Vlad Zahorodnii
Details
terminal output (252.39 KB, text/plain)
2020-11-04 12:05 UTC, Vlad Zahorodnii
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vlad Zahorodnii 2020-11-03 21:19:25 UTC
Created attachment 133005 [details]
The backtrace of the crash

STEPS TO REPRODUCE
1. Try to open the Processes tab

OBSERVED RESULT
Crash.

EXPECTED RESULT
No crash.

SOFTWARE/OS VERSIONS
(available in About System)
KDE Plasma Version: git master
KDE Frameworks Version: git master
Qt Version: 5.15 (from source code)
plasma-systemmonitor: 098b91556901ccb611028b3a9156de61295b664c
Comment 1 Vlad Zahorodnii 2020-11-03 21:22:24 UTC
I also see lots of

qt.core.qabstractitemmodel.checkindex: Index QModelIndex(-1,-1,0x0,QObject(0x0)) is not valid (expected valid)
qt.core.qabstractitemmodel.checkindex: Index QModelIndex(-1,-1,0x0,QObject(0x0)) is not valid (expected valid)
qt.core.qabstractitemmodel.checkindex: Index QModelIndex(-1,-1,0x0,QObject(0x0)) is not valid (expected valid)
qt.core.qabstractitemmodel.checkindex: Index QModelIndex(-1,-1,0x0,QObject(0x0)) is not valid (expected valid)
qt.core.qabstractitemmodel.checkindex: Index QModelIndex(-1,-1,0x0,QObject(0x0)) is not valid (expected valid)
qt.core.qabstractitemmodel.checkindex: Index QModelIndex(-1,-1,0x0,QObject(0x0)) is not valid (expected valid)
qt.core.qabstractitemmodel.checkindex: Index QModelIndex(-1,-1,0x0,QObject(0x0)) is not valid (expected valid)
qt.core.qabstractitemmodel.checkindex: Index QModelIndex(-1,-1,0x0,QObject(0x0)) is not valid (expected valid)

in the terminal
Comment 2 Justin Zobel 2020-11-04 01:56:07 UTC
Thanks for the report Vlad I am on ksysguard from git master as well and I can switch beteen Process Table and System Load tabs without any crash. Have you made any config changes that might assist us in replicating the crash?
Comment 3 Justin Zobel 2020-11-04 01:58:57 UTC
Apologies I didn't realise plasma-systemmonitor was a separate application but I cannot replicate it in there either.
Comment 4 Vlad Zahorodnii 2020-11-04 09:58:22 UTC
Created attachment 133010 [details]
My config file
Comment 5 Vlad Zahorodnii 2020-11-04 12:05:46 UTC
Created attachment 133020 [details]
terminal output
Comment 6 Nate Graham 2020-11-04 17:10:55 UTC
FYI Justin, if there's a crash backtrace, you generally don't need to do the NEEDSINFO WAITINGFORINFO dance since the backtrace itself is evidence enough that there's a real issue. Or at least, wait a year or so just in case it got fixed. :)

Also Vlad is one of the KWin maintainers so his bug reports are probably going to be real. :)
Comment 7 Justin Zobel 2020-11-04 23:14:37 UTC
(In reply to Nate Graham from comment #6)
> FYI Justin, if there's a crash backtrace, you generally don't need to do the
> NEEDSINFO WAITINGFORINFO dance since the backtrace itself is evidence enough
> that there's a real issue. Or at least, wait a year or so just in case it
> got fixed. :)
> 
> Also Vlad is one of the KWin maintainers so his bug reports are probably
> going to be real. :)

All good, I try to check the reporter every time but this one slipped through. Have set to confirmed as there is a backtrace.
Comment 8 Bug Janitor Service 2020-11-05 19:04:22 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-systemmonitor/-/merge_requests/65
Comment 9 David Edmundson 2020-11-11 10:40:30 UTC
Git commit 153ce2f197085be42cf1488359a5ca4fcae1e3cf by David Edmundson.
Committed on 11/11/2020 at 10:40.
Pushed by davidedmundson into branch 'master'.

Fix filter invalidation

When we have matched columns we change what filterAcceptsRow passes.
This means we need to trigger re-evaluation of filterAcceptsRow not a layout change. A
layout change implies movement, but not a change in which rows exist.

Without this KDescendantsProxyModel gets out of sync as it correctly doesn't
refresh indexes on a layout change.

M  +1    -1    src/table/ProcessSortFilterModel.cpp

https://invent.kde.org/plasma/plasma-systemmonitor/commit/153ce2f197085be42cf1488359a5ca4fcae1e3cf