Solved.
The problem was .xsession-errors in my home directory.
I run kplayer quite a bit and it is chatty, writing lots of debug stuff into .xsession-errors. At one point in the distant past I discovered that and solved the problem by occasionally shutting down kplayer then deleting .xsession-errors.
After some library and KDE upgrades (from 3.2.4 to 3.3.2), it seems that kdeinit is holding .xsession-errors open all the time, even if it isn't writing. Also, when you delete a file that is open, it turns out that ext3 reports the file as successfully deleted, but it isn't because there was an open file handle on it, and therefore applications will continue to write to it.
So what was happening was that I deleted .xsession-errors and ext3 agreed it was gone -but it wasn't since kdeinit was holding it open. Then kplayer proceeded to fill up my hard drive.
Current workaround; .xsession-errors has been replaced with a link to /dev/null, and root owns the link. I don't know if this will survive a reboot or not; if it doesn't I'll put some code in the initscripts.
So, the bugs are as follows:
(1) kplayer should have debug messages turned off.
(2) kdeinit shouldn't hold a file open unless it is writing to it.
(3) ext3 should do one or another of the following: (a) refuse to delete an open file, or (b) delete the file and invalidate all open file handles. |