[Openmcl-devel] Problems with openMCL slime and Aquamacs (Mac OS X)
Gary Byers
gb at clozure.com
Fri Oct 23 17:38:26 PDT 2009
On Fri, 23 Oct 2009, Philippe Sismondi wrote:
> Further to my last post, and just for fun here is a complete backtrace
> of a failure that resulted in an invalid memory access:
>
> 3: (CCL::%TYPE-INTERSECTION (#<NAMED-CTYPE T> 0))
> 4: (CCL::NX1-TYPE-INTERSECT #:LOOP-LIST-15 T LIST NIL)
That seems to be a similar symptom: both arguments to the function in frame
3 should be "CTYPE" objects (concrete representations of types), and the
second argument is 0. This code is low-level and unsafe enough that it
tries to indirect through location 0 and faults; in your earlier backtrace,
something noticed that 0 wasn't a "CTYPE" and complained about it.
The good news is that this seems to only be one bug (type specifiers sometimes
getting translated to 0 instead of to a CTYPE object); the bad news is that
it's a very bad bug. The translation from a user-readable type specifier
(like LIST or (INTEGER 1)) to a CTYPE object is sometimes expensive and
the results are often cached, and if I had to guess (and at this point I
do) I'd guess that the 0s are a symptom of that cache being corrupted;
I have no good guess yet as to what might cause that corruption.
Someone seems to have reported something similar on the #ccl IRC channel
a few weeks ago (see messages starting at 17:05:16 in
<http://ccl.clozure.com/irc-logs/ccl/2009-09/ccl-2009.09.27.txt>); they
seem to have concluded that the "slime-asdf module in the contribs section"
triggered the bug. If that's true, it'd still be good to know how it does
so and to prevent that from happening.
We'd been distributing a fairly old (~1 year) version of ASDF with 1.3
and there are apparently lots of internal ASDF changes that've been made since
then, and I suppose it's possible that code in SLIME is somehow expecting
to be poking around inside the data structures used by a newer ASDF. That's
just a guess, and it's not clear how that kind of compatibility problem would
step on the CCL type system.
Something clearly is, and in the two reports of it that I've seen (on
IRC and in your message) SLIME and ASDF were present, but I don't
really know what's causing the problem.
More information about the Openmcl-devel
mailing list