Unbound slot location bug

Pascal Costanza <[email protected]> Mon, 9 May 2022 11:14:51 +0200
Newsgroups gmane.editors.j.devel
Message-ID <[email protected]>
--Apple-Mail=_825E75FE-FAEE-4F3F-8C7F-9121ADAC5ECC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi,

I=E2=80=99m running the Closer to MOP tests, and see at least one bug. =
(With the limited time I have available, I can only do one bug at a =
time, step by step, so there might be more.)

Armed Bear Common Lisp 1.9.0
Java 17.0.3 Azul Systems, Inc.
OpenJDK 64-Bit Server VM
Low-level initialization completed in 0.095 seconds.
Startup completed in 0.469 seconds.
Loading /Users/costanza/.abclrc completed in 3.554 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (use-package :mop)

(defclass my-effective-slot-definition =
(standard-effective-slot-definition)
  ())

(defclass my-class (standard-class)
  ())

(defmethod validate-superclass
           ((class my-class)
            (superclass standard-class))
  t)

(defmethod effective-slot-definition-class
           ((class my-class) &rest initargs)
  (declare (ignore initargs))
  (find-class 'my-effective-slot-definition))

(defclass my-object ()
  ((my-slot :allocation :class))
  (:metaclass my-class))
T
CL-USER(2): CL-USER(2): #<STANDARD-CLASS MY-EFFECTIVE-SLOT-DEFINITION =
{731A05FD}>
CL-USER(3): CL-USER(3): #<STANDARD-CLASS MY-CLASS {42C6245B}>
CL-USER(4): CL-USER(4): #<STANDARD-METHOD VALIDATE-SUPERCLASS (MY-CLASS =
STANDARD-CLASS) {4959790F}>
CL-USER(5): CL-USER(5): #<STANDARD-METHOD =
EFFECTIVE-SLOT-DEFINITION-CLASS (MY-CLASS) {2AAA2CBF}>
CL-USER(6): CL-USER(6): #<THREAD "interpreter" {25793D3C}>: Debugger =
invoked on condition of type UNBOUND-SLOT
  The slot LOCATION is unbound in the object =
#<MY-EFFECTIVE-SLOT-DEFINITION {32EB5C37}>.
Restarts:
  0: TOP-LEVEL Return to top level.
[1] CL-USER(7):=20

Best,
Pascal


--Apple-Mail=_825E75FE-FAEE-4F3F-8C7F-9121ADAC5ECC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" =
class=3D"">Hi,<div class=3D""><br class=3D""></div><div class=3D"">I=E2=80=
=99m running the Closer to MOP tests, and see at least one bug. (With =
the limited time I have available, I can only do one bug at a time, step =
by step, so there might be more.)</div><div class=3D""><br =
class=3D""></div><div class=3D""><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo; background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">Armed =
Bear Common Lisp 1.9.0</span></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo; background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">Java =
17.0.3 Azul Systems, Inc.</span></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo; background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">OpenJDK =
64-Bit Server VM</span></div><div style=3D"margin: 0px; font-stretch: =
normal; font-size: 11px; line-height: normal; font-family: Menlo; =
background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">Low-level=
 initialization completed in 0.095 seconds.</span></div><div =
style=3D"margin: 0px; font-stretch: normal; font-size: 11px; =
line-height: normal; font-family: Menlo; background-color: rgb(254, 244, =
139);" class=3D""><span style=3D"font-variant-ligatures: =
no-common-ligatures" class=3D"">Startup completed in 0.469 =
seconds.</span></div><div style=3D"margin: 0px; font-stretch: normal; =
font-size: 11px; line-height: normal; font-family: Menlo; =
background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">Loading =
/Users/costanza/.abclrc completed in 3.554 seconds.</span></div><div =
style=3D"margin: 0px; font-stretch: normal; font-size: 11px; =
line-height: normal; font-family: Menlo; background-color: rgb(254, 244, =
139);" class=3D""><span style=3D"font-variant-ligatures: =
no-common-ligatures" class=3D"">Type ":help" for a list of available =
commands.</span></div><div style=3D"margin: 0px; font-stretch: normal; =
font-size: 11px; line-height: normal; font-family: Menlo; =
background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D"">CL-USER(1): (use-package :mop)</span></div><div =
style=3D"margin: 0px; font-stretch: normal; font-size: 11px; =
line-height: normal; font-family: Menlo; background-color: rgb(254, 244, =
139); min-height: 13px;" class=3D""><span style=3D"font-variant-ligatures:=
 no-common-ligatures" class=3D""></span><br class=3D""></div><div =
style=3D"margin: 0px; font-stretch: normal; font-size: 11px; =
line-height: normal; font-family: Menlo; background-color: rgb(254, 244, =
139);" class=3D""><span style=3D"font-variant-ligatures: =
no-common-ligatures" class=3D"">(defclass my-effective-slot-definition =
(standard-effective-slot-definition)</span></div><div style=3D"margin: =
0px; font-stretch: normal; font-size: 11px; line-height: normal; =
font-family: Menlo; background-color: rgb(254, 244, 139);" =
class=3D""><span style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D"">&nbsp; ())</span></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo; background-color: rgb(254, 244, 139); min-height: 13px;" =
class=3D""><span style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D""></span><br class=3D""></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo; background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">(defclass=
 my-class (standard-class)</span></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo; background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">&nbsp; =
())</span></div><div style=3D"margin: 0px; font-stretch: normal; =
font-size: 11px; line-height: normal; font-family: Menlo; =
background-color: rgb(254, 244, 139); min-height: 13px;" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D""></span><br class=3D""></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo; background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D"">(defmethod validate-superclass</span></div><div =
style=3D"margin: 0px; font-stretch: normal; font-size: 11px; =
line-height: normal; font-family: Menlo; background-color: rgb(254, 244, =
139);" class=3D""><span style=3D"font-variant-ligatures: =
no-common-ligatures" class=3D"">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
((class my-class)</span></div><div style=3D"margin: 0px; font-stretch: =
normal; font-size: 11px; line-height: normal; font-family: Menlo; =
background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">&nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (superclass =
standard-class))</span></div><div style=3D"margin: 0px; font-stretch: =
normal; font-size: 11px; line-height: normal; font-family: Menlo; =
background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">&nbsp; =
t)</span></div><div style=3D"margin: 0px; font-stretch: normal; =
font-size: 11px; line-height: normal; font-family: Menlo; =
background-color: rgb(254, 244, 139); min-height: 13px;" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D""></span><br class=3D""></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo; background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D"">(defmethod effective-slot-definition-class</span></div><div =
style=3D"margin: 0px; font-stretch: normal; font-size: 11px; =
line-height: normal; font-family: Menlo; background-color: rgb(254, 244, =
139);" class=3D""><span style=3D"font-variant-ligatures: =
no-common-ligatures" class=3D"">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
((class my-class) &amp;rest initargs)</span></div><div style=3D"margin: =
0px; font-stretch: normal; font-size: 11px; line-height: normal; =
font-family: Menlo; background-color: rgb(254, 244, 139);" =
class=3D""><span style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D"">&nbsp; (declare (ignore initargs))</span></div><div =
style=3D"margin: 0px; font-stretch: normal; font-size: 11px; =
line-height: normal; font-family: Menlo; background-color: rgb(254, 244, =
139);" class=3D""><span style=3D"font-variant-ligatures: =
no-common-ligatures" class=3D"">&nbsp; (find-class =
'my-effective-slot-definition))</span></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo; background-color: rgb(254, 244, 139); min-height: 13px;" =
class=3D""><span style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D""></span><br class=3D""></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo; background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">(defclass=
 my-object ()</span></div><div style=3D"margin: 0px; font-stretch: =
normal; font-size: 11px; line-height: normal; font-family: Menlo; =
background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">&nbsp; =
((my-slot :allocation :class))</span></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo; background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">&nbsp; =
(:metaclass my-class))</span></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo; background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D"">T</span></div><div style=3D"margin: 0px; font-stretch: =
normal; font-size: 11px; line-height: normal; font-family: Menlo; =
background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D"">CL-USER(2): CL-USER(2): #&lt;STANDARD-CLASS =
MY-EFFECTIVE-SLOT-DEFINITION {731A05FD}&gt;</span></div><div =
style=3D"margin: 0px; font-stretch: normal; font-size: 11px; =
line-height: normal; font-family: Menlo; background-color: rgb(254, 244, =
139);" class=3D""><span style=3D"font-variant-ligatures: =
no-common-ligatures" class=3D"">CL-USER(3): CL-USER(3): =
#&lt;STANDARD-CLASS MY-CLASS {42C6245B}&gt;</span></div><div =
style=3D"margin: 0px; font-stretch: normal; font-size: 11px; =
line-height: normal; font-family: Menlo; background-color: rgb(254, 244, =
139);" class=3D""><span style=3D"font-variant-ligatures: =
no-common-ligatures" class=3D"">CL-USER(4): CL-USER(4): =
#&lt;STANDARD-METHOD VALIDATE-SUPERCLASS (MY-CLASS STANDARD-CLASS) =
{4959790F}&gt;</span></div><div style=3D"margin: 0px; font-stretch: =
normal; font-size: 11px; line-height: normal; font-family: Menlo; =
background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D"">CL-USER(5): CL-USER(5): #&lt;STANDARD-METHOD =
EFFECTIVE-SLOT-DEFINITION-CLASS (MY-CLASS) =
{2AAA2CBF}&gt;</span></div><div style=3D"margin: 0px; font-stretch: =
normal; font-size: 11px; line-height: normal; font-family: Menlo; =
background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D"">CL-USER(6): CL-USER(6): #&lt;THREAD "interpreter" =
{25793D3C}&gt;: Debugger invoked on condition of type =
UNBOUND-SLOT</span></div><div style=3D"margin: 0px; font-stretch: =
normal; font-size: 11px; line-height: normal; font-family: Menlo; =
background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">&nbsp; =
The slot LOCATION is unbound in the object =
#&lt;MY-EFFECTIVE-SLOT-DEFINITION {32EB5C37}&gt;.</span></div><div =
style=3D"margin: 0px; font-stretch: normal; font-size: 11px; =
line-height: normal; font-family: Menlo; background-color: rgb(254, 244, =
139);" class=3D""><span style=3D"font-variant-ligatures: =
no-common-ligatures" class=3D"">Restarts:</span></div><div =
style=3D"margin: 0px; font-stretch: normal; font-size: 11px; =
line-height: normal; font-family: Menlo; background-color: rgb(254, 244, =
139);" class=3D""><span style=3D"font-variant-ligatures: =
no-common-ligatures" class=3D"">&nbsp; 0: TOP-LEVEL Return to top =
level.</span></div><div style=3D"margin: 0px; font-stretch: normal; =
font-size: 11px; line-height: normal; font-family: Menlo; =
background-color: rgb(254, 244, 139);" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">[1] =
CL-USER(7):&nbsp;</span></div></div><div class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D""><br =
class=3D""></span></div><div class=3D"">Best,</div><div =
class=3D"">Pascal</div><div class=3D""><br class=3D""></div></body></html>=

--Apple-Mail=_825E75FE-FAEE-4F3F-8C7F-9121ADAC5ECC--