On Sat, 26 Feb 2000, Horst von Brand wrote:
> Yes, I just tried with the stock texinfo version from GNU, compiled with -g
> using gcc-2.95.2. The same problem happens when compiled with egcs-1.1.2-24
> or egcs-20000221; and also for the RH texinfo versions 4.0-4 and
> 3.12h-2. Problem turned out to be a leftover dir.info file which ends just
> after the "* Menu:" line, with an existing (and correct) dir file.
>
> A backtrace shows a SEGV in search.c:417 (skip_node_separator), called with
> a bad body from nodes.c:117 (info_node_of_file_tags). I looked at
> that function, but couldn't understand what it is trying to do.
This happens because having both dir.info and dir files confuses Info,
and it winds up free'ing the DIR node. Since using a free'd pointer has
different effects on different systems, I believe the precise place where
it crashes is of no particular importance.
I'm working on a cure, but it isn't trivial, since there seems to be no
consensus inside Info what file names should be recognized as DIR files.
Some parts of Info seem to insist on `dir' and `localdir' only and reject
e.g. `localdir.info' (see the comment in dir.c), while other parts will
happily find `dir.info' when asked to look for `dir'.
Karl, do we need to support dir.info. dir.gz and the rest of the
extensions? If we do, does it mean no Info file that is not a DIR file
can be called dir.info (i.e., the names `dir.info' and all its
compressed brethren are reserved)?