So I'm getting intermittent compiler errors, which reduce to this case.
Unfortunately just putting these forms in a file and executing or compiling them doesn't trigger the bug - so I don't have a repeatable case for you yet.
Here's minimal code required to trigger it, assuming jss is loaded. I haven't seen this in the past, fwiw, and I've been using this code for a long time.
This has been present in the last couple of trunk builds.
(defun regex-replace-all (regex string replacement) (#"replaceAll" string regex replacement))
(define-compiler-macro regex-replace-all (&whole form regex string replacement) "Compile constant regex to pattern at compile time" (cond ((stringp regex) `(#"replaceAll" (#0"matcher" (load-time-value (#0"compile" 'java.util.regex.Pattern ,regex)) ,string) ,replacement)) (t form)))
(defun foo (value) (regex-replace-all "\s*" value ""))
(compile 'foo)
After the compile I get java backtrace in the repl, and the following after "&&&" in the slime debugger.
java.lang.VerifyError: (class: abcl_0f7a315e_ee1b_47ea_a29c_3f6403dd238b, method: execute signature: (Lorg/armedbear/lisp/LispObject;)Lorg/armedbear/lisp/LispObject;) Illegal local variable number at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357) at java.lang.Class.getConstructor0(Class.java:2671) at java.lang.Class.newInstance0(Class.java:321) at java.lang.Class.newInstance(Class.java:303) at org.armedbear.lisp.Lisp.makeCompiledFunctionFromClass(Lisp.java:1266) at org.armedbear.lisp.Lisp.loadClassBytes(Lisp.java:1327) at org.armedbear.lisp.Lisp.loadClassBytes(Lisp.java:1320) at org.armedbear.lisp.CompiledClosure$1.execute(CompiledClosure.java:236) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.compiler_pass2_596.execute(compiler-pass2.lisp:8737) at org.armedbear.lisp.compiler_pass2_582.execute(compiler-pass2.lisp:8692) at org.armedbear.lisp.LispThread.execute(LispThread.java:546) at org.armedbear.lisp.Java$23.execute(Java.java:1007) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.compiler_pass2_578.execute(compiler-pass2.lisp:8692) at org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:101) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.compiler_pass2_595.execute(compiler-pass2.lisp:8737) at org.armedbear.lisp.Symbol.execute(Symbol.java:810) at org.armedbear.lisp.compiler_pass2_601.execute(compiler-pass2.lisp:8754) at org.armedbear.lisp.LispThread.execute(LispThread.java:546) at org.armedbear.lisp.Java$23.execute(Java.java:1007) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.compiler_pass2_597.execute(compiler-pass2.lisp:8754) at org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:112) at org.armedbear.lisp.Symbol.execute(Symbol.java:786) at org.armedbear.lisp.compiler_pass2_602.execute(compiler-pass2.lisp:8825) at org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:101) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:494) at org.armedbear.lisp.Lisp.eval(Lisp.java:459) at org.armedbear.lisp.Primitives$16.execute(Primitives.java:307) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:494) at org.armedbear.lisp.Lisp.eval(Lisp.java:459) at org.armedbear.lisp.Lisp.progn(Lisp.java:628) at org.armedbear.lisp.Primitives$141.execute(Primitives.java:3579) at org.armedbear.lisp.Lisp.eval(Lisp.java:449) at org.armedbear.lisp.Lisp.progn(Lisp.java:628) at org.armedbear.lisp.Closure.bindParametersAndExecute(Closure.java:446) at org.armedbear.lisp.Closure.execute(Closure.java:479) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.swank_412.execute(swank.lisp:2030) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.swank_429.execute(swank.lisp:2107) at org.armedbear.lisp.LispThread.execute(LispThread.java:546) at org.armedbear.lisp.swank_430.execute(swank.lisp:2120) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.swank_428.execute(swank.lisp:2107) at org.armedbear.lisp.LispThread.execute(LispThread.java:546) at org.armedbear.lisp.swank_149.execute(swank.lisp:433) at org.armedbear.lisp.Symbol.execute(Symbol.java:786) at org.armedbear.lisp.LispThread.execute(LispThread.java:579) at org.armedbear.lisp.swank_427.execute(swank.lisp:2107) at org.armedbear.lisp.LispThread.execute(LispThread.java:546) at org.armedbear.lisp.Primitives$112.execute(Primitives.java:2539) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:494) at org.armedbear.lisp.Lisp.eval(Lisp.java:459) at org.armedbear.lisp.Lisp.progn(Lisp.java:628) at org.armedbear.lisp.Closure.bindParametersAndExecute(Closure.java:446) at org.armedbear.lisp.Closure.execute(Closure.java:479) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbe; Caught STYLE-WARNING: ; The variable LAMBDAS::G13 is defined but never used.
; Caught STYLE-WARNING: ; The variable LAMBDAS::G14 is defined but never used.
; Caught STYLE-WARNING: ; The variable LAMBDAS::G15 is defined but never used.
; Caught STYLE-WARNING: ; The variable LAMBDAS::G16 is defined but never used.
ar.lisp.Lisp.funcall(Lisp.java:163) at org.armedbear.lisp.Primitives$113.execute(Primitives.java:2686) at org.armedbear.lisp.Symbol.execute(Symbol.java:798) at org.armedbear.lisp.LispThread.execute(LispThread.java:596) at org.armedbear.lisp.swank_backend_41.execute(swank-backend.lisp:382) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.swank_370.execute(swank.lisp:1774) at org.armedbear.lisp.Symbol.execute(Symbol.java:786) at org.armedbear.lisp.LispThread.execute(LispThread.java:579) at org.armedbear.lisp.swank_426.execute(swank.lisp:2107) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.swank_425.execute(swank.lisp:2102) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:494) at org.armedbear.lisp.Lisp.eval(Lisp.java:459) at org.armedbear.lisp.Primitives$16.execute(Primitives.java:307) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:494) at org.armedbear.lisp.Lisp.eval(Lisp.java:459) at org.armedbear.lisp.Lisp.progn(Lisp.java:628) at org.armedbear.lisp.Primitives$141.execute(Primitives.java:3579) at org.armedbear.lisp.Lisp.eval(Lisp.java:449) at org.armedbear.lisp.Lisp.progn(Lisp.java:628) at org.armedbear.lisp.Closure.bindParametersAndExecute(Closure.java:446) at org.armedbear.lisp.Closure.execute(Closure.java:479) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.swank_400.execute(swank.lisp:1979) at org.armedbear.lisp.LispThread.execute(LispThread.java:596) at org.armedbear.lisp.Primitives$113.execute(Primitives.java:2655) at org.armedbear.lisp.Symbol.execute(Symbol.java:786) at org.armedbear.lisp.LispThread.execute(LispThread.java:579) at org.armedbear.lisp.swank_222.execute(swank.lisp:905) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.swank_218.execute(swank.lisp:892) at org.armedbear.lisp.LispThread.execute(LispThread.java:546) at org.armedbear.lisp.Primitives$112.execute(Primitives.java:2539) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:494) at org.armedbear.lisp.Lisp.eval(Lisp.java:459) at org.armedbear.lisp.Lisp.progn(Lisp.java:628) at org.armedbear.lisp.SpecialOperators._let(SpecialOperators.java:167) at org.armedbear.lisp.SpecialOperators.access$000(SpecialOperators.java:40) at org.armedbear.lisp.SpecialOperators$3.execute(SpecialOperators.java:96) at org.armedbear.lisp.Lisp.eval(Lisp.java:449) at org.armedbear.lisp.Lisp.progn(Lisp.java:628) at org.armedbear.lisp.Closure.bindParametersAndExecute(Closure.java:446) at org.armedbear.lisp.Closure.execute(Closure.java:493) at org.armedbear.lisp.LispThread.execute(LispThread.java:579) at org.armedbear.lisp.Lisp.funcall(Lisp.java:165) at org.armedbear.lisp.Primitives$113.execute(Primitives.java:2707) at org.armedbear.lisp.Primitive.execute(Primitive.java:143) at org.armedbear.lisp.Symbol.execute(Symbol.java:810) at org.armedbear.lisp.LispThread.execute(LispThread.java:614) at org.armedbear.lisp.swank_backend_74.execute(swank-backend.lisp:663) at org.armedbear.lisp.Symbol.execute(Symbol.java:786) at org.armedbear.lisp.LispThread.execute(LispThread.java:579) at org.armedbear.lisp.swank_148.execute(swank.lisp:423) at org.armedbear.lisp.LispThread.execute(LispThread.java:546) at org.armedbear.lisp.swank_1.execute(swank.lisp:174) at org.armedbear.lisp.Symbol.execute(Symbol.java:786) at org.armedbear.lisp.LispThread.execute(LispThread.java:579) at org.armedbear.lisp.swank_147.execute(swank.lisp:423) at org.armedbear.lisp.LispThread.execute(LispThread.java:546) at org.armedbear.lisp.Java$23.execute(Java.java:1007) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.swank_145.execute(swank.lisp:423) at org.armedbear.lisp.LispThread.execute(LispThread.java:546) at org.armedbear.lisp.Java$23.execute(Java.java:1007) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.swank_143.execute(swank.lisp:423) at org.armedbear.lisp.Symbol.execute(Symbol.java:786) at org.armedbear.lisp.LispThread.execute(LispThread.java:579) at org.armedbear.lisp.swank_217.execute(swank.lisp:892) at org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:101) at org.armedbear.lisp.AutoloadedFunctionProxy.execute(AutoloadedFunctionProxy.java:145) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.swank_272.execute(swank.lisp:1173) at org.armedbear.lisp.AutoloadedFunctionProxy.execute(AutoloadedFunctionProxy.java:145) at org.armedbear.lisp.Symbol.execute(Symbol.java:775) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.swank_254.execute(swank.lisp:1031) at org.armedbear.lisp.LispThread.execute(LispThread.java:546) at org.armedbear.lisp.swank_1.execute(swank.lisp:174) at org.armedbear.lisp.Symbol.execute(Symbol.java:786) at org.armedbear.lisp.LispThread.execute(LispThread.java:579) at org.armedbear.lisp.swank_253.execute(swank.lisp:1031) at org.armedbear.lisp.LispThread.execute(LispThread.java:546) at org.armedbear.lisp.Primitives$112.execute(Primitives.java:2539) at org.armedbear.lisp.LispThread.execute(LispThread.java:562) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:494) at org.armedbear.lisp.Lisp.eval(Lisp.java:459) at org.armedbear.lisp.Lisp.progn(Lisp.java:628) at org.armedbear.lisp.Closure.execute(Closure.java:421) at org.armedbear.lisp.LispThread.execute(LispThread.java:546) at org.armedbear.lisp.Lisp.funcall(Lisp.java:161) at org.armedbear.lisp.LispThread$2.run(LispThread.java:88) at java.lang.Thread.run(Thread.java:613)
; Compilation unit finished ; Caught 4 STYLE-WARNING conditions
; Evaluation aborted. CL-USER>
&&&
Unable to load #<jarray [B@7811a1 {CD8218}> [Condition of type ERROR]
Restarts: 0: [RETRY] Retry SLIME REPL evaluation request. 1: [ABORT] Return to SLIME's top level.
Backtrace: 0: org.armedbear.lisp.CompiledClosure$1.execute(CompiledClosure.java:239) 1: org.armedbear.lisp.Symbol.execute(Symbol.java:775) 2: org.armedbear.lisp.compiler_pass2_596.execute(compiler-pass2.lisp:8737) 3: org.armedbear.lisp.compiler_pass2_582.execute(compiler-pass2.lisp:8692) 4: org.armedbear.lisp.Java$23.execute(Java.java:1007) 5: org.armedbear.lisp.Symbol.execute(Symbol.java:775) 6: org.armedbear.lisp.compiler_pass2_578.execute(compiler-pass2.lisp:8692) 7: org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:101) 8: org.armedbear.lisp.Symbol.execute(Symbol.java:775) 9: org.armedbear.lisp.compiler_pass2_595.execute(compiler-pass2.lisp:8737) 10: org.armedbear.lisp.Symbol.execute(Symbol.java:810) 11: org.armedbear.lisp.compiler_pass2_601.execute(compiler-pass2.lisp:8754) 12: org.armedbear.lisp.Java$23.execute(Java.java:1007) 13: org.armedbear.lisp.Symbol.execute(Symbol.java:775) 14: org.armedbear.lisp.compiler_pass2_597.execute(compiler-pass2.lisp:8754) 15: org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:112) 16: org.armedbear.lisp.Symbol.execute(Symbol.java:786) 17: org.armedbear.lisp.compiler_pass2_602.execute(compiler-pass2.lisp:8825) 18: org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:101) 19: (#<FUNCTION {50EF1A}>) 20: (#<FUNCTION {81CF9E}>) 21: (#<FUNCTION {65C63C}> FOO) 22: (SYSTEM::%EVAL (COMPILE 'FOO)) 23: (EVAL (COMPILE 'FOO)) 24: (SWANK::EVAL-REGION "(compile 'foo) ") 25: (#<FUNCTION {B9C125}>) 26: (SWANK::TRACK-PACKAGE #<FUNCTION {B9C125}>) 27: (#<FUNCTION {37A41C}>) 28: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation request." #<FUNCTION {37A41C}>) 29: (#<FUNCTION {F72DF7}>) 30: (FUNCALL #<FUNCTION {F72DF7}>) 31: (#<FUNCTION (LAMBDA (SWANK-BACKEND::FN)) {EADF38}> #<FUNCTION {F72DF7}>) 32: (APPLY #<FUNCTION (LAMBDA (SWANK-BACKEND::FN)) {EADF38}> #<FUNCTION {F72DF7}> NIL) 33: (SWANK-BACKEND:CALL-WITH-SYNTAX-HOOKS #<FUNCTION {F72DF7}>) 34: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<FUNCTION {F72DF7}>) 35: (SWANK::REPL-EVAL "(compile 'foo) ") 36: (SWANK:LISTENER-EVAL "(compile 'foo) ") 37: (SYSTEM::%EVAL (SWANK:LISTENER-EVAL "(compile 'foo) ")) 38: (EVAL (SWANK:LISTENER-EVAL "(compile 'foo) ")) 39: (SWANK::EVAL-FOR-EMACS (SWANK:LISTENER-EVAL "(compile 'foo) ") "COMMON-LISP-USER" 42) 40: (APPLY #<FUNCTION SWANK::EVAL-FOR-EMACS {E5021C}> ((SWANK:LISTENER-EVAL "(compile 'foo) ") "COMMON-LISP-USER" 42)) 41: (SWANK::PROCESS-REQUESTS NIL) 42: (#<FUNCTION {EDA852}>) 43: (FUNCALL #<FUNCTION {EDA852}>) 44: (#<FUNCTION (LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN)) {C5B70C}> #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK {749CB7}> #<FUNCTION {EDA852}>) 45: (APPLY #<FUNCTION (LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN)) {C5B70C}> #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK {749CB7}> #<FUNCTION {EDA852}> NIL) 46: (SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK {749CB7}> #<FUNCTION {EDA852}>) 47: (#<FUNCTION {DCEB8B}>) 48: (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.. 49: (#<FUNCTION {230AB0}>) 50: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {230AB0}>) 51: (#<FUNCTION {92B531}>) 52: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {92B531}>) 53: (SWANK::CALL-WITH-CONNECTION #S(SWANK::CONNECTION :SOCKET-IO #<TWO-WAY-STREAM {B5B6B9}> :DEDICATED-OUTPUT NIL :USER-INPUT #S(SLIME-INPUT-STREAM) :USER-OUTPUT #S(SLIME-OUTPUT-STREAM) :USER-IO #<TWO-WAY.. 54: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation request." #<FUNCTION {EF39E5}>) 55: (#<FUNCTION {C20590}>) 56: (FUNCALL #<FUNCTION {C20590}>) 57: (#<FUNCTION (LAMBDA (SWANK-BACKEND::FN)) {EADF38}> #<FUNCTION {C20590}>) 58: (APPLY #<FUNCTION (LAMBDA (SWANK-BACKEND::FN)) {EADF38}> #<FUNCTION {C20590}> NIL) 59: (SWANK-BACKEND:CALL-WITH-SYNTAX-HOOKS #<FUNCTION {C20590}>) --more--