<div dir="ltr">I have been trying to create a static function that allows me to create an Akka Actor so I can try to play with it from within slime, but I am running into a very odd issue.<div><div><br></div><div><div>-----</div>
<div><br></div><div>Issue:</div><div>The static function for Java works perfectly, but the equivalent static function for slime does not.</div><div><br></div><div>-----</div><div><br></div><div>The files for reproducing this issue are attached, and the repository that I am using is: <a href="https://github.com/ubikation/chemicalambda">https://github.com/ubikation/chemicalambda</a></div>
<div><br></div><div>Testing requires having the correct jars, which are installable via the pom.xml:</div><div><div>mvn install</div><div>mvn dependency:copy-dependencies</div></div><div>The second command should create a target/dependency folder that you have to add to the classpath, along with the dir containing all of the files I've attached to this email.</div>
<div><br></div><div>-----</div><div><br></div><div>Here is my calling session:</div><div><div>CL-USER> (load "/home/ubikation/src/lisp/chemicalambda/AkkaTest.lisp")</div><div>T</div><div>CL-USER> (my-test)</div>
</div><div><br></div><div>This is the error when trying to call the static function:<br></div><div><div>Java exception 'java.lang.NoClassDefFoundError: akka/actor/ActorSystem'.</div><div>   [Condition of type JAVA-EXCEPTION]</div>
<div><br></div><div>Restarts:</div><div> 0: [RETRY] Retry SLIME REPL evaluation request.</div><div> 1: [*ABORT] Return to SLIME's top level.</div><div> 2: [ABORT] Abort thread.</div><div><br></div><div>Backtrace:</div>
<div>  0: (#<FUNCTION {1E9ABE91}> #<JAVA-EXCEPTION {15883401}> #<FUNCTION {1E9ABE91}>)</div><div>  1: (APPLY #<FUNCTION {1E9ABE91}> (#<JAVA-EXCEPTION {15883401}> #<FUNCTION {1E9ABE91}>))</div>
<div>  2: (SYSTEM::RUN-HOOK SYSTEM::*INVOKE-DEBUGGER-HOOK* #<JAVA-EXCEPTION {15883401}> #<FUNCTION {1E9ABE91}>)</div><div>  3: (INVOKE-DEBUGGER #<JAVA-EXCEPTION {15883401}>)</div><div>  4: org.armedbear.lisp.Lisp.error(Lisp.java:382)</div>
<div>  5: org.armedbear.lisp.Java.jstatic(Java.java:487)</div><div>  6: org.armedbear.lisp.Java$pf_jstatic.execute(Java.java:513)</div><div>  7: org.armedbear.lisp.Primitive.execute(Primitive.java:123)</div><div>  8: (JSTATIC "test" "AkkaApiSimple")</div>
<div>  9: (VOID-FUNCTION)</div><div> 10: (MY-TEST)</div><div> 11: (SYSTEM::%EVAL (MY-TEST))</div><div> 12: (EVAL (MY-TEST))</div><div> 13: (SWANK::EVAL-REGION "(my-test)</div><div>     ")</div><div> 14: (#<FUNCTION {210E38B2}>)</div>
<div> 15: (SWANK::TRACK-PACKAGE #<FUNCTION {210E38B2}>)</div><div> 16: (#<FUNCTION {2CAC3F12}>)</div><div> 17: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation request." #<FUNCTION {2CAC3F12}>)</div>
<div> 18: (#<FUNCTION {6060CDA7}>)</div><div> 19: (FUNCALL #<FUNCTION {6060CDA7}>)</div><div> 20: (#<FUNCTION (LAMBDA (SWANK-BACKEND::FN)) {735DC05F}> #<FUNCTION {6060CDA7}>)</div><div> 21: (APPLY #<FUNCTION (LAMBDA (SWANK-BACKEND::FN)) {735DC05F}> #<FUNCTION {6060CDA7}> NIL)</div>
<div> 22: (SWANK-BACKEND:CALL-WITH-SYNTAX-HOOKS #<FUNCTION {6060CDA7}>)</div><div> 23: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<FUNCTION {6060CDA7}>)</div><div> 24: (SWANK::REPL-EVAL "(my-test)</div><div>     ")</div>
<div> 25: (SWANK:LISTENER-EVAL "(my-test)</div><div>     ")</div><div> 26: (SYSTEM::%EVAL (SWANK:LISTENER-EVAL "(my-test)</div><div>     "))</div><div> 27: (EVAL (SWANK:LISTENER-EVAL "(my-test)</div>
<div>     "))</div><div> 28: (#<FUNCTION {1000D825}>)</div><div> 29: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {1000D825}>)</div><div> 30: (SWANK:EVAL-FOR-EMACS (SWANK:LISTENER-EVAL "(my-test)</div><div>     ") "COMMON-LISP-USER" 12)</div>
<div> 31: (APPLY #<EVAL-FOR-EMACS {4FAC1D53}> ((SWANK:LISTENER-EVAL "(my-test)</div><div>     ") "COMMON-LISP-USER" 12))</div><div> 32: (SWANK::PROCESS-REQUESTS NIL)</div><div> 33: (#<FUNCTION {276E6D58}>)</div>
<div> 34: (EVAL (SWANK:LISTENER-EVAL "(test)</div><div>     "))</div><div> 35: (#<FUNCTION {42CCC0A1}>)</div><div> 36: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {42CCC0A1}>)</div><div> 37: (SWANK:EVAL-FOR-EMACS (SWANK:LISTENER-EVAL "(test)</div>
<div>     ") "COMMON-LISP-USER" 9)</div><div> 38: (APPLY #<EVAL-FOR-EMACS {4FAC1D53}> ((SWANK:LISTENER-EVAL "(test)</div><div>     ") "COMMON-LISP-USER" 9))</div><div> 39: (SWANK::PROCESS-REQUESTS NIL)</div>
<div> 40: (#<FUNCTION {107AAC4A}>)</div><div> 41: (#<FUNCTION {65C536B9}>)</div><div> 42: (FUNCALL #<FUNCTION {65C536B9}>)</div><div> 43: ((FLET SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK) #<SWANK-DEBUGGER-HOOK {773F0D3A}> #<FUNCTION {65C536B9}>)</div>
<div> 44: (APPLY #<(FLET CALL-WITH-DEBUGGER-HOOK) {768BDFE1}> #<SWANK-DEBUGGER-HOOK {773F0D3A}> #<FUNCTION {65C536B9}> NIL)</div><div> 45: (SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK #<SWANK-DEBUGGER-HOOK {773F0D3A}> #<FUNCTION {65C536B9}>)</div>
<div> 46: (#<FUNCTION {59176994}>)</div><div> 47: (SWANK::CALL-WITH-BINDINGS ((*STANDARD-OUTPUT* . #S(SLIME-OUTPUT-STREAM)) (*STANDARD-INPUT* . #S(SLIME-INPUT-STREAM)) (*TRACE-OUTPUT* . #S(SLIME-OUTPUT-STREAM)) (*ERROR-OUTPUT* . #S(SLIME-OUTPUT-STREA..</div>
<div> 48: (#<FUNCTION {3A65F5B1}>)</div><div> 49: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {3A65F5B1}>)</div><div> 50: (#<FUNCTION {7BE5556A}>)</div><div> 51: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {7BE5556A}>)</div>
<div> 52: (SWANK::HANDLE-REQUESTS #S(SWANK::MULTITHREADED-CONNECTION :SOCKET #<java.net.ServerSocket ServerSocket[addr=<a href="http://0.0.0.0/0.0.0...">0.0.0.0/0.0.0...</a>.. {6BC6FEA9}> :SOCKET-IO #<TWO-WAY-STREAM {55794086}> :DEDICATED-OUTPUT NI..</div>
<div> 53: (SWANK::REPL-LOOP #S(SWANK::MULTITHREADED-CONNECTION :SOCKET #<java.net.ServerSocket ServerSocket[addr=<a href="http://0.0.0.0/0.0.0...">0.0.0.0/0.0.0...</a>.. {6BC6FEA9}> :SOCKET-IO #<TWO-WAY-STREAM {55794086}> :DEDICATED-OUTPUT NIL :USE..</div>
<div> 54: (#<FUNCTION {B7B4941}>)</div><div> 55: (SWANK::CALL-WITH-BINDINGS NIL #<FUNCTION {B7B4941}>)</div><div> 56: (#<FUNCTION {4B06504A}>)</div><div> 57: (FUNCALL #<FUNCTION {4B06504A}>)</div><div>
 58: (#<FUNCTION (LAMBDA ()) {B8150C1}>)</div><div> 59: (THREADS::THREAD-FUNCTION-WRAPPER #<FUNCTION (LAMBDA ()) {B8150C1}>)</div></div><div><br></div><div><br></div><div><br></div><div>I've tried to be very clear but I'm sure I've missed something. I don't know what's causing this error, and I can't tell if I'm going about this in some stupid manner or if this is a symptom of a more complex issue.</div>
<div><br></div><div>If you need any help reproducing this issue please email me, I'm desperate for any input.</div><div><br></div><div>Thank you very much for your time!</div><div><br></div></div></div></div>