Junk *.tmp files in /tmp after compilation

Michael Meeks michael.meeks at suse.com
Tue Jan 8 10:21:43 PST 2013


On Thu, 2013-01-03 at 20:12 +0100, Jean-Baptiste Faure wrote:
> Le 03/01/2013 16:48, Michael Meeks a écrit :
> > 	run 'make check' - see if that leaks the files - if so, it's the
> > 'check' rule :-) Try narrowing that down; does 'make check' inside sw/
> > dump stuff in /tmp (actually I'd try that first - it'd be faster.
> 
> What I did :

	Thanks for that - most helpful :-) By doing:

	md5sum /tmp/lu*.tmp > /tmp/sums
	git ls-files sc/qa/unit/data | xargs md5sum >> /tmp/sums
	sort /tmp/sums

	you can see that (at least from calc) one of these is
sc/qa/unit/data/ods/borders_ooo33.ods (for example) and another is
sc/qa/unit/data/ods/dependencyTree.ods, another is
sc/qa/unit/data/xlsx/new_cond_format_test.xlsx another
sc/qa/unit/data/xls/border.xls - but many of them are apparently new
files - lots are empty.

	I nailed a few of these named / content-filled files with this:

http://cgit.freedesktop.org/libreoffice/core/commit/?id=92045e69dab8be60a1c84774f04c437066c3c2bf

	I imagine we have similar problems in some loop in sw - any chance of
doing some more identification / digging as above there ? I assume we're
just forgetting to close some internally created document cleanly and
it's leaking.

> Another thing: make creates a temp dir in /tmp but never uses it, it
> remains empty during the build. The name of this tempdir is a 6 random
> alphabetical characters word. It is not removed when the build is completed.

	Sure sure ;-) digging out such things is a bit of a pain.

> Hmm I am afraid that this is too difficult for me. Anyway I tried the
> command 'strace -f -s 256 -o /tmp/slog make check' in .../sc. Then
> exploring the slog file I found that several temp files are created and
> removed. Temp files are created in alphabetical order.
> In that case the first temp file is opened in a process with PID 32088.
> The first line with this PID is :
> execve("/home/jbf/LibO/master/solver/unxlngx6.pro/bin/cppunit/cppunittester",
> ["/home/jbf/LibO/master/solver/unxlngx6.pro/bin/cppunit/cppunittester",
> "/home/jbf/LibO/master/workdir/unxlngx6.pro/LinkTarget/CppunitTest/libtest_sc_ucalc.so",
> "--headless", ... (very long command)

	Great :-) looks like you found the culprit. On the other hand - I
suspect that this temp file is cleaned up since manually running that
command I can't reproduce the leak :-) I assume that many are unlinked
correctly but not all - so we'd need to find which ones are not by
looking for the leaked names from /tmp in the strace of the previous
run :-)

	Thanks !

		Michael.

-- 
michael.meeks at suse.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list