Closed adlai closed 4 years ago
There is no applicable method for the generic function: #<STANDARD-GENERIC-FUNCTION SLOT-VALUE-USING-CLASS @1+00gf1> when called with arguments: (#<STANDARD-CLASS SCALPL.EXCHANGE::BOOK-FETCHER> #<BOOK-FETCHER depth fetcher #<XBTUSD on #<BITMEX>> @1+01co2> 0) [Condition of type NO-APPLICABLE-METHOD-EXISTS] Restarts: 0: [CONTINUE] Try calling it again 1: [ABORT] Abort request, restart actor 2: [ABORT-BREAK] Reset this thread 3: [ABORT] Kill this thread Backtrace: 0: (#<CCL::STANDARD-KERNEL-METHOD NO-APPLICABLE-METHOD (T)> #<STANDARD-GENERIC-FUNCTION SLOT-VALUE-USING-CLASS @1+00gf1> #<STANDARD-CLASS SCALPL.EXCHANGE::BOOK-FETCHER> #<BOOK-FETCHER depth fetcher.. Locals: CCL::GF = #<STANDARD-GENERIC-FUNCTION SLOT-VALUE-USING-CLASS @1+00gf1> CCL::ARGS = (#<STANDARD-CLASS SCALPL.EXCHANGE::BOOK-FETCHER> #<BOOK-FETCHER depth fetcher #<XBTUSD on #<BITMEX>> @1+01co1> 0) 1: (NIL #<Unknown Arguments>) ;;; (apply #'get-book market get-book-keys))) 2: (#<STANDARD-METHOD SCALPL.ACTOR:PERFORM (SCALPL.EXCHANGE::BOOK-FETCHER)> #<BOOK-FETCHER depth fetcher #<XBTUSD on #<BITMEX>> @1+01co2>) Locals: SCALPL.EXCHANGE::FETCHER = #<BOOK-FETCHER depth fetcher #<XBTUSD on #<BITMEX>> @1+01co1> ;;; (apply-with-method-context magic method-function args) 3: (CCL::%%BEFORE-AND-AFTER-COMBINED-METHOD-DCODE (NIL #<STANDARD-METHOD SCALPL.ACTOR:PERFORM (SCALPL.EXCHANGE::BOOK-FETCHER)> . @0+if1)) Locals: MAGIC = (NIL #<STANDARD-METHOD SCALPL.ACTOR:PERFORM (SCALPL.EXCHANGE::BOOK-FETCHER)> . @0+if1) METHODS = ((#<STANDARD-METHOD SCALPL.ACTOR:PERFORM :BEFORE (SCALPL.ACTOR:ACTOR)>) (#<STANDARD-METHOD SCALPL.ACTOR:PERFORM :AFTER (SCALPL.ACTOR:ACTOR)>) ..))) BEFORES = (#<STANDARD-METHOD SCALPL.ACTOR:PERFORM :BEFORE (SCALPL.ACTOR:ACTOR)>) CDR-METHS = ((#<STANDARD-METHOD SCALPL.ACTOR:PERFORM :AFTER (SCALPL.ACTOR:ACTOR)>) #<STANDARD-METHOD SCALPL.ACTOR:PERFORM (SCALPL.EXCHANGE::BOOK-FETCHER)>) PRIMARIES = (#<STANDARD-METHOD SCALPL.ACTOR:PERFORM (SCALPL.EXCHANGE::BOOK-FETCHER)>) AFTERS = (#<STANDARD-METHOD SCALPL.ACTOR:PERFORM :AFTER (SCALPL.ACTOR:ACTOR)>) ARGS = @0+if1 CDR = NIL METHOD-FUNCTION = #<METHOD-FUNCTION SCALPL.ACTOR:PERFORM (SCALPL.EXCHANGE::BOOK-FETCHER)> ;;; (if (listp (car next-methods)) >>(%%before-and-after-combined-method-dcode magic)<< 4: (CCL::%CALL-NEXT-METHOD (NIL #<STANDARD-METHOD SCALPL.ACTOR:PERFORM (SCALPL.EXCHANGE::BOOK-FETCHER)> . @0+if1)) Locals: MAGIC = (NIL #<STANDARD-METHOD SCALPL.ACTOR:PERFORM (SCALPL.EXCHANGE::BOOK-FETCHER)> . @0+if1) ARGS = NIL NEXT-METHODS = ((#<STANDARD-METHOD SCALPL.ACTOR:PERFORM :BEFORE (SCALPL.ACTOR:ACTOR)>) (#<STANDARD-METHOD SCALPL.ACTOR:PERFORM :AFTER (SCALPL.ACTOR:ACTOR)>) ..))) ARGS = @0+if1 ;;; (call-next-method) 5: (#<STANDARD-METHOD SCALPL.ACTOR:PERFORM :AROUND (SCALPL.ACTOR:ACTOR)> #<BOOK-FETCHER depth fetcher #<XBTUSD on #<BITMEX>> @1+01co2>) Locals: ACTOR = #<BOOK-FETCHER depth fetcher #<XBTUSD on #<BITMEX>> @1+01co1> #:NEXT-METHOD-CONTEXT = (NIL #<STANDARD-METHOD SCALPL.ACTOR:PERFORM (SCALPL.EXCHANGE::BOOK-FETCHER)> . @0+if1) #:G12013 = #<RESTART ABORT #x..> #:G12011 = (#<RESTART ABORT #x..>) CCL::%RESTARTS% = ((#<RESTART ABORT #x..>) (#<RESTART ABORT-BREAK #x..> #<RESTART ABORT #x..>)) ;;; (apply-with-method-context magic (%method.function car-meths) args) 6: (CCL::%%STANDARD-COMBINED-METHOD-DCODE (#<STANDARD-METHOD SCALPL.ACTOR:PERFORM :AROUND (SCALPL.ACTOR:ACTOR)> (#<STANDARD-METHOD SCALPL.ACTOR:PERFORM :BEFORE #>) ..)) @0+if1) Locals: METHODS = (#<STANDARD-METHOD SCALPL.ACTOR:PERFORM :AROUND (SCALPL.ACTOR:ACTOR)> (#<STANDARD-METHOD SCALPL.ACTOR:PERFORM :BEFORE #>) (#<STANDARD-METHOD SCALPL.ACTOR:PERFORM :AFTER #>) ..)) ARGS = @0+if1 CAR-METHS = #<STANDARD-METHOD SCALPL.ACTOR:PERFORM :AROUND (SCALPL.ACTOR:ACTOR)> CELL-2 = (#<STANDARD-METHOD SCALPL.ACTOR:PERFORM (SCALPL.EXCHANGE::BOOK-FETCHER)> . @0+if1) MAGIC = (NIL #<STANDARD-METHOD SCALPL.ACTOR:PERFORM (SCALPL.EXCHANGE::BOOK-FETCHER)> . @0+if1) #:G127327 = #<METHOD-FUNCTION SCALPL.ACTOR:PERFORM :AROUND (SCALPL.ACTOR:ACTOR)>
The true mystery here is why this works on any other implementation.
This appears to have been an inconsistency in the local CCL installation, fixed by recompiling CCL.