technomancy / leiningen

Moved to Codeberg; this is a convenience mirror
https://codeberg.org/leiningen/leiningen
Other
7.3k stars 1.61k forks source link

Cannot build leiningen uberjar with lein.ps1 #2503

Open winks opened 5 years ago

winks commented 5 years ago

Windows 7, Java 8

java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

Repro:

cd leiningen-core
lein bootstrap
cd ..
.\bin\lein.ps1 uberjar

# [snip]
Compiling leiningen.pom
Compiling leiningen.release
# hangs...
[see below]

but this works:

.\bin\lein.bat uberjar
# [snip]
Compiling nrepl.core
Created C:\Users\Flo\code\leiningen\leiningen\target\leiningen-2.8.3-SNAPSHOT.jar
Created C:\Users\Flo\code\leiningen\leiningen\target\leiningen-2.8.3-SNAPSHOT-standalone.jar

For reference: #2198 #1899 #1554

nil

Exception in thread "main" 
java.lang.ExceptionInInitializerError
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at clojure.lang.RT.classForName(RT.java:2168)
    at clojure.lang.RT.classForName(RT.java:2177)
    at clojure.lang.RT.loadClassForName(RT.java:2196)
    at clojure.lang.RT.load(RT.java:443)
    at clojure.lang.RT.load(RT.java:419)
    at clojure.core$load$fn__5677.invoke(core.clj:5893)
    at clojure.core$load.invokeStatic(core.clj:5892)
    at clojure.core$load.doInvoke(core.clj:5876)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invokeStatic(core.clj:5697)
    at clojure.core$compile$fn__5682.invoke(core.clj:5903)
    at clojure.core$compile.invokeStatic(core.clj:5903)
    at clojure.core$compile.invoke(core.clj:5895)
    at user$eval887$fn__896.invoke(NO_SOURCE_FILE:0)
    at user$eval887.invokeStatic(NO_SOURCE_FILE:0)
    at user$eval887.invoke(NO_SOURCE_FILE)
    at clojure.lang.Compiler.eval(Compiler.java:6927)
    at clojure.lang.Compiler.eval(Compiler.java:6917)
    at clojure.lang.Compiler.eval(Compiler.java:6917)
    at clojure.lang.Compiler.eval(Compiler.java:6890)
    at clojure.core$eval.invokeStatic(core.clj:3105)
    at clojure.core$eval.invoke(core.clj:3101)
    at leiningen.core.eval$fn__4181.invokeStatic(eval.clj:342)
    at leiningen.core.eval$fn__4181.invoke(eval.clj:332)
    at clojure.lang.MultiFn.invoke(MultiFn.java:233)
    at leiningen.core.eval$eval_in_project.invokeStatic(eval.clj:366)
    at leiningen.core.eval$eval_in_project.invoke(eval.clj:356)
    at leiningen.core.eval$eval_in_project.invokeStatic(eval.clj:360)
    at leiningen.core.eval$eval_in_project.invoke(eval.clj:356)
    at leiningen.compile$compile.invokeStatic(compile.clj:166)
    at leiningen.compile$compile.invoke(compile.clj:135)
    at clojure.lang.Var.invoke(Var.java:379)
    at clojure.lang.AFn.applyToHelper(AFn.java:154)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.core$apply.invokeStatic(core.clj:648)
    at clojure.core$apply.invoke(core.clj:641)
    at leiningen.core.main$partial_task$fn__4667.doInvoke(main.clj:284)
    at clojure.lang.RestFn.invoke(RestFn.java:410)
    at clojure.lang.AFn.applyToHelper(AFn.java:154)
    at clojure.lang.RestFn.applyTo(RestFn.java:132)
    at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invokeStatic(core.clj:648)
    at clojure.core$apply.invoke(core.clj:641)
    at leiningen.core.main$apply_task.invokeStatic(main.clj:334)
    at leiningen.core.main$apply_task.invoke(main.clj:320)
    at leiningen.core.eval$run_prep_tasks.invokeStatic(eval.clj:51)
    at leiningen.core.eval$run_prep_tasks.invoke(eval.clj:43)
    at leiningen.core.eval$prep.invokeStatic(eval.clj:86)
    at leiningen.core.eval$prep.invoke(eval.clj:73)
    at leiningen.jar$build_jar.invokeStatic(jar.clj:283)
    at leiningen.jar$build_jar.invoke(jar.clj:280)
    at leiningen.jar$main_jar.invokeStatic(jar.clj:292)
    at leiningen.jar$main_jar.invoke(jar.clj:288)
    at leiningen.jar$jar.invokeStatic(jar.clj:343)
    at leiningen.jar$jar.invoke(jar.clj:325)
    at leiningen.uberjar$uberjar$fn__6037.invoke(uberjar.clj:167)
    at leiningen.uberjar$uberjar.invokeStatic(uberjar.clj:167)
    at leiningen.uberjar$uberjar.invoke(uberjar.clj:143)
    at leiningen.uberjar$uberjar.invokeStatic(uberjar.clj:187)
    at leiningen.uberjar$uberjar.invoke(uberjar.clj:143)
    at clojure.lang.Var.invoke(Var.java:379)
    at clojure.lang.AFn.applyToHelper(AFn.java:154)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.core$apply.invokeStatic(core.clj:648)
    at clojure.core$apply.invoke(core.clj:641)
    at leiningen.core.main$partial_task$fn__4667.doInvoke(main.clj:284)
    at clojure.lang.RestFn.invoke(RestFn.java:410)
    at clojure.lang.AFn.applyToHelper(AFn.java:154)
    at clojure.lang.RestFn.applyTo(RestFn.java:132)
    at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invokeStatic(core.clj:648)
    at clojure.core$apply.invoke(core.clj:641)
    at leiningen.core.main$apply_task.invokeStatic(main.clj:334)
    at leiningen.core.main$apply_task.invoke(main.clj:320)
    at leiningen.core.main$resolve_and_apply.invokeStatic(main.clj:340)
    at leiningen.core.main$resolve_and_apply.invoke(main.clj:336)
    at leiningen.core.main$_main$fn__4734.invoke(main.clj:420)
    at leiningen.core.main$_main.invokeStatic(main.clj:411)
    at leiningen.core.main$_main.doInvoke(main.clj:408)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.lang.Var.invoke(Var.java:379)
    at clojure.lang.AFn.applyToHelper(AFn.java:154)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.core$apply.invokeStatic(core.clj:646)
    at clojure.main$main_opt.invokeStatic(main.clj:314)
    at clojure.main$main_opt.invoke(main.clj:310)
    at clojure.main$main.invokeStatic(main.clj:421)
    at clojure.main$main.doInvoke(main.clj:384)
    at clojure.lang.RestFn.invoke(RestFn.java:436)
    at clojure.lang.Var.invoke(Var.java:388)
    at clojure.lang.AFn.applyToHelper(AFn.java:160)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.main.main(main.java:37)

Caused by: java.lang.StackOverflowError, compiling:(leiningen/release.clj:64:5)

    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6875)
    at clojure.lang.Compiler.analyze(Compiler.java:6669)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
    at clojure.lang.Compiler.analyze(Compiler.java:6669)

    at clojure.lang.Compiler.analyze(Compiler.java:6625)
    at clojure.lang.Compiler$ThrowExpr$Parser.parse(Compiler.java:2429)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
    at clojure.lang.Compiler.analyze(Compiler.java:6669)
    at clojure.lang.Compiler.analyze(Compiler.java:6625)
    at clojure.lang.Compiler$CaseExpr$Parser.parse(Compiler.java:8768)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
    at clojure.lang.Compiler.analyze(Compiler.java:6669)
    at clojure.lang.Compiler.analyze(Compiler.java:6625)
    at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
    at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6319)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
    at clojure.lang.Compiler.analyze(Compiler.java:6669)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
    at clojure.lang.Compiler.analyze(Compiler.java:6669)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
    at clojure.lang.Compiler.analyze(Compiler.java:6669)
    at clojure.lang.Compiler.analyze(Compiler.java:6625)
    at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
    at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6319)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
    at clojure.lang.Compiler.analyze(Compiler.java:6669)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
    at clojure.lang.Compiler.analyze(Compiler.java:6669)
    at clojure.lang.Compiler.analyze(Compiler.java:6625)
    at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
    at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6319)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)

    at clojure.lang.Compiler.analyze(Compiler.java:6669)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
    at clojure.lang.Compiler.analyze(Compiler.java:6669)
    at clojure.lang.Compiler.analyze(Compiler.java:6625)
    at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
    at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5380)
    at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3972)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6866)
    at clojure.lang.Compiler.analyze(Compiler.java:6669)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
    at clojure.lang.Compiler.analyze(Compiler.java:6669)
    at clojure.lang.Compiler.access$300(Compiler.java:38)
    at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:589)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
    at clojure.lang.Compiler.analyze(Compiler.java:6669)
    at clojure.lang.Compiler.analyze(Compiler.java:6625)
    at clojure.lang.Compiler.eval(Compiler.java:6931)
    at clojure.lang.Compiler.load(Compiler.java:7379)
    at leiningen.release$eval36606.invokeStatic(file:/C:/Users/Flo/code/leiningen/leiningen/src/leiningen/release.clj:1
43)
    at leiningen.release$eval24213.invoke(file:/C:/Users/Flo/code/leiningen/leiningen/src/leiningen/release.clj:138)

Caused by: java.lang.StackOverflowError

    at java.util.concurrent.ConcurrentHashMap.putIfAbsent(Unknown Source)
    at java.lang.ClassLoader.getClassLoadingLock(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77)
technomancy commented 5 years ago

Does this happen when building Leiningen only, or with other projects?

winks commented 5 years ago

Both my own projects https://github.com/winks/battlenet and https://github.com/winks/multiplex can be built and uberjarred but they're not exactly complicated.

LoganGirard commented 5 years ago

Looking into this. No ETA yet.