[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: makeinfo fd leak? and gendocs.sh exit status bug
From: |
Oleg Katsitadze |
Subject: |
Re: makeinfo fd leak? and gendocs.sh exit status bug |
Date: |
Thu, 8 Jan 2009 08:33:41 +0200 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Tue, Jan 06, 2009 at 04:12:44PM +0000, Eric Blake wrote:
> I noticed this when running the new gendocs.sh on the Autoconf tree on cygwin;
> when I tried the same process on Linux, there was no problem. Since cygwin
> enforces a smaller cap on number of open fd, I suspect that makeinfo might
> have
> an fd leak, although I have not investigated further at this point. I
> reproduced this by using 'gmake web-manual' using the latest autoconf.git.
I don't have cygwin, but I've done some checks on Debian's makeinfo
(4.11), and didn't find any problems:
$ valgrind --track-fds=yes makeinfo autoconf.texi 2>&1 | grep 'FILE
DESCRIPTORS'
==16076== FILE DESCRIPTORS: 3 open at exit.
$ valgrind --track-fds=yes makeinfo --no-split autoconf.texi 2>&1 | grep
'FILE DESCRIPTORS'
==16106== FILE DESCRIPTORS: 3 open at exit.
$ valgrind --track-fds=yes makeinfo --no-headers autoconf.texi 2>&1 | grep
'FILE DESCRIPTORS'
==16136== FILE DESCRIPTORS: 3 open at exit.
$ valgrind --track-fds=yes makeinfo --html autoconf.texi 2>&1 | grep 'FILE
DESCRIPTORS'
==16202== FILE DESCRIPTORS: 3 open at exit.
$ valgrind --track-fds=yes makeinfo --xml autoconf.texi 2>&1 | grep 'FILE
DESCRIPTORS'
==16234== FILE DESCRIPTORS: 3 open at exit.
$ valgrind --track-fds=yes makeinfo --docbook autoconf.texi 2>&1 | grep
'FILE DESCRIPTORS'
==16263== FILE DESCRIPTORS: 3 open at exit.
$ strace makeinfo autoconf.texi 2>&1 | grep '^open(' | wc -l
42
$ strace makeinfo autoconf.texi 2>&1 | grep '^close(' | wc -l
36
$ strace makeinfo --no-split autoconf.texi 2>&1 | grep '^open(' | wc -l
36
$ strace makeinfo --no-split autoconf.texi 2>&1 | grep '^close(' | wc -l
30
$ strace makeinfo --no-headers autoconf.texi 2>&1 | grep '^open(' | wc -l
15
$ strace makeinfo --no-headers autoconf.texi 2>&1 | grep '^close(' | wc -l
9
$ strace makeinfo --html autoconf.texi 2>&1 | grep '^open(' | wc -l
384
$ strace makeinfo --html autoconf.texi 2>&1 | grep '^close(' | wc -l
378
$ strace makeinfo --xml autoconf.texi 2>&1 | grep '^open(' | wc -l
11
$ strace makeinfo --xml autoconf.texi 2>&1 | grep '^close(' | wc -l
11
$ strace makeinfo --docbook autoconf.texi 2>&1 | grep '^open(' | wc -l
11
$ strace makeinfo --docbook autoconf.texi 2>&1 | grep '^close(' | wc -l
11
I checked the strace output of "makeinfo --html", which caused the
most open() calls, and open() and close() calls where intermingled, no
long spans of open's without close's. So the problem is probably
somewhere else.
> Meanwhile, even after that message, gendocs.sh ran to completion with an exit
> status of 0, so someone is failing to propogate the error status properly.
I don't know much about gendocs.sh, but it looks like it doesn't check
for errors, it just runs a bunch of commands and exits with success
(from the final echo).
Best,
Oleg