Christophe Rhodes <csr21@...> writes:
> I'm attaching a transcript as well as the test file, just in case I'm
> doing something obviously stupid. I have to confess I don't even see
> how these symptoms could happen -- and yet they are, and seemingly
> deterministically to me...
> Any ideas?
One "git bisect" later, and it begins to make a horrible kind of
The offending commit identified by bisection is
188.8.131.52: detect binding and alien stack exhaustion
which at first sight shouldn't have anything to do with weird
print-object behaviour. However, PRINT-OBJECT is treated
ever-so-slightly specially by PCL: it's important that we always be
able to print objects of certain classes with only minimal
computation: printing a stack-exhaustion condition (or any restarts
for it) had better not consume more than a page of stack. So, in
compute-discriminating-function, we arrange for these special classes
to be cached.
The commit for 184.108.40.206 adds binding and alien stack exhaustion
conditions to that list; my inference is that there's something wrong
with the code to arrange precacheing (or invalidation, or
reconstruction, or something) and that a cached value for
WEXERCIZER-0-8-7 (from my test case) gets "stuck" in the cache under
certain circumstances. This hypothesis has the advantage that it
explains the symptoms, which I find attractive, because it means that
my own sanity is slighly less in question...
I do not have any kind of fix for this, or even real confirmation of
the diagnosis. Any thoughts?