For whatever reason I’ve been uncovering software bugs at an unprecedented rate in the past 10 days. This is by no means a bad thing, I enjoy hunting down and fixing bugs, but it does mean that the additional overhead of drafting a post about each bug becomes a bit too much. So instead here’s a quick overview - the linked patches and merge requests will have more information, if you are interested.
Trash size calculation in KIO
I noticed this one pretty much right after starting to use Dolphin but did not end up looking into it until quite a bit later: when displaying the size of the items in the trash, the application would always show 0 bytes. This would also cause the automated cleanup of items to fail - Dolphin simply believed that the trash was empty.
KDE uses the KIO framework to provide management of the trash. A recent commit had changed the construction of a QDirIterator in a way that would make it ignore all items when iterating over the trash directory. Thankfully the fix was straightforward and it was merged quickly.
git-shortlog(1) segfaults outside of a git repository
This one I uncovered as I was writing a small script to give me an overview of
commit authors in all the git repositories I had cloned locally. I was happily
scanning through my source directory using the
--author
flag for git-shortlog(1)
to generate this, fully expecting git to complain
about the few non-git directories I had. Instead of complaints, however, I got a
segfault.
Turns out that a change back in
May stopped setting SHA1 as the
default object hash. This was done to progress the slow-moving transition to
stronger hash functions but
inadvertently broke git-shortlog(1)
whose argument parsing machinery expected
a default hash algorithm to be set. I sent a
patch
upstream.
An infinite loop in plasmashell
I regularly use the
Activities
functionality in Plasma 6 and switch through my activities using Plasma’s
built-in activity manager. A couple of days ago I managed to make plasmashell
,
the provider for Plasma’s desktop and task bar, freeze - I had hit the “up
arrow” key in the activity filter text box when there were no results visible.
This was perfectly reproducible, so I went to investigate.
The cause of the issue was a do-while construct not handling a specific sentinel value, making it loop infinitely. For this one I also opened a merge request upstream.