[Ecls-list] gc problem

Michael O'Connor moconnor59 at yahoo.com
Tue May 25 13:11:26 UTC 2004

I'm getting a problem when I repeatedly run a block of
Lisp code, the code block is read using cl_read(),
then run several times by calling si_safe_eval().

It all works fine for ~25 runs, then on the 26th or so
run it crashes, the problem does not seem to be data
related as I can run the program using different
data-sets, but no matter where I start it always
crashes after ~25 runs. I've found that if I print the
contents of the code block in my C++ application it
works as expected until the point at which it fails,
then the print-out reads something like '#<illegal
pointer 09ce14a0>'.

The gdb debugger tells me that the code block is
modified at some point between the 25th and 26th run
(which I wouldn't expect, but which would probably
explain what's happening). A gdb watchpoint indicates
this is occurring in function GC_reclaim_clear4()
which implies that the code block is being
garbage-collected I think (it's hard to tell exactly
what's going on as gdb doesn't have a good stack trace
at this point - I'm guessing the gc code does stack
manipulation - ?).

I'm not sure how to debug this further, so I'd
appreciate any clues or suggestions.



Do you Yahoo!?
Friends.  Fun.  Try the all-new Yahoo! Messenger.

More information about the ecl-devel mailing list