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)?

Reply via email to