Hi all -- ikarus almost never gives me problems, but I've recently run
into one that I can't seem to figure out.

I've been running some large-ish programs with ikarus, and it will
occasionally die with the error:

 relocation error with relative=0x00000000a8c203f2

(with different value of the 0x000...).

The error comes from ikarus-collect.c, where it looks like ikarus is
checking for some sort of pointer overflow:

...
      ikptr relative_distance = displaced_object - (long int)
next_word;
      if(((long int)relative_distance) != ((long)((int)
relative_distance))){
        fprintf(stderr, "relocation error with relative=0x%016lx\n",
            relative_distance);
        exit(-1);
      }
...

It seems to happen most frequently with programs that start using a
lot of RAM.  My guess is that something is running out of space,
although I don't know what -- the programs in question die when they
use about 30% of my 8G of RAM.  I've tried making sure that resource
limits are off, but without luck.

Perhaps this is a stack overflow?

I'm using a very recent version of ikarus on 64bit Ubuntu 8.10:

Ikarus Scheme version 0.0.4-rc1+, 64-bit (revision 1865, build
2009-11-13)

Any thoughts?

                                          -- David


Reply via email to