Skip to content

Instantly share code, notes, and snippets.

@chenyong
Created November 29, 2017 06:38
Show Gist options
  • Save chenyong/636fe8c72a7365f541d7e47060e355ae to your computer and use it in GitHub Desktop.
Save chenyong/636fe8c72a7365f541d7e47060e355ae to your computer and use it in GitHub Desktop.
shadow-cljs error: doseq
op^[[A[:app] Compiling ...
[:app] Build failure:
------ ERROR -------------------------------------------------------------------
File: /Users/chen/repo/cumulo/cumulo-workflow/server/src/server/network.cljs:42:5
--------------------------------------------------------------------------------
38 | (defonce client-caches (atom {}))
39 |
40 | (defn sync-clients! [reel]
41 | (let [db (:db reel), records (:records reel)]
42 | (doseq [[ ], s i, d keys]
-----------^--------------------------------------------------------------------
43 | (let [session-id sid
44 | session (get-in db [:sessions sid])
45 | old-store (or (get @client-caches session-id) nil)
46 | new-store (render-twig (twig-container db session records) old-store)
47 | changes (diff-twig old-store new-store {:key :id})
--------------------------------------------------------------------------------
doseq requires an even number of forms in binding vector
{}
ExceptionInfo: doseq requires an even number of forms in binding vector
clojure.core/ex-info (core.clj:4744)
clojure.core/ex-info (core.clj:4744)
cljs.core/doseq (core.cljc:2406)
cljs.core/doseq (core.cljc:2401)
clojure.core/apply (core.clj:661)
clojure.core/apply (core.clj:652)
cljs.analyzer/macroexpand-1*/fn--16209 (analyzer.cljc:3286)
cljs.analyzer/macroexpand-1* (analyzer.cljc:3285)
cljs.analyzer/macroexpand-1* (analyzer.cljc:3271)
cljs.analyzer/macroexpand-1 (analyzer.cljc:3333)
cljs.analyzer/macroexpand-1 (analyzer.cljc:3329)
cljs.analyzer/analyze-seq (analyzer.cljc:3366)
cljs.analyzer/analyze-seq (analyzer.cljc:3346)
cljs.analyzer/analyze-form (analyzer.cljc:3536)
cljs.analyzer/analyze-form (analyzer.cljc:3532)
cljs.analyzer/analyze* (analyzer.cljc:3585)
cljs.analyzer/analyze* (analyzer.cljc:3576)
cljs.analyzer/analyze (analyzer.cljc:3610)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze (analyzer.cljc:3602)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze (analyzer.cljc:3600)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/fn--15547 (analyzer.cljc:1847)
cljs.analyzer/fn--15547 (analyzer.cljc:1843)
clojure.lang.MultiFn.invoke (MultiFn.java:251)
cljs.analyzer/analyze-seq* (analyzer.cljc:3339)
cljs.analyzer/analyze-seq* (analyzer.cljc:3337)
cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3344)
cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3342)
cljs.analyzer/analyze-seq (analyzer.cljc:3368)
cljs.analyzer/analyze-seq (analyzer.cljc:3346)
cljs.analyzer/analyze-form (analyzer.cljc:3536)
cljs.analyzer/analyze-form (analyzer.cljc:3532)
cljs.analyzer/analyze* (analyzer.cljc:3585)
cljs.analyzer/analyze* (analyzer.cljc:3576)
cljs.analyzer/analyze (analyzer.cljc:3610)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze (analyzer.cljc:3602)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze (analyzer.cljc:3600)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze-let-body* (analyzer.cljc:1922)
cljs.analyzer/analyze-let-body* (analyzer.cljc:1921)
cljs.analyzer/analyze-let-body (analyzer.cljc:1927)
cljs.analyzer/analyze-let-body (analyzer.cljc:1924)
cljs.analyzer/analyze-let (analyzer.cljc:1943)
cljs.analyzer/analyze-let (analyzer.cljc:1929)
cljs.analyzer/fn--15574 (analyzer.cljc:1955)
cljs.analyzer/fn--15574 (analyzer.cljc:1953)
clojure.lang.MultiFn.invoke (MultiFn.java:251)
cljs.analyzer/analyze-seq* (analyzer.cljc:3339)
cljs.analyzer/analyze-seq* (analyzer.cljc:3337)
cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3344)
cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3342)
cljs.analyzer/analyze-seq (analyzer.cljc:3368)
cljs.analyzer/analyze-seq (analyzer.cljc:3346)
cljs.analyzer/analyze-form (analyzer.cljc:3536)
cljs.analyzer/analyze-form (analyzer.cljc:3532)
cljs.analyzer/analyze* (analyzer.cljc:3585)
cljs.analyzer/analyze* (analyzer.cljc:3576)
cljs.analyzer/analyze (analyzer.cljc:3610)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze-seq (analyzer.cljc:3369)
cljs.analyzer/analyze-seq (analyzer.cljc:3346)
cljs.analyzer/analyze-form (analyzer.cljc:3536)
cljs.analyzer/analyze-form (analyzer.cljc:3532)
cljs.analyzer/analyze* (analyzer.cljc:3585)
cljs.analyzer/analyze* (analyzer.cljc:3576)
cljs.analyzer/analyze (analyzer.cljc:3610)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze (analyzer.cljc:3602)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze (analyzer.cljc:3600)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/fn--15547 (analyzer.cljc:1847)
cljs.analyzer/fn--15547 (analyzer.cljc:1843)
clojure.lang.MultiFn.invoke (MultiFn.java:251)
cljs.analyzer/analyze-seq* (analyzer.cljc:3339)
cljs.analyzer/analyze-seq* (analyzer.cljc:3337)
cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3344)
cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3342)
cljs.analyzer/analyze-seq (analyzer.cljc:3368)
cljs.analyzer/analyze-seq (analyzer.cljc:3346)
cljs.analyzer/analyze-form (analyzer.cljc:3536)
cljs.analyzer/analyze-form (analyzer.cljc:3532)
cljs.analyzer/analyze* (analyzer.cljc:3585)
cljs.analyzer/analyze* (analyzer.cljc:3576)
cljs.analyzer/analyze (analyzer.cljc:3610)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze (analyzer.cljc:3602)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze (analyzer.cljc:3600)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze-fn-method-body (analyzer.cljc:1662)
cljs.analyzer/analyze-fn-method-body (analyzer.cljc:1660)
cljs.analyzer/analyze-fn-method (analyzer.cljc:1683)
cljs.analyzer/analyze-fn-method (analyzer.cljc:1664)
cljs.analyzer/analyze-fn-methods-pass2*/fn--15490 (analyzer.cljc:1714)
clojure.core/map/fn--5589 (core.clj:2752)
clojure.lang.LazySeq.sval (LazySeq.java:40)
clojure.lang.LazySeq.seq (LazySeq.java:49)
clojure.lang.RT.seq (RT.java:528)
clojure.core/seq--5125 (core.clj:137)
clojure.core/dorun (core.clj:3130)
clojure.core/doall (core.clj:3145)
clojure.core/doall (core.clj:3145)
cljs.analyzer/analyze-fn-methods-pass2* (analyzer.cljc:1714)
cljs.analyzer/analyze-fn-methods-pass2* (analyzer.cljc:1713)
cljs.analyzer/analyze-fn-methods-pass2 (analyzer.cljc:1717)
cljs.analyzer/analyze-fn-methods-pass2 (analyzer.cljc:1716)
cljs.analyzer/fn--15496/fn--15505 (analyzer.cljc:1762)
cljs.analyzer/fn--15496 (analyzer.cljc:1762)
cljs.analyzer/fn--15496 (analyzer.cljc:1719)
clojure.lang.MultiFn.invoke (MultiFn.java:251)
cljs.analyzer/analyze-seq* (analyzer.cljc:3339)
cljs.analyzer/analyze-seq* (analyzer.cljc:3337)
cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3344)
cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3342)
cljs.analyzer/analyze-seq (analyzer.cljc:3368)
cljs.analyzer/analyze-seq (analyzer.cljc:3346)
cljs.analyzer/analyze-form (analyzer.cljc:3536)
cljs.analyzer/analyze-form (analyzer.cljc:3532)
cljs.analyzer/analyze* (analyzer.cljc:3585)
cljs.analyzer/analyze* (analyzer.cljc:3576)
cljs.analyzer/analyze (analyzer.cljc:3610)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze-seq (analyzer.cljc:3369)
cljs.analyzer/analyze-seq (analyzer.cljc:3346)
cljs.analyzer/analyze-form (analyzer.cljc:3536)
cljs.analyzer/analyze-form (analyzer.cljc:3532)
cljs.analyzer/analyze* (analyzer.cljc:3585)
cljs.analyzer/analyze* (analyzer.cljc:3576)
cljs.analyzer/analyze (analyzer.cljc:3610)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze (analyzer.cljc:3602)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/fn--15441/fn--15444 (analyzer.cljc:1539)
cljs.analyzer/fn--15441 (analyzer.cljc:1537)
cljs.analyzer/fn--15441 (analyzer.cljc:1471)
clojure.lang.MultiFn.invoke (MultiFn.java:251)
cljs.analyzer/analyze-seq* (analyzer.cljc:3339)
cljs.analyzer/analyze-seq* (analyzer.cljc:3337)
cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3344)
cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3342)
cljs.analyzer/analyze-seq (analyzer.cljc:3368)
cljs.analyzer/analyze-seq (analyzer.cljc:3346)
cljs.analyzer/analyze-form (analyzer.cljc:3536)
cljs.analyzer/analyze-form (analyzer.cljc:3532)
cljs.analyzer/analyze* (analyzer.cljc:3585)
cljs.analyzer/analyze* (analyzer.cljc:3576)
cljs.analyzer/analyze (analyzer.cljc:3610)
cljs.analyzer/analyze (analyzer.cljc:3593)
cljs.analyzer/analyze-seq (analyzer.cljc:3369)
cljs.analyzer/analyze-seq (analyzer.cljc:3346)
cljs.analyzer/analyze-form (analyzer.cljc:3536)
cljs.analyzer/analyze-form (analyzer.cljc:3532)
cljs.analyzer/analyze* (analyzer.cljc:3585)
cljs.analyzer/analyze* (analyzer.cljc:3576)
cljs.analyzer/analyze (analyzer.cljc:3610)
cljs.analyzer/analyze (analyzer.cljc:3593)
shadow.build.compiler/analyze (compiler.clj:123)
shadow.build.compiler/analyze (compiler.clj:99)
shadow.build.compiler/analyze (compiler.clj:101)
shadow.build.compiler/analyze (compiler.clj:99)
shadow.build.compiler/default-compile-cljs (compiler.clj:215)
shadow.build.compiler/default-compile-cljs (compiler.clj:212)
clojure.core/partial/fn--5563 (core.clj:2622)
shadow.build.compiler/do-compile-cljs-string/fn--21133 (compiler.clj:179)
shadow.build.compiler/do-compile-cljs-string (compiler.clj:149)
shadow.build.compiler/do-compile-cljs-string (compiler.clj:134)
shadow.build.compiler/compile-cljs-string/fn--21169 (compiler.clj:271)
shadow.build.compiler/compile-cljs-string (compiler.clj:270)
shadow.build.compiler/compile-cljs-string (compiler.clj:268)
shadow.build.compiler/do-compile-cljs-resource/fn--21186 (compiler.clj:341)
shadow.build.compiler/do-compile-cljs-resource (compiler.clj:325)
shadow.build.compiler/do-compile-cljs-resource (compiler.clj:292)
shadow.build.compiler/maybe-compile-cljs/fn--21239 (compiler.clj:532)
shadow.build.compiler/maybe-compile-cljs (compiler.clj:531)
shadow.build.compiler/maybe-compile-cljs (compiler.clj:514)
shadow.build.compiler/generate-output-for-source (compiler.clj:571)
shadow.build.compiler/generate-output-for-source (compiler.clj:560)
shadow.build.compiler/par-compile-one (compiler.clj:614)
shadow.build.compiler/par-compile-one (compiler.clj:574)
shadow.build.compiler/par-compile-cljs-sources/fn--21267/iter--21268--21272/fn--21273/fn--21274/fn--21275 (compiler.clj:673)
clojure.core/apply (core.clj:657)
clojure.core/with-bindings* (core.clj:1970)
clojure.core/with-bindings* (core.clj:1970)
clojure.core/apply (core.clj:661)
clojure.core/bound-fn*/fn--5473 (core.clj:2000)
java.util.concurrent.FutureTask.run (FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:624)
java.lang.Thread.run (Thread.java:748)
--------------------------------------------------------------------------------
[:app] Compiling ...
[:app] Build completed. (58 files, 3 compiled, 0 warnings, 0.16s)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment