jasongilman / proto-repl

A Clojure Development Environment package for the Atom editor
https://atom.io/packages/proto-repl
MIT License
565 stars 50 forks source link

REPL crashes with clojure errors when starting #274

Open okc0mputer opened 6 years ago

okc0mputer commented 6 years ago

I can't start a repl, due to proto-repl seeming to hang on to a require statement from an un-namespaced lein repl from a few days ago. ((require [clojure.string :as str])) I can't try to clear and refresh namespaces since the repl won't reopen, and all new repl's, even if they're opened without a project or within another one are latching on to this error. Lein and CIDER/emacs repls have no issues. Even after reinstalling proto-repl and rebooting the OS the problem remains.

OSX 10.13 Beta (17A352a) Atom 1.19.4 Ink 0.7.4 proto-repl 1.4.21 (no other packages installed)

Exception in thread "main" java.lang.ExceptionInInitializerError at clojure.main.<clinit>(main.java:20) Caused by: clojure.lang.ExceptionInfo: Call to clojure.core/ns did not conform to spec: In: [1] val: ((require [clojure.string :as str])) fails spec: :clojure.core.specs.alpha/ns-form at: [:args] predicate: (cat :docstring (? string?) :attr-map (? map?) :clauses :clojure.core.specs.alpha/ns-clauses), Extra input :clojure.spec.alpha/spec #object[clojure.spec.alpha$regex_spec_impl$reify__1200 0x743cb8e0 "clojure.spec.alpha$regex_spec_impl$reify__1200@743cb8e0"] :clojure.spec.alpha/value (proto-repl-charts.util (require [clojure.string :as str])) :clojure.spec.alpha/args (proto-repl-charts.util (require [clojure.string :as str])) {:clojure.spec.alpha/problems [{:path [:args], :reason "Extra input", :pred (clojure.spec.alpha/cat :docstring (clojure.spec.alpha/? clojure.core/string?) :attr-map (clojure.spec.alpha/? clojure.core/map?) :clauses :clojure.core.specs.alpha/ns-clauses), :val ((require [clojure.string :as str])), :via [:clojure.core.specs.alpha/ns-form], :in [1]}], :clojure.spec.alpha/spec #object[clojure.spec.alpha$regex_spec_impl$reify__1200 0x743cb8e0 "clojure.spec.alpha$regex_spec_impl$reify__1200@743cb8e0"], :clojure.spec.alpha/value (proto-repl-charts.util (require [clojure.string :as str])), :clojure.spec.alpha/args (proto-repl-charts.util (require [clojure.string :as str]))}, compiling:(proto_repl_charts/util.cljc:1:1) at clojure.lang.Compiler.macroexpand1(Compiler.java:6849) at clojure.lang.Compiler.macroexpand(Compiler.java:6915) at clojure.lang.Compiler.eval(Compiler.java:6989) at clojure.lang.Compiler.load(Compiler.java:7457) at clojure.lang.RT.loadResourceScript(RT.java:375) at clojure.lang.RT.loadResourceScript(RT.java:366) at clojure.lang.RT.load(RT.java:456) at clojure.lang.RT.load(RT.java:422) at clojure.core$load$fn__6380.invoke(core.clj:6008) at clojure.core$load.invokeStatic(core.clj:6007) at clojure.core$load.doInvoke(core.clj:5991) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invokeStatic(core.clj:5812) at clojure.core$load_one.invoke(core.clj:5807) at clojure.core$load_lib$fn__6325.invoke(core.clj:5852) at clojure.core$load_lib.invokeStatic(core.clj:5851) at clojure.core$load_lib.doInvoke(core.clj:5832) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invokeStatic(core.clj:659) at clojure.core$load_libs.invokeStatic(core.clj:5889) at clojure.core$load_libs.doInvoke(core.clj:5873) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invokeStatic(core.clj:659) at clojure.core$require.invokeStatic(core.clj:5911) at clojure.core$require.doInvoke(core.clj:5911) at clojure.lang.RestFn.invoke(RestFn.java:421) at proto_repl_charts.graph$eval749$loading__6266__auto____750.invoke(graph.cljc:1) at proto_repl_charts.graph$eval749.invokeStatic(graph.cljc:1) at proto_repl_charts.graph$eval749.invoke(graph.cljc:1) at clojure.lang.Compiler.eval(Compiler.java:7005) at clojure.lang.Compiler.eval(Compiler.java:6994) at clojure.lang.Compiler.load(Compiler.java:7457) at clojure.lang.RT.loadResourceScript(RT.java:375) at clojure.lang.RT.loadResourceScript(RT.java:366) at clojure.lang.RT.load(RT.java:456) at clojure.lang.RT.load(RT.java:422) at clojure.core$load$fn__6380.invoke(core.clj:6008) at clojure.core$load.invokeStatic(core.clj:6007) at clojure.core$load.doInvoke(core.clj:5991) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invokeStatic(core.clj:5812) at clojure.core$load_one.invoke(core.clj:5807) at clojure.core$load_lib$fn__6325.invoke(core.clj:5852) at clojure.core$load_lib.invokeStatic(core.clj:5851) at clojure.core$load_lib.doInvoke(core.clj:5832) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invokeStatic(core.clj:659) at clojure.core$load_libs.invokeStatic(core.clj:5889) at clojure.core$load_libs.doInvoke(core.clj:5873) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invokeStatic(core.clj:659) at clojure.core$require.invokeStatic(core.clj:5911) at clojure.core$require.doInvoke(core.clj:5911) at clojure.lang.RestFn.invoke(RestFn.java:436) at prc$eval741$loading__6266__auto____742.invoke(prc.cljc:1) at prc$eval741.invokeStatic(prc.cljc:1) at prc$eval741.invoke(prc.cljc:1) at clojure.lang.Compiler.eval(Compiler.java:7005) at clojure.lang.Compiler.eval(Compiler.java:6994) at clojure.lang.Compiler.load(Compiler.java:7457) at clojure.lang.RT.loadResourceScript(RT.java:375) at clojure.lang.RT.loadResourceScript(RT.java:366) at clojure.lang.RT.load(RT.java:456) at clojure.lang.RT.load(RT.java:422) at clojure.core$load$fn__6380.invoke(core.clj:6008) at clojure.core$load.invokeStatic(core.clj:6007) at clojure.core$load.doInvoke(core.clj:5991) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invokeStatic(core.clj:5812) at clojure.core$load_one.invoke(core.clj:5807) at clojure.core$load_lib$fn__6325.invoke(core.clj:5852) at clojure.core$load_lib.invokeStatic(core.clj:5851) at clojure.core$load_lib.doInvoke(core.clj:5832) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invokeStatic(core.clj:659) at clojure.core$load_libs.invokeStatic(core.clj:5889) at clojure.core$load_libs.doInvoke(core.clj:5873) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invokeStatic(core.clj:659) at clojure.core$require.invokeStatic(core.clj:5911) at clojure.core$require.doInvoke(core.clj:5911) at clojure.lang.RestFn.invoke(RestFn.java:482) at user$eval147$loading__6266__auto____148.invoke(user.clj:1) at user$eval147.invokeStatic(user.clj:1) at user$eval147.invoke(user.clj:1) at clojure.lang.Compiler.eval(Compiler.java:7005) at clojure.lang.Compiler.eval(Compiler.java:6994) at clojure.lang.Compiler.load(Compiler.java:7457) at clojure.lang.RT.loadResourceScript(RT.java:375) at clojure.lang.RT.loadResourceScript(RT.java:362) at clojure.lang.RT.maybeLoadResourceScript(RT.java:358) at clojure.lang.RT.doInit(RT.java:480) at clojure.lang.RT.<clinit>(RT.java:334) ... 1 more Subprocess failed REPL Closed

mariuene commented 6 years ago

Almost the same issue here.

$ boot -V
#http://boot-clj.com
#Tue Sep 05 11:47:20 CEST 2017
BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_CLOJURE_VERSION=1.9.0-alpha15
BOOT_VERSION=2.7.1
$ cat ~/.boot/profile.boot 
(merge-env! :dependencies '[[proto-repl "0.3.1"]]) 

when we start the app with proto-repl added locally we get this message :

$ boot back-dev
Classpath conflict: org.clojure/clojure version 1.9.0-alpha15 already loaded, NOT loading version 1.8.0
Classpath conflict: org.clojure/tools.analyzer version 0.6.7 already loaded, ALSO loading version 0.6.9
Classpath conflict: org.clojure/tools.analyzer.jvm version 0.6.9 already loaded, ALSO loading version 0.7.0
Classpath conflict: org.clojure/tools.reader version 1.0.0-alpha1 already loaded, ALSO loading version 1.0.0-beta3
Classpath conflict: org.clojure/core.memoize version 0.5.8 already loaded, ALSO loading version 0.5.9
Classpath conflict: org.clojure/data.priority-map version 0.0.4 already loaded, ALSO loading version 0.0.7
Classpath conflict: org.clojure/core.cache version 0.6.4 already loaded, ALSO loading version 0.6.5
Classpath conflict: org.clojure/core.async version 0.2.374 already loaded, ALSO loading version 0.3.443
Sifting output files...
Sifting output files...
Writing target dir(s)...
nREPL server started on port 9091 on host 127.0.0.1 - nrepl://127.0.0.1:9091
REPL-y 0.3.7, nREPL 0.2.12
Clojure 1.9.0-alpha15
OpenJDK 64-Bit Server VM 1.8.0_131-8u131-b11-2ubuntu1.17.04.3-b11
        Exit: Control+D or (exit) or (quit)
    Commands: (user/help)
        Docs: (doc function-name-here)
              (find-doc "part-of-name-here")
Find by Name: (find-name "part-of-name-here")
      Source: (source function-name-here)
     Javadoc: (javadoc java-object-or-class-here)
    Examples from clojuredocs.org: [clojuredocs or cdoc]
              (user/clojuredocs name-here)
              (user/clojuredocs "ns-here" "name-here")
             clojure.lang.ExceptionInfo: Call to clojure.core/refer-clojure did not conform to spec:
                                         In: [2] val: (quote :as) fails at: [:args :exclude :op :spec] predicate: #{:exclude}
                                         In: [2 1] val: :as fails at: [:args :exclude :op :quoted-spec :spec] predicate: #{:exclude}
                                         In: [2] val: (quote :as) fails at: [:args :only :op :spec] predicate: #{:only}
                                         In: [2 1] val: :as fails at: [:args :only :op :quoted-spec :spec] predicate: #{:only}
                                         In: [2] val: (quote :as) fails at: [:args :rename :op :spec] predicate: #{:rename}
                                         In: [2 1] val: :as fails at: [:args :rename :op :quoted-spec :spec] predicate: #{:rename}
                                         :clojure.spec/args  ((quote :exclude) (quote [reduce into merge map take partition partition-by]) (quote :as) (quote core))

clojure.lang.Compiler$CompilerException: clojure.lang.ExceptionInfo: Call to clojure.core/refer-clojure did not conform to spec:
                                         In: [2] val: (quote :as) fails at: [:args :exclude :op :spec] predicate: #{:exclude}
                                         In: [2 1] val: :as fails at: [:args :exclude :op :quoted-spec :spec] predicate: #{:exclude}
                                         In: [2] val: (quote :as) fails at: [:args :only :op :spec] predicate: #{:only}
                                         In: [2 1] val: :as fails at: [:args :only :op :quoted-spec :spec] predicate: #{:only}
                                         In: [2] val: (quote :as) fails at: [:args :rename :op :spec] predicate: #{:rename}
                                         In: [2 1] val: :as fails at: [:args :rename :op :quoted-spec :spec] predicate: #{:rename}
                                         :clojure.spec/args  ((quote :exclude) (quote [reduce into merge map take partition partition-by]) (quote :as) (quote core))
                                          #:clojure.spec{:problems ({:path [:args :exclude :op :spec], :pred #{:exclude}, :val (quote :as), :via [], :in [2]} {:path [:args :exclude :op :quoted-spec :spec], :pred #{:exclude}, :val :as, :via [], :in [2 1]} {:path [:args :only :op :spec], :pred #{:only}, :val (quote :as), :via [], :in [2]} {:path [:args :only :op :quoted-spec :spec], :pred #{:only}, :val :as, :via [], :in [2 1]} {:path [:args :rename :op :spec], :pred #{:rename}, :val (quote :as), :via [], :in [2]} {:path [:args :rename :op :quoted-spec :spec], :pred #{:rename}, :val :as, :via [], :in [2 1]}), :args ((quote :exclude) (quote [reduce into merge map take partition partition-by]) (quote :as) (quote core))}, compiling:(clojure/core/async.clj:9:1)
#object[clojure.lang.Namespace 0x10b8d028 "user"]
Error loading namespace; falling back to user
nil
user=>

Looks like recent version of Clojure/clojure.spec are more strict about how to use ns and refer-clojure. I didn't look at the proto-repl code to see if I could find the problem.

/cc @DjebbZ

francisluong commented 6 years ago

Update:

I think I fixed it. Suggestion: Try blowing away your "proto-repl" section of Atom config.cson.

How I found it:

I use boot and I was seeing this message in Toggle Repl: Starting REPL with lein in /Users/fluong/github/nvt/mom.

With Atom/proto-repl 1.4.22 the selector for boot/lein should look like this: screen shot 2018-01-22 at 3 40 40 pm


👍 me too... wonder if it's a problem with clojure 1.9

ATOM 1.23.3 x64 proto-repl 1.4.22 REPL-y 0.3.7, nREPL 0.2.13 Clojure 1.9.0 Java HotSpot(TM) 64-Bit Server VM 1.8.0_101-b13

WARNING: boolean? already refers to: #'clojure.core/boolean? in namespace: hara.common.checks, being replaced by: #'hara.common.checks/boolean?
WARNING: double? already refers to: #'clojure.core/double? in namespace: hara.common.checks, being replaced by: #'hara.common.checks/double?
WARNING: uuid? already refers to: #'clojure.core/uuid? in namespace: hara.common.checks, being replaced by: #'hara.common.checks/uuid?
WARNING: uri? already refers to: #'clojure.core/uri? in namespace: hara.common.checks, being replaced by: #'hara.common.checks/uri?
WARNING: bytes? already refers to: #'clojure.core/bytes? in namespace: hara.common.checks, being replaced by: #'hara.common.checks/bytes?
WARNING: bytes? already refers to: #'clojure.core/bytes? in namespace: hara.common.primitives, being replaced by: #'hara.common.checks/bytes?
WARNING: boolean? already refers to: #'clojure.core/boolean? in namespace: hara.common, being replaced by: #'hara.common/boolean?
WARNING: uri? already refers to: #'clojure.core/uri? in namespace: hara.common, being replaced by: #'hara.common/uri?
WARNING: double? already refers to: #'clojure.core/double? in namespace: hara.common, being replaced by: #'hara.common/double?
WARNING: bytes? already refers to: #'clojure.core/bytes? in namespace: hara.common, being replaced by: #'hara.common/bytes?
WARNING: uuid? already refers to: #'clojure.core/uuid? in namespace: hara.common, being replaced by: #'hara.common/uuid?
Exception in thread "main" clojure.lang.ExceptionInfo: Call to clojure.core/ns did not conform to spec:
In: [1] val: ((require [hara.reflect.common :refer :all] [hara.reflect.pretty.primitives :refer :all] [hara.common.string :as string])) fails spec: :clojure.core.specs.alpha/ns-form at: [:args] predicate: (cat :docstring (? string?) :attr-map (? map?) :clauses :clojure.core.specs.alpha/ns-clauses),  Extra input
 #:clojure.spec.alpha{:problems [{:path [:args], :reason "Extra input", :pred (clojure.spec.alpha/cat :docstring (clojure.spec.alpha/? clojure.core/string?) :attr-map (clojure.spec.alpha/? clojure.core/map?) :clauses :clojure.core.specs.alpha/ns-clauses), :val ((require [hara.reflect.common :refer :all] [hara.reflect.pretty.primitives :refer :all] [hara.common.string :as string])), :via [:clojure.core.specs.alpha/ns-form], :in [1]}], :spec #object[clojure.spec.alpha$regex_spec_impl$reify__2436 0x705ebb4d "clojure.spec.alpha$regex_spec_impl$reify__2436@705ebb4d"], :value (hara.reflect.pretty.classes (require [hara.reflect.common :refer :all] [hara.reflect.pretty.primitives :refer :all] [hara.common.string :as string])), :args (hara.reflect.pretty.classes (require [hara.reflect.common :refer :all] [hara.reflect.pretty.primitives :refer :all] [hara.common.string :as string]))}, compiling:(hara/reflect/pretty/classes.clj:1:1)
    at clojure.lang.Compiler.checkSpecs(Compiler.java:6891)
    at clojure.lang.Compiler.macroexpand1(Compiler.java:6907)
    at clojure.lang.Compiler.macroexpand(Compiler.java:6972)
    at clojure.lang.Compiler.eval(Compiler.java:7046)
    at clojure.lang.Compiler.load(Compiler.java:7514)
    at clojure.lang.RT.loadResourceScript(RT.java:379)
    at clojure.lang.RT.loadResourceScript(RT.java:370)
    at clojure.lang.RT.load(RT.java:460)
    at clojure.lang.RT.load(RT.java:426)
    at clojure.core$load$fn__6548.invoke(core.clj:6046)
    at clojure.core$load.invokeStatic(core.clj:6045)
    at clojure.core$load.doInvoke(core.clj:6029)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invokeStatic(core.clj:5848)
    at clojure.core$load_one.invoke(core.clj:5843)
    at clojure.core$load_lib$fn__6493.invoke(core.clj:5888)
    at clojure.core$load_lib.invokeStatic(core.clj:5887)
    at clojure.core$load_lib.doInvoke(core.clj:5868)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invokeStatic(core.clj:659)
    at clojure.core$load_libs.invokeStatic(core.clj:5925)
    at clojure.core$load_libs.doInvoke(core.clj:5909)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invokeStatic(core.clj:659)
    at clojure.core$require.invokeStatic(core.clj:5947)
    at clojure.core$require.doInvoke(core.clj:5947)
    at clojure.lang.RestFn.invoke(RestFn.java:436)
    at hara.reflect.element.multi$eval7110$loading__6434__auto____7111.invoke(multi.clj:1)
    at hara.reflect.element.multi$eval7110.invokeStatic(multi.clj:1)
    at hara.reflect.element.multi$eval7110.invoke(multi.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:7062)
    at clojure.lang.Compiler.eval(Compiler.java:7051)
    at clojure.lang.Compiler.load(Compiler.java:7514)
    at clojure.lang.RT.loadResourceScript(RT.java:379)
    at clojure.lang.RT.loadResourceScript(RT.java:370)
    at clojure.lang.RT.load(RT.java:460)
    at clojure.lang.RT.load(RT.java:426)
    at clojure.core$load$fn__6548.invoke(core.clj:6046)
    at clojure.core$load.invokeStatic(core.clj:6045)
    at clojure.core$load.doInvoke(core.clj:6029)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invokeStatic(core.clj:5848)
    at clojure.core$load_one.invoke(core.clj:5843)
    at clojure.core$load_lib$fn__6493.invoke(core.clj:5888)
    at clojure.core$load_lib.invokeStatic(core.clj:5887)
    at clojure.core$load_lib.doInvoke(core.clj:5868)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invokeStatic(core.clj:659)
    at clojure.core$load_libs.invokeStatic(core.clj:5929)
    at clojure.core$load_libs.doInvoke(core.clj:5909)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invokeStatic(core.clj:659)
    at clojure.core$require.invokeStatic(core.clj:5947)
    at clojure.core$require.doInvoke(core.clj:5947)
    at clojure.lang.RestFn.invoke(RestFn.java:457)
    at hara.reflect.core.apply$eval6852$loading__6434__auto____6853.invoke(apply.clj:1)
    at hara.reflect.core.apply$eval6852.invokeStatic(apply.clj:1)
    at hara.reflect.core.apply$eval6852.invoke(apply.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:7062)
    at clojure.lang.Compiler.eval(Compiler.java:7051)
    at clojure.lang.Compiler.load(Compiler.java:7514)
    at clojure.lang.RT.loadResourceScript(RT.java:379)
    at clojure.lang.RT.loadResourceScript(RT.java:370)
    at clojure.lang.RT.load(RT.java:460)
    at clojure.lang.RT.load(RT.java:426)
    at clojure.core$load$fn__6548.invoke(core.clj:6046)
    at clojure.core$load.invokeStatic(core.clj:6045)
    at clojure.core$load.doInvoke(core.clj:6029)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invokeStatic(core.clj:5848)
    at clojure.core$load_one.invoke(core.clj:5843)
    at clojure.core$load_lib$fn__6493.invoke(core.clj:5888)
    at clojure.core$load_lib.invokeStatic(core.clj:5887)
    at clojure.core$load_lib.doInvoke(core.clj:5868)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invokeStatic(core.clj:659)
    at clojure.core$load_libs.invokeStatic(core.clj:5929)
    at clojure.core$load_libs.doInvoke(core.clj:5909)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invokeStatic(core.clj:659)
    at clojure.core$require.invokeStatic(core.clj:5947)
    at clojure.core$require.doInvoke(core.clj:5947)
    at clojure.lang.RestFn.invoke(RestFn.java:436)
    at hara.reflect$eval6846$loading__6434__auto____6847.invoke(reflect.clj:1)
    at hara.reflect$eval6846.invokeStatic(reflect.clj:1)
    at hara.reflect$eval6846.invoke(reflect.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:7062)
    at clojure.lang.Compiler.eval(Compiler.java:7051)
    at clojure.lang.Compiler.load(Compiler.java:7514)
    at clojure.lang.RT.loadResourceScript(RT.java:379)
    at clojure.lang.RT.loadResourceScript(RT.java:370)
    at clojure.lang.RT.load(RT.java:460)
    at clojure.lang.RT.load(RT.java:426)
    at clojure.core$load$fn__6548.invoke(core.clj:6046)
    at clojure.core$load.invokeStatic(core.clj:6045)
    at clojure.core$load.doInvoke(core.clj:6029)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invokeStatic(core.clj:5848)
    at clojure.core$load_one.invoke(core.clj:5843)
    at clojure.core$load_lib$fn__6493.invoke(core.clj:5888)
    at clojure.core$load_lib.invokeStatic(core.clj:5887)
    at clojure.core$load_lib.doInvoke(core.clj:5868)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invokeStatic(core.clj:659)
    at clojure.core$load_libs.invokeStatic(core.clj:5925)
    at clojure.core$load_libs.doInvoke(core.clj:5909)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invokeStatic(core.clj:659)
    at clojure.core$require.invokeStatic(core.clj:5947)
    at clojure.core$require.doInvoke(core.clj:5947)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at user$eval6842.invokeStatic(form-init7590476605161511292.clj:15)
    at user$eval6842.invoke(form-init7590476605161511292.clj:15)
    at clojure.lang.Compiler.eval(Compiler.java:7062)
    at clojure.lang.Compiler.eval(Compiler.java:7052)
    at clojure.lang.Compiler.eval(Compiler.java:7025)
    at clojure.core$eval.invokeStatic(core.clj:3206)
    at clojure.core$eval.invoke(core.clj:3202)
    at ultra.hardcore$require_java_functions.invokeStatic(hardcore.clj:14)
    at ultra.hardcore$require_java_functions.doInvoke(hardcore.clj:9)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.lang.Var.applyTo(Var.java:702)
    at clojure.core$apply.invokeStatic(core.clj:659)
    at clojure.core$apply.invoke(core.clj:652)
    at robert.hooke$compose_hooks$fn__3603.doInvoke(hooke.clj:40)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invokeStatic(core.clj:657)
    at clojure.core$apply.invoke(core.clj:652)
    at robert.hooke$run_hooks.invokeStatic(hooke.clj:46)
    at robert.hooke$run_hooks.invoke(hooke.clj:45)
    at robert.hooke$prepare_for_hooks$fn__3608$fn__3609.doInvoke(hooke.clj:54)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
    at clojure.lang.RestFn.invoke(RestFn.java:619)
    at user$eval6749.invokeStatic(form-init7590476605161511292.clj:1)
    at user$eval6749.invoke(form-init7590476605161511292.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:7062)
    at clojure.lang.Compiler.eval(Compiler.java:7052)
    at clojure.lang.Compiler.load(Compiler.java:7514)
    at clojure.lang.Compiler.loadFile(Compiler.java:7452)
    at clojure.main$load_script.invokeStatic(main.clj:278)
    at clojure.main$init_opt.invokeStatic(main.clj:280)
    at clojure.main$init_opt.invoke(main.clj:280)
    at clojure.main$initialize.invokeStatic(main.clj:311)
    at clojure.main$null_opt.invokeStatic(main.clj:345)
    at clojure.main$null_opt.invoke(main.clj:342)
    at clojure.main$main.invokeStatic(main.clj:424)
    at clojure.main$main.doInvoke(main.clj:387)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.lang.Var.applyTo(Var.java:702)
    at clojure.main.main(main.java:37)
Caused by: clojure.lang.ExceptionInfo: Call to clojure.core/ns did not conform to spec:
In: [1] val: ((require [hara.reflect.common :refer :all] [hara.reflect.pretty.primitives :refer :all] [hara.common.string :as string])) fails spec: :clojure.core.specs.alpha/ns-form at: [:args] predicate: (cat :docstring (? string?) :attr-map (? map?) :clauses :clojure.core.specs.alpha/ns-clauses),  Extra input
 {:clojure.spec.alpha/problems [{:path [:args], :reason "Extra input", :pred (clojure.spec.alpha/cat :docstring (clojure.spec.alpha/? clojure.core/string?) :attr-map (clojure.spec.alpha/? clojure.core/map?) :clauses :clojure.core.specs.alpha/ns-clauses), :val ((require [hara.reflect.common :refer :all] [hara.reflect.pretty.primitives :refer :all] [hara.common.string :as string])), :via [:clojure.core.specs.alpha/ns-form], :in [1]}], :clojure.spec.alpha/spec #object[clojure.spec.alpha$regex_spec_impl$reify__2436 0x705ebb4d "clojure.spec.alpha$regex_spec_impl$reify__2436@705ebb4d"], :clojure.spec.alpha/value (hara.reflect.pretty.classes (require [hara.reflect.common :refer :all] [hara.reflect.pretty.primitives :refer :all] [hara.common.string :as string])), :clojure.spec.alpha/args (hara.reflect.pretty.classes (require [hara.reflect.common :refer :all] [hara.reflect.pretty.primitives :refer :all] [hara.common.string :as string]))}
    at clojure.core$ex_info.invokeStatic(core.clj:4739)
    at clojure.core$ex_info.invoke(core.clj:4739)
    at clojure.spec.alpha$macroexpand_check.invokeStatic(alpha.clj:689)
    at clojure.spec.alpha$macroexpand_check.invoke(alpha.clj:681)
    at clojure.lang.AFn.applyToHelper(AFn.java:156)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.lang.Var.applyTo(Var.java:702)
    at clojure.lang.Compiler.checkSpecs(Compiler.java:6889)
    ... 150 more
tobias-hammerschmidt commented 5 years ago

This issue is caused by the invalid ns declation in extension_comm.clj which violates the ns spec.

invalid (require):

(ns proto-repl.extension-comm
  "Provides a mechanism for communication between Proto REPL running in Atom and
   extensions running in the JVM."
  (require [clojure.core.async :as a]
            [clojure.edn :as edn]))

valid (:require):

(ns proto-repl.extension-comm
  "Provides a mechanism for communication between Proto REPL running in Atom and
   extensions running in the JVM."
  (:require [clojure.core.async :as a]
            [clojure.edn :as edn]))

According to https://stuartsierra.com/2016/clojure-how-to-ns.html#keywords-or-symbols using symbols was never correct syntax though older clojure versions supported this syntax.