$ clojure -Srepro -Sdeps '{:deps {org.clojure/clojurescript {:mvn/version "1.10.439"}}}' -m cljs.main -re rhino -e js/foo
主线程中发生异常
异常:java.lang.StackOverflowError 在主线程的未捕获异常处理程序中抛出
添加一些代码以打印堆栈跟踪
$ git diff
diff --git a/src/main/clojure/cljs/cli.clj b/src/main/clojure/cljs/cli.clj
index fb83c72b..d0e865f9 100644
--- a/src/main/clojure/cljs/cli.clj
+++ b/src/main/clojure/cljs/cli.clj
@@ -648,5 +648,7 @@ present"
((get-dispatch commands :main opt script-opt)
repl-env args (initialize inits commands))))
repl-opt repl-env nil nil)))
+ (catch Throwable t
+ (.printStackTrace t))
(finally
(flush))))
结果
主线程中发生 java.lang.StackOverflowError
at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3800)
at java.util.regex.Pattern$Start.match(Pattern.java:3463)
at java.util.regex.Matcher.search(Matcher.java:1248)
at java.util.regex.Matcher.find(Matcher.java:664)
at java.util.Formatter.parse(Formatter.java:2549)
at java.util.Formatter.format(Formatter.java:2501)
at java.util.Formatter.format(Formatter.java:2455)
at java.lang.String.format(String.java:2940)
at clojure.core$format.invokeStatic(core.clj:5744)
at clojure.core$print_tagged_object.incrementally
at clojure.core$print_object.invokeStatic(core_print.clj:113)
at clojure.core$fn__7263.invokeStatic(core_print.clj:120)
at clojure.core$fn__7263.invoke(core_print.clj:120)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7365.invokeStatic(core_print.clj:320)
at clojure.core$fn__7365.invoke(core_print.clj:317)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7361.invokeStatic(core_print.clj:302)
at clojure.core$fn__7361.invoke(core_print.clj:301)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7365.invokeStatic(core_print.clj:320)
at clojure.core$fn__7365.invoke(core_print.clj:317)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7361.invokeStatic(core_print.clj:302)
at clojure.core$fn__7361.invoke(core_print.clj:301)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7365.invokeStatic(core_print.clj:320)
at clojure.core$fn__7365.invoke(core_print.clj:317)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7361.invokeStatic(core_print.clj:302)
at clojure.core$fn__7361.invoke(core_print.clj:301)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7365.invokeStatic(core_print.clj:320)
at clojure.core$fn__7365.invoke(core_print.clj:317)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7361.invokeStatic(core_print.clj:302)
at clojure.core$fn__7361.invoke(core_print.clj:301)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7365.invokeStatic(core_print.clj:320)
at clojure.core$fn__7365.invoke(core_print.clj:317)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7361.invokeStatic(core_print.clj:302)
at clojure.core$fn__7361.invoke(core_print.clj:301)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7365.invokeStatic(core_print.clj:320)
at clojure.core$fn__7365.invoke(core_print.clj:317)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7361.invokeStatic(core_print.clj:302)
at clojure.core$fn__7361.invoke(core_print.clj:301)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7365.invokeStatic(core_print.clj:320)
at clojure.core$fn__7365.invoke(core_print.clj:317)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7361.invokeStatic(core_print.clj:302)
at clojure.core$fn__7361.invoke(core_print.clj:301)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7365.invokeStatic(core_print.clj:320)
at clojure.core$fn__7365.invoke(core_print.clj:317)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7361.invokeStatic(core_print.clj:302)
at clojure.core$fn__7361.invoke(core_print.clj:301)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7365.invokeStatic(core_print.clj:320)
at clojure.core$fn__7365.invoke(core_print.clj:317)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invokeStatic(core_print.clj:238)
at clojure.core$fn__7361.invokeStatic(core_print.clj:302)
at clojure.core$fn__7361.invoke(core_print.clj:301)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at clojure.core$pr_on.invokeStatic(core.clj:3674)
at clojure.core$pr_on.invoke(core.clj:3668)
at clojure.core$print_prefix_map$fn__7317.invoke(core_print.clj:233)
at clojure.core$print_sequential.invokeStatic(core_print.clj:66)
at clojure.core$print_prefix_map.invokeStatic(core_print.clj:229)
at clojure.core$print_map.invok