Ah, found the source of the leaks: the files that aren't being freed are created in /usr/lib/python2.3/site-packages/svn/fs.py, not in /usr/lib/python2.3/site-packages/track/util.py as I suspected earlier. I've tested it by changing the filename prefix and waiting for the problem to occur again. The problem is definitely occurring in the context of Trac, however, and I haven't a clue which party is to blame.
I've tested a patch on the theory that perhaps the object "differ"--the suspicious stretch of code occurs twice in that file--was sometimes garbage-collected (and the temp files deleted) before the child diff process could access them, but referencing "differ" after the diff has completed does not fix the problem. I'm no Python expert. There is also a security angle to this problem: the leaking files have been connected to a very nasty server outage triggered by http queries on the Trac interface. In that case, /tmp was mounted on tmpfs and filled up available memory. That would make this bug a DoS risk. Jeroen -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]