Book logo xindy

A Flexible Indexing System

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: xindy bug report

Thomas Henlich writes:
 > Processing the following files with xindy leads to a SEGMENTATION FAULT.
 > Both i386-linux-glibc and i386-linux-elf versions are affected.
 > The output is:
 > =====
 > ~/xindy$ xindy -L 3 -l test.xlg test.xdy test.raw
 > This is `xindy' version 2.0 (i386-linux-glibc2 binary version 2.0).
 > Opening logfile "test.xlg" (done)
 > Reading indexstyle...
 > Loading module "test.xdy"...
 > Finished loading module "test.xdy".
 > Finished reading indexstyle.
 > Finalizing indexstyle... (done)
 > Reading raw-index "test.raw"...
 > Finished reading raw-index.
 > Processing index...
 > *** - handle_fault error2 ! address = 0x7D241E not in
 > [0x20195000,0x2028C6C8) !
 > SIGSEGV cannot be cured. Fault address = 0x7D241E.
 > Speicherzugriffsfehler
 > [...]
 > Any clues? How can I debug xindy?
 > -- 
 > Thomas Henlich

The bug is caused by some rudimentary limitation on the length of
strings to be processed. There was a buffer of length 128 on the heap
which was not bounds-checked. I lifted the limit to 4096 for the
moment which should be enough for most applications.

The quick fix is to 

	#define STRING_MAX    1024
in "mkind.h" instead of 128 ;-)

If anybody seems to need more space for the length of keywords in his
applications, tell me. I'll integrate it into a future release...

Cheers, Roger

Roger Kehr
Computer Science Department         Darmstadt University of Technology