Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fipp won't compile with cljsbuild projects #42

Closed
jaor opened this issue Sep 6, 2016 · 14 comments
Closed

fipp won't compile with cljsbuild projects #42

jaor opened this issue Sep 6, 2016 · 14 comments

Comments

@jaor
Copy link

jaor commented Sep 6, 2016

The issue is easy to replicate. Just create a new project.clj

(defproject test-fipp "0.1.0-SNAPSHOT"
  :dependencies [[org.clojure/clojure "1.8.0"]
                 [org.clojure/clojurescript "1.9.227"]
                 [fipp "0.6.6"]]
  :plugins [[lein-cljsbuild "1.1.4"]]
  :cljsbuild {:builds [{:id "js"
                        :source-paths ["src"]
                        :compiler {:output-to "target/test.js"
                                   :output-dir "target/js"
                                   :optimizations :advanced}}]})

and put a dummy cljc file in src/test_fipp/core.cljc:

(ns test-fipp.core
  (:require [fipp.engine :as engine]))

(defn foo
  [x]
  (println x "Hello, World!"))

now try to compile it with:

lein cljsbuild once

and you'll get an exception that starts like this:

clojure.lang.ExceptionInfo: failed compiling
file:target/js/clojure/core/rrb_vector/trees.cljs {:file #object[java.io.File 0x6a65daed
"target/js/clojure/core/rrb_vector/trees.cljs"]}
        at clojure.core$ex_info.invokeStatic(core.clj:4617)
        at clojure.core$ex_info.invoke(core.clj:4617)
        at
        cljs.compiler$compile_file$fn__3553.invoke(compiler.cljc:1386)

i think the problem might be in the rrb library, but seeing most of
the bugs reports in its jira have been unattended for more than a
year, i've opted for avoiding rrb in the deque namespace for the time
being :).

@brandonbloom
Copy link
Owner

Thanks for the report. As far as I know, there are numerous folks using Fipp from ClojureScript. Personally, I don't use cljsbuild, so I'd rather not debug it myself unless you can demonstrate the problem is with Fipp (or its dependencies) rather than cljsbuild. Presumably that exception has a "cause" below the first stack trace. What does it say?

@jaor
Copy link
Author

jaor commented Sep 6, 2016

i actually think the problem is with the rrb-vector library (see full
trace below), and it only happens with very recent versions of
clojurescript (e.g., if one tries clojurescript 1.9.183 with the same
version of cljsbuild, everything is fine). you can see in the trace
that the error is happening in rrb_vector/trees.cljs.

i've removed the dependency on rrb_vector (for cljs compilations) in
https://clojars.org/bigml/fipp. that version compiles fine with all
versions of cljs and cljsbuild, passes all tests and also works as
expected in my projects, so my bet is that the problem is with fipp's
dependency, rrb_vector.

i wouldn't claim that's a demonstration, though. for instance, the
trace includes calls cljsbuild's runtime, so it's still perfectly
possible that the problem root is there. i guess the way to demonstrate
it would be to compile the same js project using fipp without cljsbuild,
but i currently lack the bandwidth to learn how to do that
properly. sorry!

Compiling ClojureScript...
Compiling "target/test.js" from ["src"]...
Compiling "target/test.js" failed.
clojure.lang.ExceptionInfo: failed compiling file:target/js/clojure/core/rrb_vector/trees.cljs {:file #object[java.io.File 0x6a65daed "target/js/clojure/core/rrb_vector/trees.cljs"]}
        at clojure.core$ex_info.invokeStatic(core.clj:4617)
        at clojure.core$ex_info.invoke(core.clj:4617)
        at cljs.compiler$compile_file$fn__3553.invoke(compiler.cljc:1386)
        at cljs.compiler$compile_file.invokeStatic(compiler.cljc:1352)
        at cljs.compiler$compile_file.invoke(compiler.cljc:1332)
        at cljs.closure$compile_file.invokeStatic(closure.clj:474)
        at cljs.closure$compile_file.invoke(closure.clj:465)
        at cljs.closure$eval5300$fn__5301.invoke(closure.clj:541)
        at cljs.closure$eval5236$fn__5237$G__5225__5244.invoke(closure.clj:431)
        at cljs.closure$compile_from_jar.invokeStatic(closure.clj:523)
        at cljs.closure$compile_from_jar.invoke(closure.clj:511)
        at cljs.closure$eval5306$fn__5307.invoke(closure.clj:551)
        at cljs.closure$eval5236$fn__5237$G__5225__5244.invoke(closure.clj:431)
        at cljs.closure$compile_sources$iter__5421__5425$fn__5426.invoke(closure.clj:871)
        at clojure.lang.LazySeq.sval(LazySeq.java:40)
        at clojure.lang.LazySeq.seq(LazySeq.java:49)
        at clojure.lang.Cons.next(Cons.java:39)
        at clojure.lang.RT.next(RT.java:688)
        at clojure.core$next__4341.invokeStatic(core.clj:64)
        at clojure.core$dorun.invokeStatic(core.clj:3033)
        at clojure.core$doall.invokeStatic(core.clj:3039)
        at clojure.core$doall.invoke(core.clj:3039)
        at cljs.closure$compile_sources.invokeStatic(closure.clj:867)
        at cljs.closure$compile_sources.invoke(closure.clj:856)
        at cljs.closure$build.invokeStatic(closure.clj:1988)
        at cljs.closure$build.invoke(closure.clj:1927)
        at cljs.build.api$build.invokeStatic(api.clj:199)
        at cljs.build.api$build.invoke(api.clj:187)
        at cljs.build.api$build.invokeStatic(api.clj:190)
        at cljs.build.api$build.invoke(api.clj:187)
        at cljsbuild.compiler$compile_cljs$fn__5960.invoke(compiler.clj:60)
        at cljsbuild.compiler$compile_cljs.invokeStatic(compiler.clj:59)
        at cljsbuild.compiler$compile_cljs.invoke(compiler.clj:48)
        at cljsbuild.compiler$run_compiler.invokeStatic(compiler.clj:168)
        at cljsbuild.compiler$run_compiler.invoke(compiler.clj:122)
        at user$eval6728$iter__6764__6768$fn__6769$fn__6787.invoke(form-init737526055814581106.clj:1)
        at user$eval6728$iter__6764__6768$fn__6769.invoke(form-init737526055814581106.clj:1)
        at clojure.lang.LazySeq.sval(LazySeq.java:40)
        at clojure.lang.LazySeq.seq(LazySeq.java:49)
        at clojure.lang.RT.seq(RT.java:521)
        at clojure.core$seq__4357.invokeStatic(core.clj:137)
        at clojure.core$dorun.invokeStatic(core.clj:3024)
        at clojure.core$doall.invokeStatic(core.clj:3039)
        at clojure.core$doall.invoke(core.clj:3039)
        at user$eval6728.invokeStatic(form-init737526055814581106.clj:1)
        at user$eval6728.invoke(form-init737526055814581106.clj:1)
        at clojure.lang.Compiler.eval(Compiler.java:6927)
        at clojure.lang.Compiler.eval(Compiler.java:6917)
        at clojure.lang.Compiler.load(Compiler.java:7379)
        at clojure.lang.Compiler.loadFile(Compiler.java:7317)
        at clojure.main$load_script.invokeStatic(main.clj:275)
        at clojure.main$init_opt.invokeStatic(main.clj:277)
        at clojure.main$init_opt.invoke(main.clj:277)
        at clojure.main$initialize.invokeStatic(main.clj:308)
        at clojure.main$null_opt.invokeStatic(main.clj:342)
        at clojure.main$null_opt.invoke(main.clj:339)
        at clojure.main$main.invokeStatic(main.clj:421)
        at clojure.main$main.doInvoke(main.clj:384)
        at clojure.lang.RestFn.invoke(RestFn.java:421)
        at clojure.lang.Var.invoke(Var.java:383)
        at clojure.lang.AFn.applyToHelper(AFn.java:156)
        at clojure.lang.Var.applyTo(Var.java:700)
        at clojure.main.main(main.java:37)
Caused by: clojure.lang.ExceptionInfo: Wrong number of args (1) passed to: nodes/ranges at line 25 target/js/clojure/core/rrb_vector/trees.cljs {:file "target/js/clojure/core/rrb_vector/trees.cljs", :line 25, :column 24, :tag :cljs/analysis-error}
        at clojure.core$ex_info.invokeStatic(core.clj:4617)
        at clojure.core$ex_info.invoke(core.clj:4617)
        at cljs.analyzer$error.invokeStatic(analyzer.cljc:620)
        at cljs.analyzer$error.invoke(analyzer.cljc:616)
        at cljs.analyzer$macroexpand_1.invokeStatic(analyzer.cljc:2703)
        at cljs.analyzer$macroexpand_1.invoke(analyzer.cljc:2699)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2733)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2911)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2910)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze_let_binding_init.invokeStatic(analyzer.cljc:1510)
        at cljs.analyzer$analyze_let_binding_init.invoke(analyzer.cljc:1508)
        at cljs.analyzer$analyze_let_bindings_STAR_.invokeStatic(analyzer.cljc:1532)
        at cljs.analyzer$analyze_let_bindings_STAR_.invoke(analyzer.cljc:1521)
        at cljs.analyzer$analyze_let_bindings.invokeStatic(analyzer.cljc:1563)
        at cljs.analyzer$analyze_let_bindings.invoke(analyzer.cljc:1562)
        at cljs.analyzer$analyze_let.invokeStatic(analyzer.cljc:1578)
        at cljs.analyzer$analyze_let.invoke(analyzer.cljc:1573)
        at cljs.analyzer$eval1725$fn__1726.invoke(analyzer.cljc:1599)
        at clojure.lang.MultiFn.invoke(MultiFn.java:251)
        at cljs.analyzer$analyze_seq_STAR_.invokeStatic(analyzer.cljc:2709)
        at cljs.analyzer$analyze_seq_STAR_.invoke(analyzer.cljc:2707)
        at cljs.analyzer$analyze_seq_STAR__wrap.invokeStatic(analyzer.cljc:2714)
        at cljs.analyzer$analyze_seq_STAR__wrap.invoke(analyzer.cljc:2712)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2735)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2736)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2911)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2910)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$eval1546$fn__1548$fn__1554.invoke(analyzer.cljc:1042)
        at cljs.analyzer$eval1546$fn__1548.invoke(analyzer.cljc:1042)
        at clojure.lang.MultiFn.invoke(MultiFn.java:251)
        at cljs.analyzer$analyze_seq_STAR_.invokeStatic(analyzer.cljc:2709)
        at cljs.analyzer$analyze_seq_STAR_.invoke(analyzer.cljc:2707)
        at cljs.analyzer$analyze_seq_STAR__wrap.invokeStatic(analyzer.cljc:2714)
        at cljs.analyzer$analyze_seq_STAR__wrap.invoke(analyzer.cljc:2712)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2735)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2911)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2910)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$eval1546$fn__1548$fn__1554.invoke(analyzer.cljc:1042)
        at cljs.analyzer$eval1546$fn__1548.invoke(analyzer.cljc:1042)
        at clojure.lang.MultiFn.invoke(MultiFn.java:251)
        at cljs.analyzer$analyze_seq_STAR_.invokeStatic(analyzer.cljc:2709)
        at cljs.analyzer$analyze_seq_STAR_.invoke(analyzer.cljc:2707)
        at cljs.analyzer$analyze_seq_STAR__wrap.invokeStatic(analyzer.cljc:2714)
        at cljs.analyzer$analyze_seq_STAR__wrap.invoke(analyzer.cljc:2712)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2735)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2911)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2910)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$eval1706$fn__1708.invoke(analyzer.cljc:1489)
        at clojure.lang.MultiFn.invoke(MultiFn.java:251)
        at cljs.analyzer$analyze_seq_STAR_.invokeStatic(analyzer.cljc:2709)
        at cljs.analyzer$analyze_seq_STAR_.invoke(analyzer.cljc:2707)
        at cljs.analyzer$analyze_seq_STAR__wrap.invokeStatic(analyzer.cljc:2714)
        at cljs.analyzer$analyze_seq_STAR__wrap.invoke(analyzer.cljc:2712)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2735)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2911)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2910)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze_let_body_STAR_.invokeStatic(analyzer.cljc:1566)
        at cljs.analyzer$analyze_let_body_STAR_.invoke(analyzer.cljc:1565)
        at cljs.analyzer$analyze_let_body.invokeStatic(analyzer.cljc:1571)
        at cljs.analyzer$analyze_let_body.invoke(analyzer.cljc:1568)
        at cljs.analyzer$analyze_let.invokeStatic(analyzer.cljc:1587)
        at cljs.analyzer$analyze_let.invoke(analyzer.cljc:1573)
        at cljs.analyzer$eval1729$fn__1730.invoke(analyzer.cljc:1603)
        at clojure.lang.MultiFn.invoke(MultiFn.java:251)
        at cljs.analyzer$analyze_seq_STAR_.invokeStatic(analyzer.cljc:2709)
        at cljs.analyzer$analyze_seq_STAR_.invoke(analyzer.cljc:2707)
        at cljs.analyzer$analyze_seq_STAR__wrap.invokeStatic(analyzer.cljc:2714)
        at cljs.analyzer$analyze_seq_STAR__wrap.invoke(analyzer.cljc:2712)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2735)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2736)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2911)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2910)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$eval1546$fn__1548$fn__1554.invoke(analyzer.cljc:1042)
        at cljs.analyzer$eval1546$fn__1548.invoke(analyzer.cljc:1042)
        at clojure.lang.MultiFn.invoke(MultiFn.java:251)
        at cljs.analyzer$analyze_seq_STAR_.invokeStatic(analyzer.cljc:2709)
        at cljs.analyzer$analyze_seq_STAR_.invoke(analyzer.cljc:2707)
        at cljs.analyzer$analyze_seq_STAR__wrap.invokeStatic(analyzer.cljc:2714)
        at cljs.analyzer$analyze_seq_STAR__wrap.invoke(analyzer.cljc:2712)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2735)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2911)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2910)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$eval1546$fn__1548$fn__1552.invoke(analyzer.cljc:1041)
        at cljs.analyzer$eval1546$fn__1548.invoke(analyzer.cljc:1041)
        at clojure.lang.MultiFn.invoke(MultiFn.java:251)
        at cljs.analyzer$analyze_seq_STAR_.invokeStatic(analyzer.cljc:2709)
        at cljs.analyzer$analyze_seq_STAR_.invoke(analyzer.cljc:2707)
        at cljs.analyzer$analyze_seq_STAR__wrap.invokeStatic(analyzer.cljc:2714)
        at cljs.analyzer$analyze_seq_STAR__wrap.invoke(analyzer.cljc:2712)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2735)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2911)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2910)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$eval1706$fn__1708.invoke(analyzer.cljc:1489)
        at clojure.lang.MultiFn.invoke(MultiFn.java:251)
        at cljs.analyzer$analyze_seq_STAR_.invokeStatic(analyzer.cljc:2709)
        at cljs.analyzer$analyze_seq_STAR_.invoke(analyzer.cljc:2707)
        at cljs.analyzer$analyze_seq_STAR__wrap.invokeStatic(analyzer.cljc:2714)
        at cljs.analyzer$analyze_seq_STAR__wrap.invoke(analyzer.cljc:2712)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2735)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2911)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2910)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze_fn_method_body.invokeStatic(analyzer.cljc:1308)
        at cljs.analyzer$analyze_fn_method_body.invoke(analyzer.cljc:1306)
        at cljs.analyzer$analyze_fn_method.invokeStatic(analyzer.cljc:1326)
        at cljs.analyzer$analyze_fn_method.invoke(analyzer.cljc:1310)
        at cljs.analyzer$eval1667$fn__1669$fn__1672.invoke(analyzer.cljc:1390)
        at clojure.core$map$fn__4785.invoke(core.clj:2646)
        at clojure.lang.LazySeq.sval(LazySeq.java:40)
        at clojure.lang.LazySeq.seq(LazySeq.java:49)
        at clojure.lang.RT.seq(RT.java:521)
        at clojure.core$seq__4357.invokeStatic(core.clj:137)
        at clojure.core$map$fn__4785.invoke(core.clj:2637)
        at clojure.lang.LazySeq.sval(LazySeq.java:40)
        at clojure.lang.LazySeq.seq(LazySeq.java:49)
        at clojure.lang.RT.seq(RT.java:521)
        at clojure.core$seq__4357.invokeStatic(core.clj:137)
        at clojure.core$apply.invokeStatic(core.clj:641)
        at clojure.core$apply.invoke(core.clj:641)
        at cljs.analyzer$eval1667$fn__1669.invoke(analyzer.cljc:1391)
        at clojure.lang.MultiFn.invoke(MultiFn.java:251)
        at cljs.analyzer$analyze_seq_STAR_.invokeStatic(analyzer.cljc:2709)
        at cljs.analyzer$analyze_seq_STAR_.invoke(analyzer.cljc:2707)
        at cljs.analyzer$analyze_seq_STAR__wrap.invokeStatic(analyzer.cljc:2714)
        at cljs.analyzer$analyze_seq_STAR__wrap.invoke(analyzer.cljc:2712)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2735)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2736)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2911)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$eval1619$fn__1620$fn__1623.invoke(analyzer.cljc:1199)
        at cljs.analyzer$eval1619$fn__1620.invoke(analyzer.cljc:1198)
        at clojure.lang.MultiFn.invoke(MultiFn.java:251)
        at cljs.analyzer$analyze_seq_STAR_.invokeStatic(analyzer.cljc:2709)
        at cljs.analyzer$analyze_seq_STAR_.invoke(analyzer.cljc:2707)
        at cljs.analyzer$analyze_seq_STAR__wrap.invokeStatic(analyzer.cljc:2714)
        at cljs.analyzer$analyze_seq_STAR__wrap.invoke(analyzer.cljc:2712)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2735)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.analyzer$analyze_seq.invokeStatic(analyzer.cljc:2736)
        at cljs.analyzer$analyze_seq.invoke(analyzer.cljc:2716)
        at cljs.analyzer$analyze_form.invokeStatic(analyzer.cljc:2853)
        at cljs.analyzer$analyze_form.invoke(analyzer.cljc:2849)
        at cljs.analyzer$analyze_STAR_.invokeStatic(analyzer.cljc:2900)
        at cljs.analyzer$analyze_STAR_.invoke(analyzer.cljc:2891)
        at cljs.analyzer$analyze.invokeStatic(analyzer.cljc:2916)
        at cljs.analyzer$analyze.invoke(analyzer.cljc:2903)
        at cljs.compiler$emit_source.invokeStatic(compiler.cljc:1252)
        at cljs.compiler$emit_source.invoke(compiler.cljc:1232)
        at cljs.compiler$compile_file_STAR_$fn__3530.invoke(compiler.cljc:1304)
        at cljs.compiler$with_core_cljs.invokeStatic(compiler.cljc:1154)
        at cljs.compiler$with_core_cljs.invoke(compiler.cljc:1145)
        at cljs.compiler$compile_file_STAR_.invokeStatic(compiler.cljc:1293)
        at cljs.compiler$compile_file_STAR_.invoke(compiler.cljc:1289)
        at cljs.compiler$compile_file$fn__3553.invoke(compiler.cljc:1374)
        ... 60 more
Caused by: clojure.lang.ArityException: Wrong number of args (1) passed to: nodes/ranges
        at cljs.analyzer$macroexpand_1_STAR_$fn__2179.invoke(analyzer.cljc:2658)
        at cljs.analyzer$macroexpand_1_STAR_.invokeStatic(analyzer.cljc:2655)
        at cljs.analyzer$macroexpand_1_STAR_.invoke(analyzer.cljc:2640)
        ... 324 more
Subprocess failed

@brandonbloom
Copy link
Owner

Hmm... a very cursory look suggests that there's both a 1-arity ranges function and 2-arity ranges macro. Maybe this is a ClojureScript bug in the newer versions that support automatically importing macros from the same namespace?

@alexandergunnarson
Copy link
Contributor

I don't quite remember the issue, but it's related to what you're talking about, @brandonbloom . I had to fork rrb-vector, apply the necessary fixes, and release the working result to clojars as [quantum/org.clojure.core.rrb-vector "0.0.12"]. Feel free to use it if you'd like @jaor — it compiles and behaves as expected for both CLJ and CLJS.

@jaor
Copy link
Author

jaor commented Sep 26, 2016

thanks alex, i'll give it a try as soon as i can!

@alexandergunnarson
Copy link
Contributor

No problem! Let me know how it goes.

@rafd
Copy link

rafd commented Oct 28, 2016

I ran into this issue as well. I was able to make my build work by excluding rrb-vector from fipp and using @alexandergunnarson 's version:

[fipp "0.6.6" :exclusions [org.clojure/core.rrb-vector]]
[quantum/org.clojure.core.rrb-vector "0.0.12"]]

@stuartsierra
Copy link

rrb-vector issue is at https://dev.clojure.org/jira/browse/CRRBV-15, currently lacks a reproducible case.

@brandonbloom
Copy link
Owner

@alexandergunnarson Is the code available for your quantum/... build anywhere? If it's a small patch, you can just paste it here too.

@alexandergunnarson
Copy link
Contributor

alexandergunnarson commented Aug 16, 2017

@brandonbloom My fork is here. Only the changes made to the .cljs files are relevant — it was a simple naming conflict that caused issues in CLJS. You can see the diff here. There is possibly a cleaner fix that involves fewer changes to code, but this is what I have so far, and it works.

@brandonbloom
Copy link
Owner

OK, I'm reasonably convinced that this should be fixed in cljs-build, not in rrb-vector or fipp. Maaaybe something in cljs itself.

@alexandergunnarson
Copy link
Contributor

I tentatively agree. Definitely not an issue with fipp either way.

@brandonbloom
Copy link
Owner

OK, tracking over there: emezeske/lein-cljsbuild#469

@alexandergunnarson
Copy link
Contributor

Sounds good @brandonbloom!

miikka added a commit to miikka/fipp that referenced this issue Feb 8, 2019
The just-released version 0.0.14 of core.rrb-vector fixes the issue https://dev.clojure.org/jira/browse/CRRBV-15 that was originally reported in Fipp as brandonbloom#42.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants