cider icon indicating copy to clipboard operation
cider copied to clipboard

#light reader encounters an error

Open fmnoise opened this issue 6 years ago • 8 comments

I'm getting an error when trying to eval defn with #light tag

Caused by java.lang.RuntimeException
   Unable to resolve symbol: STATE__ in this context

Trace

Util.java:  221  clojure.lang.Util/runtimeException
             Compiler.java: 7414  clojure.lang.Compiler/resolveIn
             Compiler.java: 7358  clojure.lang.Compiler/resolve
             Compiler.java: 7319  clojure.lang.Compiler/analyzeSymbol
             Compiler.java: 6768  clojure.lang.Compiler/analyze
             Compiler.java: 6745  clojure.lang.Compiler/analyze
             Compiler.java: 3881  clojure.lang.Compiler$InvokeExpr/parse
             Compiler.java: 7109  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6789  clojure.lang.Compiler/analyze
             Compiler.java: 6745  clojure.lang.Compiler/analyze
             Compiler.java: 3888  clojure.lang.Compiler$InvokeExpr/parse
             Compiler.java: 7109  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6789  clojure.lang.Compiler/analyze
             Compiler.java: 6745  clojure.lang.Compiler/analyze
             Compiler.java: 3888  clojure.lang.Compiler$InvokeExpr/parse
             Compiler.java: 7109  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6789  clojure.lang.Compiler/analyze
             Compiler.java: 6745  clojure.lang.Compiler/analyze
             Compiler.java: 6118  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 7107  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6789  clojure.lang.Compiler/analyze
             Compiler.java: 6745  clojure.lang.Compiler/analyze
             Compiler.java: 6120  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 5467  clojure.lang.Compiler$FnMethod/parse
             Compiler.java: 4029  clojure.lang.Compiler$FnExpr/parse
             Compiler.java: 7105  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6789  clojure.lang.Compiler/analyze
             Compiler.java:   38  clojure.lang.Compiler/access$300
             Compiler.java:  596  clojure.lang.Compiler$DefExpr$Parser/parse
             Compiler.java: 7107  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6789  clojure.lang.Compiler/analyze
             Compiler.java: 6745  clojure.lang.Compiler/analyze
             Compiler.java: 7181  clojure.lang.Compiler/eval
             Compiler.java: 7132  clojure.lang.Compiler/eval
                  core.clj: 3214  clojure.core/eval
                  core.clj: 3210  clojure.core/eval
                 debug.clj:  584  cider.nrepl.middleware.debug/instrument-and-eval
                 debug.clj:  579  cider.nrepl.middleware.debug/instrument-and-eval
                  Var.java:  384  clojure.lang.Var/invoke
                  main.clj:  437  clojure.main/repl/read-eval-print/fn
                  main.clj:  437  clojure.main/repl/read-eval-print
                  main.clj:  458  clojure.main/repl/fn
                  main.clj:  458  clojure.main/repl
                  main.clj:  368  clojure.main/repl
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  665  clojure.core/apply
                  core.clj:  660  clojure.core/apply
                regrow.clj:   18  refactor-nrepl.ns.slam.hound.regrow/wrap-clojure-repl/fn
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   79  nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:   55  nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  142  nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
                  AFn.java:   22  clojure.lang.AFn/run
               session.clj:  171  nrepl.middleware.session/session-exec/main-loop/fn
               session.clj:  170  nrepl.middleware.session/session-exec/main-loop
                  AFn.java:   22  clojure.lang.AFn/run
               Thread.java:  745  java.lang.Thread/run

Environment & Version information

CIDER version information

;; CIDER 0.22.0snapshot (package: 20190326.1752), nREPL 0.6.0
;; Clojure 1.10.1-beta2, Java 1.8.0_121

Lein/Boot version

Lein 2.9.1

Emacs version

GNU Emacs 26.1 (build 1, x86_64-apple-darwin16.7.0) of 2018-05-28

Operating system

macOs Sierra 10.12.6

fmnoise avatar May 09 '19 08:05 fmnoise

@Malabarba @vspinu Any thoughts on this?

@fmnoise Does this happen in the absence of refactor-nrepl, btw? I'm trying to rule out some weird interaction between it and cider-nrepl.

bbatsov avatar May 11 '19 07:05 bbatsov

yep, same error with absence of refactor-nrepl

fmnoise avatar May 11 '19 08:05 fmnoise

I am attempting to replicate this but getting instead

1. Caused by java.lang.IllegalStateException
   Attempting to call unbound fn:
   #'cider.nrepl.middleware.enlighten/light-reader

                  Var.java:   45  clojure.lang.Var$Unbound/throwArity
                  AFn.java:   32  clojure.lang.AFn/invoke
                  Var.java:  384  clojure.lang.Var/invoke
           LispReader.java: 1448  clojure.lang.LispReader$CtorReader/readTagged
           LispReader.java: 1427  clojure.lang.LispReader$CtorReader/invoke
           LispReader.java:  846  clojure.lang.LispReader$DispatchReader/invoke
           LispReader.java:  285  clojure.lang.LispReader/read
           LispReader.java:  216  clojure.lang.LispReader/read
           LispReader.java:  205  clojure.lang.LispReader/read

vspinu avatar May 12 '19 12:05 vspinu

@vspinu I also seen it once

fmnoise avatar May 12 '19 13:05 fmnoise

hm, haven't notice that before but STATE__ error starts appearing when you turned on enlighten mode once, before that it's

Attempting to call unbound fn:
   #'cider.nrepl.middleware.enlighten/light-reader

fmnoise avatar May 12 '19 13:05 fmnoise

so steps

  1. use #light
  2. eval defn with #light, Attempting to call unbound fn: #'cider.nrepl.middleware.enlighten/light-reader should appear
  3. turn on enlighten mode
  4. eval defn with #light, Unable to resolve symbol: STATE__ in this context should appear Turning off enlighten mode doesn't change behavior, so STATE__ error appears each time when you eval defn with #light

fmnoise avatar May 12 '19 13:05 fmnoise

I see it. Thanks. Will have a look.

vspinu avatar May 14 '19 13:05 vspinu

So -- I'm still seeing the exact behaviour outlined in https://github.com/clojure-emacs/cider/issues/2632#issuecomment-491596822 in my pretty up-to-date environment:

GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, X toolkit, Xaw scroll bars) of 2020-11-18 CIDER 1.0.0snapshot (package: 20201113.1222)

Anywhere that I could go to help out with this?

tekacs avatar Dec 02 '20 11:12 tekacs