ibnuda/dactyl-keyboard

dactyl manuform error when set thumb key count 5 or generate screw inserts

yejianfengblue opened this issue · 4 comments

@happysalada I see the related code is updated in the wall thickness pull request. Could you please help?

Case 1

Default parameters of manuform page, with thumb key count 5

java.lang.IllegalArgumentException: Don't know how to create ISeq from: dactyl_keyboard.manuform$thumb_post_tl
	at clojure.lang.RT.seqFrom(RT.java:553)
	at clojure.lang.RT.seq(RT.java:533)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$seq__5387.invoke(core.clj:137)
	at scad_clj.scad$eval12981$fn__12983.invoke(scad.clj:9)
	at clojure.lang.MultiFn.invoke(MultiFn.java:233)
	at scad_clj.scad$eval13000$fn__13002$fn__13006.invoke(scad.clj:16)
	at clojure.core$map$fn__5851.invoke(core.clj:2755)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$apply.invokeStatic(core.clj:660)
	at clojure.core$mapcat.invokeStatic(core.clj:2783)
	at clojure.core$mapcat.doInvoke(core.clj:2783)
	at clojure.lang.RestFn.invoke(RestFn.java:423)
	at scad_clj.scad$eval13000$fn__13002.invoke(scad.clj:16)
	at clojure.lang.MultiFn.invoke(MultiFn.java:234)
	at scad_clj.scad$write_block$fn__13012.invoke(scad.clj:25)
	at clojure.core$map$fn__5851.invoke(core.clj:2755)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$apply.invokeStatic(core.clj:660)
	at clojure.core$mapcat.invokeStatic(core.clj:2783)
	at clojure.core$mapcat.doInvoke(core.clj:2783)
	at clojure.lang.RestFn.invoke(RestFn.java:423)
	at scad_clj.scad$write_block.invokeStatic(scad.clj:25)
	at scad_clj.scad$write_block.invoke(scad.clj:24)
	at scad_clj.scad$eval13212$fn__13214.invoke(scad.clj:174)
	at clojure.lang.MultiFn.invoke(MultiFn.java:234)
	at scad_clj.scad$eval13000$fn__13002$fn__13006.invoke(scad.clj:16)
	at clojure.core$map$fn__5851.invoke(core.clj:2755)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$apply.invokeStatic(core.clj:660)
	at clojure.core$mapcat.invokeStatic(core.clj:2783)
	at clojure.core$mapcat.doInvoke(core.clj:2783)
	at clojure.lang.RestFn.invoke(RestFn.java:423)
	at scad_clj.scad$eval13000$fn__13002.invoke(scad.clj:16)
	at clojure.lang.MultiFn.invoke(MultiFn.java:234)
	at scad_clj.scad$write_block$fn__13012.invoke(scad.clj:25)
	at clojure.core$map$fn__5851.invoke(core.clj:2755)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$apply.invokeStatic(core.clj:660)
	at clojure.core$mapcat.invokeStatic(core.clj:2783)
	at clojure.core$mapcat.doInvoke(core.clj:2783)
	at clojure.lang.RestFn.invoke(RestFn.java:423)
	at scad_clj.scad$write_block.invokeStatic(scad.clj:25)
	at scad_clj.scad$write_block.invoke(scad.clj:24)
	at scad_clj.scad$eval13212$fn__13214.invoke(scad.clj:174)
	at clojure.lang.MultiFn.invoke(MultiFn.java:234)
	at scad_clj.scad$eval13000$fn__13002$fn__13006.invoke(scad.clj:16)
	at clojure.core$map$fn__5851.invoke(core.clj:2755)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$apply.invokeStatic(core.clj:660)
	at clojure.core$mapcat.invokeStatic(core.clj:2783)
	at clojure.core$mapcat.doInvoke(core.clj:2783)
	at clojure.lang.RestFn.invoke(RestFn.java:423)
	at scad_clj.scad$eval13000$fn__13002.invoke(scad.clj:16)
	at clojure.lang.MultiFn.invoke(MultiFn.java:234)
	at scad_clj.scad$write_block$fn__13012.invoke(scad.clj:25)
	at clojure.core$map$fn__5851.invoke(core.clj:2755)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$apply.invokeStatic(core.clj:660)
	at clojure.core$mapcat.invokeStatic(core.clj:2783)
	at clojure.core$mapcat.doInvoke(core.clj:2783)
	at clojure.lang.RestFn.invoke(RestFn.java:423)
	at scad_clj.scad$write_block.invokeStatic(scad.clj:25)
	at scad_clj.scad$write_block.invoke(scad.clj:24)
	at scad_clj.scad$eval13212$fn__13214.invoke(scad.clj:174)
	at clojure.lang.MultiFn.invoke(MultiFn.java:234)
	at scad_clj.scad$eval13199$fn__13201$fn__13208.invoke(scad.clj:168)
	at clojure.core$map$fn__5851.invoke(core.clj:2755)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$apply.invokeStatic(core.clj:660)
	at clojure.core$mapcat.invokeStatic(core.clj:2783)
	at clojure.core$mapcat.doInvoke(core.clj:2783)
	at clojure.lang.RestFn.invoke(RestFn.java:423)
	at scad_clj.scad$eval13199$fn__13201.invoke(scad.clj:168)
	at clojure.lang.MultiFn.invoke(MultiFn.java:234)
	at scad_clj.scad$eval13199$fn__13201$fn__13208.invoke(scad.clj:168)
	at clojure.core$map$fn__5851.invoke(core.clj:2755)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$apply.invokeStatic(core.clj:660)
	at clojure.core$mapcat.invokeStatic(core.clj:2783)
	at clojure.core$mapcat.doInvoke(core.clj:2783)
	at clojure.lang.RestFn.invoke(RestFn.java:423)
	at scad_clj.scad$eval13199$fn__13201.invoke(scad.clj:168)
	at clojure.lang.MultiFn.invoke(MultiFn.java:234)
	at scad_clj.scad$eval13271$fn__13273$fn__13277.invoke(scad.clj:204)
	at clojure.core$map$fn__5851.invoke(core.clj:2755)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.Cons.next(Cons.java:39)
	at clojure.lang.RT.next(RT.java:709)
	at clojure.core$next__5371.invokeStatic(core.clj:64)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:742)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:734)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:734)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:734)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:734)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:734)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$fn__5478.invoke(core.clj:725)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:734)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$fn__5478.invoke(core.clj:725)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:734)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:734)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$fn__5478.invoke(core.clj:725)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:734)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:734)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:734)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:734)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$fn__5478.invoke(core.clj:725)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:531)
	at clojure.core$seq__5387.invokeStatic(core.clj:137)
	at clojure.core$concat$cat__5480$fn__5481.invoke(core.clj:734)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.Cons.next(Cons.java:39)
	at clojure.lang.RT.next(RT.java:709)
	at clojure.core$next__5371.invokeStatic(core.clj:64)
	at clojure.core$str$fn__5451.invoke(core.clj:557)
	at clojure.core$str.invokeStatic(core.clj:555)
	at clojure.core$str.doInvoke(core.clj:544)
	at clojure.lang.RestFn.applyTo(RestFn.java:139)
	at clojure.core$apply.invokeStatic(core.clj:665)
	at clojure.string$join.invokeStatic(string.clj:180)
	at clojure.string$join.invoke(string.clj:180)
	at scad_clj.scad$write_scad.invokeStatic(scad.clj:301)
	at scad_clj.scad$write_scad.doInvoke(scad.clj:300)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at dactyl_keyboard.generator$generate_case_dm.invokeStatic(generator.clj:109)
	at dactyl_keyboard.generator$generate_case_dm.invoke(generator.clj:108)
	at dactyl_keyboard.handler$generate_manuform.invokeStatic(handler.clj:215)
	at dactyl_keyboard.handler$generate_manuform.invoke(handler.clj:57)
	at compojure.response$eval1946$fn__1947.invoke(response.clj:47)
	at compojure.response$eval1868$fn__1869$G__1859__1876.invoke(response.clj:7)
	at compojure.core$wrap_response$fn__3823.invoke(core.clj:158)
	at compojure.core$wrap_route_middleware$fn__3807.invoke(core.clj:128)
	at compojure.core$wrap_route_info$fn__3812.invoke(core.clj:137)
	at compojure.core$wrap_route_matches$fn__3816.invoke(core.clj:146)
	at compojure.core$routing$fn__3831.invoke(core.clj:185)
	at clojure.core$some.invokeStatic(core.clj:2701)
	at clojure.core$some.invoke(core.clj:2692)
	at compojure.core$routing.invokeStatic(core.clj:185)
	at compojure.core$routing.doInvoke(core.clj:182)
	at clojure.lang.RestFn.applyTo(RestFn.java:139)
	at clojure.core$apply.invokeStatic(core.clj:667)
	at clojure.core$apply.invoke(core.clj:660)
	at compojure.core$routes$fn__3835.invoke(core.clj:192)
	at ring.middleware.json$wrap_json_body$fn__7005.invoke(json.clj:58)
	at ring.middleware.json$wrap_json_response$fn__7058.invoke(json.clj:139)
	at ring.middleware.keyword_params$wrap_keyword_params$fn__5597.invoke(keyword_params.clj:36)
	at ring.middleware.params$wrap_params$fn__4063.invoke(params.clj:67)
	at ring.middleware.absolute_redirects$wrap_absolute_redirects$fn__6041.invoke(absolute_redirects.clj:47)
	at ring.middleware.content_type$wrap_content_type$fn__5989.invoke(content_type.clj:34)
	at ring.middleware.default_charset$wrap_default_charset$fn__6013.invoke(default_charset.clj:31)
	at ring.middleware.not_modified$wrap_not_modified$fn__5970.invoke(not_modified.clj:53)
	at clojure.lang.Var.invoke(Var.java:384)
	at ring.adapter.jetty$proxy_handler$fn__472.invoke(jetty.clj:27)
	at ring.adapter.jetty.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:500)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:386)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:562)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:378)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
	at java.base/java.lang.Thread.run(Thread.java:829)

Case 2

Default parameters of manuform page, with screw inserts generaed, that is form.screw-inserts=true

clojure.lang.ArityException: Wrong number of args (2) passed to: dactyl-keyboard.common/wall-locate3
	at clojure.lang.AFn.throwArity(AFn.java:429)
	at clojure.lang.AFn.invoke(AFn.java:36)
	at dactyl_keyboard.common$screw_insert.invokeStatic(common.clj:542)
	at dactyl_keyboard.common$screw_insert.invoke(common.clj:530)
	at dactyl_keyboard.manuform$screw_placement.invokeStatic(manuform.clj:1435)
	at dactyl_keyboard.manuform$screw_placement.invoke(manuform.clj:1416)
	at dactyl_keyboard.common$screw_insert_outers.invokeStatic(common.clj:521)
	at dactyl_keyboard.common$screw_insert_outers.invoke(common.clj:517)
	at dactyl_keyboard.manuform$model_right.invokeStatic(manuform.clj:1487)
	at dactyl_keyboard.manuform$model_right.invoke(manuform.clj:1466)
	at dactyl_keyboard.generator$generate_case_dm.invokeStatic(generator.clj:110)
	at dactyl_keyboard.generator$generate_case_dm.invoke(generator.clj:108)
	at dactyl_keyboard.handler$generate_manuform.invokeStatic(handler.clj:215)
	at dactyl_keyboard.handler$generate_manuform.invoke(handler.clj:57)
	at compojure.response$eval1946$fn__1947.invoke(response.clj:47)
	at compojure.response$eval1868$fn__1869$G__1859__1876.invoke(response.clj:7)
	at compojure.core$wrap_response$fn__3823.invoke(core.clj:158)
	at compojure.core$wrap_route_middleware$fn__3807.invoke(core.clj:128)
	at compojure.core$wrap_route_info$fn__3812.invoke(core.clj:137)
	at compojure.core$wrap_route_matches$fn__3816.invoke(core.clj:146)
	at compojure.core$routing$fn__3831.invoke(core.clj:185)
	at clojure.core$some.invokeStatic(core.clj:2701)
	at clojure.core$some.invoke(core.clj:2692)
	at compojure.core$routing.invokeStatic(core.clj:185)
	at compojure.core$routing.doInvoke(core.clj:182)
	at clojure.lang.RestFn.applyTo(RestFn.java:139)
	at clojure.core$apply.invokeStatic(core.clj:667)
	at clojure.core$apply.invoke(core.clj:660)
	at compojure.core$routes$fn__3835.invoke(core.clj:192)
	at ring.middleware.json$wrap_json_body$fn__7005.invoke(json.clj:58)
	at ring.middleware.json$wrap_json_response$fn__7058.invoke(json.clj:139)
	at ring.middleware.keyword_params$wrap_keyword_params$fn__5597.invoke(keyword_params.clj:36)
	at ring.middleware.params$wrap_params$fn__4063.invoke(params.clj:67)
	at ring.middleware.absolute_redirects$wrap_absolute_redirects$fn__6041.invoke(absolute_redirects.clj:47)
	at ring.middleware.content_type$wrap_content_type$fn__5989.invoke(content_type.clj:34)
	at ring.middleware.default_charset$wrap_default_charset$fn__6013.invoke(default_charset.clj:31)
	at ring.middleware.not_modified$wrap_not_modified$fn__5970.invoke(not_modified.clj:53)
	at clojure.lang.Var.invoke(Var.java:384)
	at ring.adapter.jetty$proxy_handler$fn__472.invoke(jetty.clj:27)
	at ring.adapter.jetty.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:500)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:386)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:562)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:378)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
	at java.base/java.lang.Thread.run(Thread.java:829)

I love those clojure stacktraces, they're crystal clear! :-)
I made a PR #91
However this will probably break the lightcycle.
Just saying this in case it takes time to merge and you want to apply the commit locally.

Stacktraces are added. It's not urgent. Take your time.

i've put it online and tried it. happysalada's work works.

Work too in my test. Thank both for the quick action.