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.