Cannot be run with `-Dclojure.core.async.go-checking=true`
Opened this issue · 0 comments
vemv commented
Context
Release 0.5.527 on 2019.11.12
Add system propertyclojure.core.async.go-checking
that will throw if core.async blocking ops (>!!, <!!, alts!!, alt!!) are used in a go block
https://github.com/clojure/core.async/blob/91e132b8ffa90af9eaa21d8e5c4e78369fdfea1a/README.md
Describe the Bug
If I run trapperkeeper with the -Dclojure.core.async.go-checking=true
JVM flag, I can hit the exception attached at the bottom
Steps to Reproduce
A bit hard to, especially respecting IP concerns, but if that helps, I'd suggest that you run the CI build with the flag set. Afer all, it's reasonable that modern core.async usage should be able to satisfy this safety flag.
Environment
- TK 3.0.0
- core.async >= 0.5.527
- macOS
Additional Context
1. Unhandled java.lang.IllegalStateException
Invalid blocking call in dispatch thread
dispatch.clj: 29 clojure.core.async.impl.dispatch/check-blocking-in-dispatch
dispatch.clj: 26 clojure.core.async.impl.dispatch/check-blocking-in-dispatch
async.clj: 164 clojure.core.async/fn
async.clj: 164 clojure.core.async/fn
internal.clj: 621 puppetlabs.trapperkeeper.internal/eval178002/boot-services-for-app*/fn
internal.clj: 616 puppetlabs.trapperkeeper.internal/eval178002/boot-services-for-app*
internal.clj: 637 puppetlabs.trapperkeeper.internal/eval178070/boot-services*/fn
internal.clj: 626 puppetlabs.trapperkeeper.internal/eval178070/boot-services*
core.clj: 78 puppetlabs.trapperkeeper.core/boot-services-with-config-fn
core.clj: 62 puppetlabs.trapperkeeper.core/boot-services-with-config-fn
core.clj: 94 puppetlabs.trapperkeeper.core/boot-services-with-config
core.clj: 80 puppetlabs.trapperkeeper.core/boot-services-with-config
bootstrap.clj: 16 puppetlabs.trapperkeeper.testutils.bootstrap/bootstrap-services-with-config
bootstrap.clj: 13 puppetlabs.trapperkeeper.testutils.bootstrap/bootstrap-services-with-config
Thanks - V