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@suse.com <><, Pseudo Engineer, itinerant idiot
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.