Skip to content

Cannot be run with -Dclojure.core.async.go-checking=true #288

@vemv

Description

@vemv

Context

Release 0.5.527 on 2019.11.12
Add system property clojure.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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions