[armedbear-ticket] [armedbear] #113: DEFSTRUCT redefinition can crash ABCL on MAKE-FOO
armedbear
armedbear-devel at common-lisp.net
Mon Oct 18 10:21:04 UTC 2010
#113: DEFSTRUCT redefinition can crash ABCL on MAKE-FOO
---------------------+------------------------------------------------------
Reporter: mseddon | Owner: nobody
Type: defect | Status: new
Priority: minor | Milestone:
Component: java | Version:
Keywords: |
---------------------+------------------------------------------------------
CL-USER(1): (defstruct foo x y)
FOO
CL-USER(2): (defstruct foo x y z)
FOO
CL-USER(3): (make-foo :x 1 :y 2 :z 3)
ABCL Debug.assertTrue() assertion failed!
java.lang.Error: ABCL Debug.assertTrue() assertion failed!
at org.armedbear.lisp.Debug.assertTrue(Debug.java:46)
at
org.armedbear.lisp.StructureObject.writeToString(StructureObject.java
:483)
Multiple DEFSTRUCTs do not change the underlying structure class, but seem
to cause StructureObject to assert if the new (almost ignored) definition
had a different number of slots than the old.
For example, while the above example crashes out ABCL, the following
example does not:
CL-USER(1): (defstruct foo a b c)
FOO
CL-USER(2): (defstruct foo x y z)
FOO
CL-USER(3): (make-foo :x 1 :y 2 :z 3)
#S(FOO :A 1 :B 2 :C 3)
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/113>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
More information about the armedbear-ticket
mailing list