<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi everybody,</p>
<p>I just tried loading my library "stmx" with abcl-1.9.0, and it
produces the following error:</p>
<pre>$ abcl
Armed Bear Common Lisp 1.9.0
Java 18.0.1-ea Debian
OpenJDK 64-Bit Server VM
Low-level initialization completed in 0.122 seconds.
Startup completed in 0.536 seconds.
Loading /home/max/.abclrc completed in 7.901 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (ql:quickload "stmx")
To load "stmx":
Load 1 ASDF system:
stmx; Loading "stmx"
[package alexandria]..............................
;; more lines omitted...
[package stmx.lang]...............................
[package stmx]....................................
[package stmx.util]........................
Error loading /home/max/.cache/common-lisp/abcl-1.9.0-fasl43-linux-x64/home/max/my/common-lisp/stmx/util/tcell.abcl at line 14 (offset 935)
The slot TRANSACTIONAL is unbound in the object #<TRANSACTIONAL-DIRECT-SLOT {2D9B58FE}>.
[Condition of type UNBOUND-SLOT]
Restarts:
0: [TRY-RECOMPILING] Recompile tcell and try loading it again
1: [RETRY] Retry loading FASL for #<ASDF/LISP-ACTION:CL-SOURCE-FILE "stmx" "util" "tcell">.
2: [ACCEPT] Continue, treating loading FASL for #<ASDF/LISP-ACTION:CL-SOURCE-FILE "stmx" "util" "tcell"> as having been successful.
3: [RETRY] Retry ASDF operation.
4: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
5: [ABORT] Give up on "stmx"
6: [RETRY] Retry SLIME REPL evaluation request.
7: [*ABORT] Return to SLIME's top level.
8: [ABORT] Abort thread.
Backtrace:
0: (SYSTEM:BACKTRACE)
1: (#<FUNCTION #<FUNCTION {25F0C5DA}> {25F0C5DA}> #<UNBOUND-SLOT {50DED6EF}> #<FUNCTION #<FUNCTION {25F0C5DA}> {25F0C5DA}>)
2: (APPLY #<FUNCTION #<FUNCTION {25F0C5DA}> {25F0C5DA}> (#<UNBOUND-SLOT {50DED6EF}> #<FUNCTION #<FUNCTION {25F0C5DA}> {25F0C5DA}>))
3: (SYSTEM::RUN-HOOK SYSTEM::*INVOKE-DEBUGGER-HOOK* #<UNBOUND-SLOT {50DED6EF}> #<FUNCTION #<FUNCTION {25F0C5DA}> {25F0C5DA}>)
4: (INVOKE-DEBUGGER #<UNBOUND-SLOT {50DED6EF}>)
5: (ERROR UNBOUND-SLOT :INSTANCE #<STMX::TRANSACTIONAL-DIRECT-SLOT {2D9B58FE}> :NAME STMX:TRANSACTIONAL)
6: (#<FUNCTION #<FUNCTION {2BE435C1}> {2BE435C1}> (#<STANDARD-CLASS STMX::TRANSACTIONAL-DIRECT-SLOT {3ECE7861}> #<STMX::TRANSACTIONAL-DIRECT-SLOT {2D9B58FE}> STMX:TRANSACTIONAL))
7: (#<FUNCTION #<FUNCTION {D2BE7FC}> {D2BE7FC}> (#<STMX::TRANSACTIONAL-DIRECT-SLOT {2D9B58FE}>))
8: (#<FUNCTION #<FUNCTION {7A80120F}> {7A80120F}> (#<STMX:TRANSACTIONAL-CLASS STMX.UTIL:TCELL {597DC690}> STMX.UTIL::VALUE (#<STMX::TRANSACTIONAL-DIRECT-SLOT {2D9B58FE}>)))
9: (#<STANDARD-GENERIC-FUNCTION MOP:COMPUTE-EFFECTIVE-SLOT-DEFINITION {6F61B180}> #<STMX:TRANSACTIONAL-CLASS STMX.UTIL:TCELL {597DC690}> STMX.UTIL::VALUE (#<STMX::TRANSACTIONAL-DIRECT-SLOT {2D9B58FE}>))
10: (#<FUNCTION #<FUNCTION {53BDAA43}> {53BDAA43}> STMX.UTIL::VALUE)
11: (MOP::STD-COMPUTE-SLOTS #<STMX:TRANSACTIONAL-CLASS STMX.UTIL:TCELL {597DC690}>)
12: (#<STANDARD-GENERIC-FUNCTION MOP:COMPUTE-SLOTS {1125EE25}> #<STMX:TRANSACTIONAL-CLASS STMX.UTIL:TCELL {597DC690}>)
13: (MOP::STD-FINALIZE-INHERITANCE #<STMX:TRANSACTIONAL-CLASS STMX.UTIL:TCELL {597DC690}>)
14: (MOP:FINALIZE-INHERITANCE #<STMX:TRANSACTIONAL-CLASS STMX.UTIL:TCELL {597DC690}>)
15: (MOP::MAYBE-FINALIZE-CLASS-SUBTREE #<STMX:TRANSACTIONAL-CLASS STMX.UTIL:TCELL {597DC690}>)
16: (MOP::STD-AFTER-INITIALIZATION-FOR-CLASSES #<STMX:TRANSACTIONAL-CLASS STMX.UTIL:TCELL {597DC690}> :NAME STMX.UTIL:TCELL :DIRECT-SUPERCLASSES (#<STMX:TRANSACTIONAL-CLASS STMX:TRANSACTIONAL-OBJECT {1FBB..
17: (APPLY #<FUNCTION #<STD-AFTER-INITIALIZATION-FOR-CLASSES {733841D0}> {733841D0}> #<STMX:TRANSACTIONAL-CLASS STMX.UTIL:TCELL {597DC690}> (:NAME STMX.UTIL:TCELL :DIRECT-SUPERCLASSES ..))
18: (#<FUNCTION #<FUNCTION {4C6FD921}> {4C6FD921}> #<STMX:TRANSACTIONAL-CLASS STMX.UTIL:TCELL {597DC690}> :NAME STMX.UTIL:TCELL :DIRECT-SUPERCLASSES (#<STMX:TRANSACTIONAL-CLASS STMX:TRANSACTIONAL-OBJECT {..
19: (APPLY #<FUNCTION #<FUNCTION {4C6FD921}> {4C6FD921}> (#<STMX:TRANSACTIONAL-CLASS STMX.UTIL:TCELL {597DC690}> :NAME STMX.UTIL:TCELL :DIRECT-SUPERCLASSES ..))
20: (#<STANDARD-GENERIC-FUNCTION INITIALIZE-INSTANCE {5F0C5228}> #<STMX:TRANSACTIONAL-CLASS STMX.UTIL:TCELL {597DC690}> :NAME STMX.UTIL:TCELL :DIRECT-SUPERCLASSES (#<STMX:TRANSACTIONAL-CLASS STMX:TRANSACT..
21: (APPLY #<STANDARD-GENERIC-FUNCTION INITIALIZE-INSTANCE {5F0C5228}> #<STMX:TRANSACTIONAL-CLASS STMX.UTIL:TCELL {597DC690}> (:NAME STMX.UTIL:TCELL :DIRECT-SUPERCLASSES ..))
22: (#<FUNCTION #<FUNCTION {723E9D5D}> {723E9D5D}> #<STANDARD-CLASS STMX:TRANSACTIONAL-CLASS {40AB239E}> :NAME STMX.UTIL:TCELL :DIRECT-SUPERCLASSES (#<STMX:TRANSACTIONAL-CLASS STMX:TRANSACTIONAL-OBJECT {1..
23: (APPLY #<FUNCTION #<FUNCTION {723E9D5D}> {723E9D5D}> (#<STANDARD-CLASS STMX:TRANSACTIONAL-CLASS {40AB239E}> :NAME STMX.UTIL:TCELL :DIRECT-SUPERCLASSES ..))
24: (#<STANDARD-GENERIC-FUNCTION MAKE-INSTANCE {2577139A}> #<STANDARD-CLASS STMX:TRANSACTIONAL-CLASS {40AB239E}> :NAME STMX.UTIL:TCELL :DIRECT-SUPERCLASSES (#<STMX:TRANSACTIONAL-CLASS STMX:TRANSACTIONAL-O..
25: (APPLY #<STANDARD-GENERIC-FUNCTION MAKE-INSTANCE {2577139A}> #<STANDARD-CLASS STMX:TRANSACTIONAL-CLASS {40AB239E}> :NAME STMX.UTIL:TCELL :DIRECT-SUPERCLASSES (#<STMX:TRANSACTIONAL-CLASS STMX:TRANSACTI..
26: (#<FUNCTION #<FUNCTION {2E873D1E}> {2E873D1E}> NIL STMX.UTIL:TCELL :DIRECT-SUPERCLASSES (#<STMX:TRANSACTIONAL-CLASS STMX:TRANSACTIONAL-OBJECT {1FBB3CF}>) :DIRECT-SLOTS ((:NAME STMX.UTIL::VALUE ..)) :M..
27: (APPLY #<FUNCTION #<FUNCTION {2E873D1E}> {2E873D1E}> (NIL STMX.UTIL:TCELL :DIRECT-SUPERCLASSES (#<STMX:TRANSACTIONAL-CLASS STMX:TRANSACTIONAL-OBJECT {1FBB3CF}>) :DIRECT-SLOTS ..))
28: (#<STANDARD-GENERIC-FUNCTION MOP:ENSURE-CLASS-USING-CLASS {145D6FB6}> NIL STMX.UTIL:TCELL :DIRECT-SUPERCLASSES (#<STMX:TRANSACTIONAL-CLASS STMX:TRANSACTIONAL-OBJECT {1FBB3CF}>) :DIRECT-SLOTS ((:NAME ...
29: (APPLY #<STANDARD-GENERIC-FUNCTION MOP:ENSURE-CLASS-USING-CLASS {145D6FB6}> NIL STMX.UTIL:TCELL (:DIRECT-SUPERCLASSES (#<STMX:TRANSACTIONAL-CLASS STMX:TRANSACTIONAL-OBJECT {1FBB3CF}>) ..))
30: (MOP:ENSURE-CLASS STMX.UTIL:TCELL :DIRECT-SUPERCLASSES (#<STMX:TRANSACTIONAL-CLASS STMX:TRANSACTIONAL-OBJECT {1FBB3CF}>) :DIRECT-SLOTS ((:NAME STMX.UTIL::VALUE :INITFORM STMX.UTIL::+EMPTY-TCELL+ ..)) ..
31: (#<COMPILED-FUNCTION #<FUNCTION (LAMBDA ()) {5BAF143A}> {5BAF143A}>)
32: (FUNCALL #<COMPILED-FUNCTION #<FUNCTION (LAMBDA ()) {5BAF143A}> {5BAF143A}>)
33: (SYSTEM:INIT-FASL :VERSION 43)
34: (SYSTEM::%LOAD #P"/home/max/.cache/common-lisp/abcl-1.9.0-fasl43-linux-x64/home/max/my/common-lisp/stmx/util/tcell.abcl" NIL NIL T :DEFAULT)
35: (LOAD #P"/home/max/.cache/common-lisp/abcl-1.9.0-fasl43-linux-x64/home/max/my/common-lisp/stmx/util/tcell.abcl")
36: (APPLY LOAD #P"/home/max/.cache/common-lisp/abcl-1.9.0-fasl43-linux-x64/home/max/my/common-lisp/stmx/util/tcell.abcl" NIL)
37: (#<FUNCTION #<FUNCTION {69BB78BF}> {69BB78BF}>)
38: (UIOP/UTILITY:CALL-WITH-MUFFLED-CONDITIONS #<FUNCTION #<FUNCTION {69BB78BF}> {69BB78BF}> ("Overwriting already existing readtable ~S." #(#:FINALIZERS-OFF-WARNING :ASDF-FINALIZERS)))
39: (UIOP/LISP-BUILD:CALL-WITH-MUFFLED-LOADER-CONDITIONS #<FUNCTION #<FUNCTION {69BB78BF}> {69BB78BF}>)
40: (UIOP/LISP-BUILD:LOAD* #P"/home/max/.cache/common-lisp/abcl-1.9.0-fasl43-linux-x64/home/max/my/common-lisp/stmx/util/tcell.abcl")
; ...
Any idea what could be the reason? The same code works with sbcl, and used to work also with abcl <= 1.7.1.
Also, it's not clear to me how the TRANSACTIONAL slot in question can be unbound, as it has an initform:
(defclass transactional-direct-slot (standard-direct-slot-definition)
((transactional :type boolean :initform t
:initarg :transactional :accessor transactional-slot?))
(:documentation "The class for direct slots of transactional classes. [...]))
Thanks in advance for any advice/suggestion.
Massimiliano Ghilardi
</pre>
<p><br>
</p>
</body>
</html>