adlai / scalpl

volatility harvester prototype
http://github.com/adlai/scalpl?tab=readme-ov-file#legal-ease
60 stars 20 forks source link

Failure on CCL 1.11.5 x64 #9

Closed adlai closed 4 years ago

adlai commented 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)>
adlai commented 4 years ago

The true mystery here is why this works on any other implementation.

adlai commented 4 years ago

This appears to have been an inconsistency in the local CCL installation, fixed by recompiling CCL.