texindex causes segmentation faults

Bruce Dubbs bdubbs at swbell.net
Sun Dec 11 19:49:58 PST 2005


Randy McMurchy wrote:
> Hi all,
> 
> I'm seeing a reproduceable issue with the current texinfo/teTeX
> combination of LFS/BLFS packages. I don't know where to begin to
> look so I'll describe symptoms and see if this rings a bell to
> anyone.
> 
> I see segmentation faults when using the texi2dvi and texi2pdf
> programs. I'm using current LFS SVN (SVN-20051130) with teTeX-3.0.
> 
> For a similar error I'm seeing, check out the error message at
> the bottom of this page:
> http://lists.gnu.org/archive/html/bug-automake/2005-10/msg00004.html
> 
> The seg-faults using texindex are reproduceable and consistently
> happen when using texi2dvi to format .texi files.
> 
> It is the texindex program which is ultimately seg-faulting.
> 
> After building LFS using LFS SVN-20050831, I do not see these
> segfaults. So, perhaps it is something with the most recent
> Glibc/GCC combination of current SVN. The texinfo and teTeX package
> versions are the same.
> 
> Anyone with any knowledge about this, or if you can confirm this
> seg-faulting behavior, please respond to this message.

Randy,

  I traced this down a bit.  The texindex program is created in the
texinfo package in LFS.  After analyzing the source :), I narrowed it
down to:

/* x.c */
char *tempbase;
int main (int argc, char **argv)
{
  tempbase = mktemp ("txidxXXXXXX");
  return 0;
}

gcc -o x x.c
./x
Segmentation fault

Changing to mkstemp also creates a segfault.

glibc declares mktemp as:
char *
mktemp (template)
     char *template;
{
  if (__gen_tempname (template, __GT_NOCREATE) < 0)
    /* We return the null string if we can't find a unique file name.  */
    template[0] = '\0';

  return template;
}

The definition of __gen_tempname is in glibc sysdeps/posix/tempname.c.

There is no change in this function from gcc-2.3.4.

I suspect this is something to do with gcc4.  Perhaps we need to elevate
this to the gcc devs with a bug.

In the meantime, I'll try to see if I can extrace the source from
tempname.c and see if I can get it to segfault.

  -- Bruce



More information about the lfs-dev mailing list