[armedbear-devel] [closer-devel] Closer-mop support for ABCL

Pascal Costanza pc at p-cos.net
Sun Aug 26 16:40:10 UTC 2012

On 26 Aug 2012, at 17:14, Rudolf Schlatte <rudi at constantly.at> wrote:

> On Aug 26, 2012, at 16:28, Pascal Costanza <pc at p-cos.net> wrote:
>> Hi Rudi,
>> I'm now seeing other bugs: There is a Java-level index-out-of-bounds error caused by a call to %set-standard-instance-access somewhere. However, it's pretty hard to figure out where and why that happens, because the Java error message doesn't tell me where in the Lisp code I am. Can you recommend any tricks how to localize errors better?
> Thanks, r14135 catches that and throws a Lisp-side type error.  This should give you a more helpful backtrace.  I think in general Lisp code should never result in uncaught Java exceptions, so I'd be happy to fix any that you find.

OK, thanks a lot! This works better now.

However, the error message doesn't seem to make any sense:

Error loading /Users/costanza/lisp/develop/closer/contextl/test/demo3.lisp at line 51 (offset 1410)
#<THREAD "interpreter" {3ADE1520}>: Debugger invoked on condition of type TYPE-ERROR
  The value 1 is not of type (INTEGER 0 1).
  0: TOP-LEVEL Return to top level.
[1] CX-USER(2): :bt

  2: org.armedbear.lisp.Lisp.error(Lisp.java:382)
  3: org.armedbear.lisp.Lisp.type_error(Lisp.java:423)
  4: org.armedbear.lisp.StandardObject$pf__set_standard_instance_access.execute(StandardObject.java:489)
  5: org.armedbear.lisp.Symbol.execute(Symbol.java:825)
  6: org.armedbear.lisp.LispThread.execute(LispThread.java:666)
  7: org.armedbear.lisp.clos_671.execute(clos.lisp:3409)

The reason for the confusing error message seems to be that the error message gives instance.slots.length as an upper bound, but I think it should give instance.slots.length-1.

Now I need to figure out why the class has only exactly one slot...


Pascal Costanza

More information about the armedbear-devel mailing list