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

David Edmundson <k...@davidedmundson.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |k...@davidedmundson.co.uk

--- Comment #1 from David Edmundson <k...@davidedmundson.co.uk> ---
valggrind log

I suspect it's a regression with the shared processes's list 

,QObject(0x0)) is not valid (expected valid)
==60008== Invalid read of size 8
==60008==    at 0x1BA3B27C: KSysGuard::Process::userUsage() const
(src/kde/workspace/libksysguard/processcore/process.cpp:308)
==60008==    by 0x1BA29F48:
KSysGuard::ExtendedProcesses::ExtendedProcesses(QObject*)::$_25::operator()(KSysGuard::Process*)
const
(src/kde/workspace/libksysguard/processcore/extended_process_list.cpp:214)
==60008==    by 0x1BA29F11: int std::__invoke_impl<int,
KSysGuard::ExtendedProcesses::ExtendedProcesses(QObject*)::$_25&,
KSysGuard::Process*>(std::__invoke_other,
KSysGuard::ExtendedProcesses::ExtendedProcesses(QObject*)::$_25&,
KSysGuard::Process*&&) (invoke.h:60)
==60008==    by 0x1BA29EA1: std::enable_if<is_invocable_r_v<int,
KSysGuard::ExtendedProcesses::ExtendedProcesses(QObject*)::$_25&,
KSysGuard::Process*>, int>::type std::__invoke_r<int,
KSysGuard::ExtendedProcesses::ExtendedProcesses(QObject*)::$_25&,
KSysGuard::Process*>(KSysGuard::ExtendedProcesses::ExtendedProcesses(QObject*)::$_25&,
KSysGuard::Process*&&) (invoke.h:113)
==60008==    by 0x1BA29DA1: std::_Function_handler<int (KSysGuard::Process*),
KSysGuard::ExtendedProcesses::ExtendedProcesses(QObject*)::$_25>::_M_invoke(std::_Any_data
const&, KSysGuard::Process*&&) (std_function.h:291)
==60008==    by 0x1BA30CB3: std::function<int
(KSysGuard::Process*)>::operator()(KSysGuard::Process*) const
(std_function.h:622)
==60008==    by 0x1BA3091F: ProcessSensor<int>::data(KSysGuard::Process*) const
(src/kde/workspace/libksysguard/processcore/extended_process_list.cpp:74)
==60008==    by 0x1BA3DA0D:
KSysGuard::ProcessAttribute::cgroupData(KSysGuard::CGroup*,
QVector<KSysGuard::Process*> const&) const::$_0::operator()(double,
KSysGuard::Process*) const
(src/kde/workspace/libksysguard/processcore/process_attribute.cpp:169)
==60008==    by 0x1BA3D788: double std::accumulate<KSysGuard::Process* const*,
double, KSysGuard::ProcessAttribute::cgroupData(KSysGuard::CGroup*,
QVector<KSysGuard::Process*> const&) const::$_0>(KSysGuard::Process* const*,
KSysGuard::Process* const*, double,
KSysGuard::ProcessAttribute::cgroupData(KSysGuard::CGroup*,
QVector<KSysGuard::Process*> const&) const::$_0) (stl_numeric.h:169)
==60008==    by 0x1BA3D715:
KSysGuard::ProcessAttribute::cgroupData(KSysGuard::CGroup*,
QVector<KSysGuard::Process*> const&) const
(src/kde/workspace/libksysguard/processcore/process_attribute.cpp:168)
==60008==    by 0x1BA15EA0: KSysGuard::CGroupDataModel::data(QModelIndex
const&, int) const
(src/kde/workspace/libksysguard/processcore/cgroup_data_model.cpp:258)
==60008==    by 0x78EF8D3: QAbstractProxyModel::data(QModelIndex const&, int)
const (qabstractproxymodel.cpp:245)
==60008==  Address 0x17070bf8 is 8 bytes inside a block of size 16 free'd
==60008==    at 0x483FEAB: operator delete(void*) (vg_replace_malloc.c:584)
==60008==    by 0x1BA3A9A7: KSysGuard::Process::~Process()
(src/kde/workspace/libksysguard/processcore/process.cpp:108)
==60008==    by 0x1BA36EE7: KSysGuard::Processes::deleteProcess(long)
(src/kde/workspace/libksysguard/processcore/processes.cpp:430)
==60008==    by 0x1BA341AD: KSysGuard::Processes::processesUpdated()
(src/kde/workspace/libksysguard/processcore/processes.cpp:330)
==60008==    by 0x1BA38D50: QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, void (KSysGuard::Processes::*)()>::call(void
(KSysGuard::Processes::*)(), KSysGuard::Processes*, void**)
(qobjectdefs_impl.h:152)
==60008==    by 0x1BA38CB7: void QtPrivate::FunctionPointer<void
(KSysGuard::Processes::*)()>::call<QtPrivate::List<>, void>(void
(KSysGuard::Processes::*)(), KSysGuard::Processes*, void**)
(qobjectdefs_impl.h:185)
==60008==    by 0x1BA38BE4: QtPrivate::QSlotObject<void
(KSysGuard::Processes::*)(), QtPrivate::List<>, void>::impl(int,
QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (qobjectdefs_impl.h:418)
==60008==    by 0x794AC56: QtPrivate::QSlotObjectBase::call(QObject*, void**)
(qobjectdefs_impl.h:398)
==60008==    by 0x798DF0F: void doActivate<false>(QObject*, int, void**)
(qobject.cpp:3886)
==60008==    by 0x7987470: QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (qobject.cpp:3946)
==60008==    by 0x1BA0B374: KSysGuard::AbstractProcesses::processesUpdated()
(moc_processes_base_p.cpp:157)
==60008==    by 0x1BA4197D:
KSysGuard::ProcessesLocal::updateAllProcesses(QFlags<KSysGuard::Processes::UpdateFlag>)
(src/kde/workspace/libksysguard/processcore/processes_local_p.h:57)
==60008==  Block was alloc'd at
==60008==    at 0x483EDEF: operator new(unsigned long)
(vg_replace_malloc.c:342)
==60008==    by 0x1BA34F48: KSysGuard::Processes::addProcess(long, long)
(src/kde/workspace/libksysguard/processcore/processes.cpp:261)
==60008==    by 0x1BA351DF: KSysGuard::Processes::updateOrAddProcess(long)
(src/kde/workspace/libksysguard/processcore/processes.cpp:305)
==60008==    by 0x1BA342BF: KSysGuard::Processes::processesUpdated()
(src/kde/workspace/libksysguard/processcore/processes.cpp:348)
==60008==    by 0x1BA38D50: QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, void (KSysGuard::Processes::*)()>::call(void
(KSysGuard::Processes::*)(), KSysGuard::Processes*, void**)
(qobjectdefs_impl.h:152)
==60008==    by 0x1BA38CB7: void QtPrivate::FunctionPointer<void
(KSysGuard::Processes::*)()>::call<QtPrivate::List<>, void>(void
(KSysGuard::Processes::*)(), KSysGuard::Processes*, void**)
(qobjectdefs_impl.h:185)
==60008==    by 0x1BA38BE4: QtPrivate::QSlotObject<void
(KSysGuard::Processes::*)(), QtPrivate::List<>, void>::impl(int,
QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (qobjectdefs_impl.h:418)
==60008==    by 0x794AC56: QtPrivate::QSlotObjectBase::call(QObject*, void**)
(qobjectdefs_impl.h:398)
==60008==    by 0x798DF0F: void doActivate<false>(QObject*, int, void**)
(qobject.cpp:3886)
==60008==    by 0x7987470: QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (qobject.cpp:3946)
==60008==    by 0x1BA0B374: KSysGuard::AbstractProcesses::processesUpdated()
(moc_processes_base_p.cpp:157)
==60008==    by 0x1BA4197D:
KSysGuard::ProcessesLocal::updateAllProcesses(QFlags<KSysGuard::Processes::UpdateFlag>)
(src/kde/workspace/libksysguard/processcore/processes_local_p.h:57)

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

Reply via email to