gpi-hash.c segfaults _(re)

Wed, 23 Jul 1997 17:55:05 +0200 (MET DST)


According to myself (Peter Gerwinski):
> 
> I just succeeded to reproduce the bug under Linux DOSEMU.

That was bogus.  :-(  What I did was to move `gpc1' around after compiling,
but my `gpc1.exe' was still gpc-970714.  With gpc-970721 I still cannot
reproduce the bug. :-( :-(

I am uploading my version of `gpc1.exe' (which happily compiled your
"foo.pas" sample program) to

    ftp://agnes.dida.physik.uni-essen.de/home/peter/gpc1.exe.gz

If the error still occurs ... well, what can we do then?
Then we are in trouble:

To produce the error, in line 134 of `gpi-hash.c',

    for (l = hash_table[hi]; l && l->node; l = l->next)

`l' must be nonzero, but point to some nonsense.  How do entries in
`hash_table' get their values?  At the beginning of each storing/loading
of a GPI file, `hash_table' is `bzero'ed now, and the only other access
to `hash_table' is in `set_uid()' (line 173-177) - where I don't see any
error.  So the only remaining origin of this error I can think of is if
some other part of GPC destroys the contents of `hash_table' ... :-(

    Peter

 Dipl.-Phys. Peter Gerwinski, Essen, Germany, free physicist and programmer
peter.gerwinski@uni-essen.de - http://home.pages.de/~peter.gerwinski/ [970201]
 maintainer GNU Pascal [970714] - http://home.pages.de/~gnu-pascal/ [970125]


Peter Gerwinski (peter@agnes.dida.physik.uni-essen.de)

HTML conversion by Lluís de Yzaguirre i Maura
Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza@upf.es