bug-texinfo
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]