Repro stripped down from larger piece of code:
clj -Srepro -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.0-alpha6"}, org.clojure/test.check {:mvn/version "0.10.0-alpha3"}}}'
(require '[clojure.spec.alpha :as s])
(s/def ::m (s/keys :req [::coll]))
(s/def ::coll (s/cat :m (s/? ::m)))
(s/conform ::m {::coll []}) ; => #:user{:coll {}}
(s/exercise ::m) ; => StackOverflowError
Unlike in CLJ-2002, conform works fine here, but generation recurs for ever.