https://bugs.kde.org/show_bug.cgi?id=446531
Harald Sitter <sit...@kde.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sit...@kde.org --- Comment #10 from Harald Sitter <sit...@kde.org> --- I suspect this broke as part of https://invent.kde.org/frameworks/plasma-framework/-/commit/5984d4960fa5ecf60a20b1fbc782fb841faa4af7 because the emit is potentially triggering blocking call chains (through qobject connects) into other parts of the dataengine that may mutate d->sources such that the iterator is no longer valid once erase() runs. At least that's the only explanation I have for the backtrace. The trace only really happens if the iterator is invalid (e.g. if you erase(end()++) you'd get that trace). That being said, I don't see where that call chain happens nor can I reproduce the crash. A blind fix would be to move the emits out of iteration scopes. This way we preserve the notify-before-removal behavior while also ensuring that iterators cannot go invalid mid-flight. -- You are receiving this mail because: You are watching all bug changes.