Valgrinding complete KDE sessions
Speaker: Julian Seward
Valgrind 1.0.0 was released on 1 July 2002, and so Valgrind is now four years old. Nowadays many FOSS developers, KDE hackers included, use the Valgrind toolset to debug and profile Linux applications. Valgrind includes both profiling tools (Callgrind, Cachegrind) and a memory debugging tool (Memcheck), and my talk will mostly be about Memcheck.
Memcheck is widely used to chase down memory management bugs. But I had always envisaged a broader use for it: to actively seek out otherwise unknown memory management problems, so they can be fixed before they turn in to a crash on a user's desktop. Over the past four years I've run various KDE applications on Valgrind. But what I always wanted to do was run a complete KDE session on Valgrind, so as to check all the relevant processes as they interact in a running desktop.
In the past couple of months I've been able to do just that: run a complete KDE 3.5.2 process tree on Valgrind 3.2.0.
In my talk, I'll discuss how I did it, the failings in Valgrind that had to be fixed to make it possible, and what I found out. It's an interesting, if somewhat slow, exercise. So is it worthwhile? Well, you be the judge of that. I shall add only that I found a couple of obvious memory management bugs in 3.5.2, although they are few and far between.
Julian Seward is a recycled compiler hacker. He founded the Valgrind project in 2000 and is the project lead and a full time developer. He's also the author of bzip2, a data compression program.
Julian's background is in exotic compiler technology. He worked for several years on and with the Glasgow Haskell Compiler, an open source compiler for the functional language Haskell, with earlier postdoctoral work on compilation of a hybrid functional/OO language. More recently he led a small group developing a vectorizing code generator for SIMD architectures.
Julian lives with his wife Donna and two cats in Cambridge, UK. In his minimal spare time he enjoys dancing with the various folk dance groups in Cambridge.