This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; Transactor function | |
{:db/doc "A transactor function that is analogous to `datomic.api/query'." | |
:db/id #db/id [:db.part/user] | |
:db/ident :fn/query | |
:db/fn | |
#db/fn | |
{:lang :clojure | |
:params [db query-map] | |
:code (->> query-map | |
:args | |
(cons db) | |
(assoc query-map :args) | |
d/query)}} | |
;;; Tx Data | |
[[:fn/query | |
{:query | |
{:find [?ex .], | |
:where | |
[[(new | |
datomic.impl.Exceptions$IllegalStateExceptionInfo | |
"FooBar" | |
{}) | |
?ex] | |
[(throw ?ex)]]}}]] | |
;; I expect this to throw an IllegalStateExceptionInfo. | |
;; It does when transacted against a mem connection (see mem stacktrace file) | |
;; but does not when transacted against a dev connection (see dev stacktrace file). | |
;; It looks like the root cause is being swallowed on the dev transactor. | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2. Unhandled java.util.concurrent.ExecutionException | |
java.lang.Exception: processing rule: (q__420 ?ex), message: processing | |
clause: {:argvars nil, :fn #object[datomic.extensions$eval83$fn__84 | |
0x21933876 "datomic.extensions$eval83$fn__84@21933876"], :clause [[new | |
datomic.impl.Exceptions$IllegalStateExceptionInfo "FooBar" {}] ?ex], :binds | |
[?ex], :bind-type :scalar, :needs-source false}, message: | |
java.lang.IllegalStateException: FooBar | |
promise.clj: 10 datomic.promise/throw-executionexception-if-throwable | |
promise.clj: 54 datomic.promise/settable-future/reify | |
core.clj: 2206 clojure.core/deref | |
boot.user1749244930106590866.clj: 185 com.broadbrim.procedure/eval62999/fn | |
boot.user1749244930106590866.clj: 185 com.broadbrim.procedure/eval62999 | |
Compiler.java: 6782 clojure.lang.Compiler/eval | |
Compiler.java: 6745 clojure.lang.Compiler/eval | |
core.clj: 3081 clojure.core/eval | |
main.clj: 240 clojure.main/repl/read-eval-print/fn | |
main.clj: 240 clojure.main/repl/read-eval-print | |
main.clj: 258 clojure.main/repl/fn | |
main.clj: 258 clojure.main/repl | |
RestFn.java: 1523 clojure.lang.RestFn/invoke | |
interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn | |
AFn.java: 152 clojure.lang.AFn/applyToHelper | |
AFn.java: 144 clojure.lang.AFn/applyTo | |
core.clj: 630 clojure.core/apply | |
core.clj: 1868 clojure.core/with-bindings* | |
RestFn.java: 425 clojure.lang.RestFn/invoke | |
interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate | |
interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn | |
interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn | |
AFn.java: 22 clojure.lang.AFn/run | |
ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker | |
ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run | |
Thread.java: 745 java.lang.Thread/run | |
1. Caused by java.lang.Exception | |
processing rule: (q__420 ?ex), message: processing clause: {:argvars nil, :fn | |
#object[datomic.extensions$eval83$fn__84 0x21933876 | |
"datomic.extensions$eval83$fn__84@21933876"], :clause [[new | |
datomic.impl.Exceptions$IllegalStateExceptionInfo "FooBar" {}] ?ex], :binds | |
[?ex], :bind-type :scalar, :needs-source false}, message: | |
java.lang.IllegalStateException: FooBar | |
NativeConstructorAccessorImpl.java: -2 sun.reflect.NativeConstructorAccessorImpl/newInstance0 | |
NativeConstructorAccessorImpl.java: 62 sun.reflect.NativeConstructorAccessorImpl/newInstance | |
DelegatingConstructorAccessorImpl.java: 45 sun.reflect.DelegatingConstructorAccessorImpl/newInstance | |
Constructor.java: 408 java.lang.reflect.Constructor/newInstance | |
Reflector.java: 180 clojure.lang.Reflector/invokeConstructor | |
boot.user1749244930106590866.clj: 172 com.broadbrim.procedure/eval62564/fn | |
error.clj: 135 datomic.error/deserialize-exception | |
peer.clj: 401 datomic.peer.Connection/notify_error | |
connector.clj: 169 datomic.connector/fn | |
MultiFn.java: 233 clojure.lang.MultiFn/invoke | |
connector.clj: 194 datomic.connector/create-hornet-notifier/fn/fn/fn/fn | |
connector.clj: 189 datomic.connector/create-hornet-notifier/fn/fn/fn | |
connector.clj: 187 datomic.connector/create-hornet-notifier/fn/fn | |
core.clj: 1916 clojure.core/binding-conveyor-fn/fn | |
AFn.java: 18 clojure.lang.AFn/call | |
FutureTask.java: 266 java.util.concurrent.FutureTask/run | |
ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker | |
ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run | |
Thread.java: 745 java.lang.Thread/run | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5. Unhandled java.util.concurrent.ExecutionException | |
java.lang.Exception: processing rule: (q__62998 ?ex), message: processing | |
clause: {:argvars nil, :fn #function[datomic.extensions/eval62684$fn--62685], | |
:clause [(new datomic.impl.Exceptions$IllegalStateExceptionInfo "FooBar" {}) | |
?ex], :binds [?ex], :bind-type :scalar, :needs-source false}, message: | |
java.lang.IllegalStateException: FooBar | |
promise.clj: 10 datomic.promise/throw-executionexception-if-throwable | |
promise.clj: 54 datomic.promise/settable-future/reify | |
core.clj: 2206 clojure.core/deref | |
boot.user1749244930106590866.clj: 185 com.broadbrim.procedure/eval62971/fn | |
boot.user1749244930106590866.clj: 185 com.broadbrim.procedure/eval62971 | |
Compiler.java: 6782 clojure.lang.Compiler/eval | |
Compiler.java: 6745 clojure.lang.Compiler/eval | |
core.clj: 3081 clojure.core/eval | |
main.clj: 240 clojure.main/repl/read-eval-print/fn | |
main.clj: 240 clojure.main/repl/read-eval-print | |
main.clj: 258 clojure.main/repl/fn | |
main.clj: 258 clojure.main/repl | |
RestFn.java: 1523 clojure.lang.RestFn/invoke | |
interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn | |
AFn.java: 152 clojure.lang.AFn/applyToHelper | |
AFn.java: 144 clojure.lang.AFn/applyTo | |
core.clj: 630 clojure.core/apply | |
core.clj: 1868 clojure.core/with-bindings* | |
RestFn.java: 425 clojure.lang.RestFn/invoke | |
interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate | |
interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn | |
interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn | |
AFn.java: 22 clojure.lang.AFn/run | |
ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker | |
ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run | |
Thread.java: 745 java.lang.Thread/run | |
4. Caused by java.lang.Exception | |
processing rule: (q__62998 ?ex), message: processing clause: {:argvars nil, | |
:fn #function[datomic.extensions/eval62684$fn--62685], :clause [(new | |
datomic.impl.Exceptions$IllegalStateExceptionInfo "FooBar" {}) ?ex], :binds | |
[?ex], :bind-type :scalar, :needs-source false}, message: | |
java.lang.IllegalStateException: FooBar | |
datalog.clj: 1453 datomic.datalog/eval-rule/fn | |
datalog.clj: 1433 datomic.datalog/eval-rule | |
datalog.clj: 1476 datomic.datalog/eval-query | |
datalog.clj: 1565 datomic.datalog/qsqr | |
datalog.clj: 1522 datomic.datalog/qsqr | |
query.clj: 711 datomic.query/q | |
query.clj: 740 datomic.query/query | |
api.clj: 39 datomic.api/query | |
boot.user1749244930106590866.clj: 172 ns-62993/eval62994/fn | |
function.clj: 31 datomic.function.Function/invoke | |
AFn.java: 156 clojure.lang.AFn/applyToHelper | |
function.clj: 40 datomic.function.Function/applyTo | |
core.clj: 632 clojure.core/apply | |
db.clj: 2475 datomic.db.ProcessExpander/inject | |
db.clj: 2372 datomic.db.ProcessInpoint/inject | |
db.clj: 2535 datomic.db/with-tx/inject-all/fn | |
PersistentVector.java: 333 clojure.lang.PersistentVector/reduce | |
core.clj: 6518 clojure.core/reduce | |
db.clj: 2535 datomic.db/with-tx/inject-all | |
db.clj: 2539 datomic.db/with-tx | |
peer.clj: 558 datomic.peer.LocalConnection/fn | |
peer.clj: 558 datomic.peer.LocalConnection/transactAsync | |
peer.clj: 550 datomic.peer.LocalConnection/transact | |
api.clj: 94 datomic.api/transact | |
boot.user1749244930106590866.clj: 185 com.broadbrim.procedure/eval62971/fn | |
boot.user1749244930106590866.clj: 185 com.broadbrim.procedure/eval62971 | |
Compiler.java: 6782 clojure.lang.Compiler/eval | |
Compiler.java: 6745 clojure.lang.Compiler/eval | |
core.clj: 3081 clojure.core/eval | |
main.clj: 240 clojure.main/repl/read-eval-print/fn | |
main.clj: 240 clojure.main/repl/read-eval-print | |
main.clj: 258 clojure.main/repl/fn | |
main.clj: 258 clojure.main/repl | |
RestFn.java: 1523 clojure.lang.RestFn/invoke | |
interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn | |
AFn.java: 152 clojure.lang.AFn/applyToHelper | |
AFn.java: 144 clojure.lang.AFn/applyTo | |
core.clj: 630 clojure.core/apply | |
core.clj: 1868 clojure.core/with-bindings* | |
RestFn.java: 425 clojure.lang.RestFn/invoke | |
interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate | |
interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn | |
interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn | |
AFn.java: 22 clojure.lang.AFn/run | |
ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker | |
ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run | |
Thread.java: 745 java.lang.Thread/run | |
3. Caused by java.lang.Exception | |
processing clause: {:argvars nil, :fn | |
#function[datomic.extensions/eval62684$fn--62685], :clause [(new | |
datomic.impl.Exceptions$IllegalStateExceptionInfo "FooBar" {}) ?ex], :binds | |
[?ex], :bind-type :scalar, :needs-source false}, message: | |
java.lang.IllegalStateException: FooBar | |
datalog.clj: 1399 datomic.datalog/eval-clause/fn | |
datalog.clj: 1362 datomic.datalog/eval-clause | |
datalog.clj: 1448 datomic.datalog/eval-rule/fn | |
datalog.clj: 1433 datomic.datalog/eval-rule | |
datalog.clj: 1476 datomic.datalog/eval-query | |
datalog.clj: 1565 datomic.datalog/qsqr | |
datalog.clj: 1522 datomic.datalog/qsqr | |
query.clj: 711 datomic.query/q | |
query.clj: 740 datomic.query/query | |
api.clj: 39 datomic.api/query | |
boot.user1749244930106590866.clj: 172 ns-62993/eval62994/fn | |
function.clj: 31 datomic.function.Function/invoke | |
AFn.java: 156 clojure.lang.AFn/applyToHelper | |
function.clj: 40 datomic.function.Function/applyTo | |
core.clj: 632 clojure.core/apply | |
db.clj: 2475 datomic.db.ProcessExpander/inject | |
db.clj: 2372 datomic.db.ProcessInpoint/inject | |
db.clj: 2535 datomic.db/with-tx/inject-all/fn | |
PersistentVector.java: 333 clojure.lang.PersistentVector/reduce | |
core.clj: 6518 clojure.core/reduce | |
db.clj: 2535 datomic.db/with-tx/inject-all | |
db.clj: 2539 datomic.db/with-tx | |
peer.clj: 558 datomic.peer.LocalConnection/fn | |
peer.clj: 558 datomic.peer.LocalConnection/transactAsync | |
peer.clj: 550 datomic.peer.LocalConnection/transact | |
api.clj: 94 datomic.api/transact | |
boot.user1749244930106590866.clj: 185 com.broadbrim.procedure/eval62971/fn | |
boot.user1749244930106590866.clj: 185 com.broadbrim.procedure/eval62971 | |
Compiler.java: 6782 clojure.lang.Compiler/eval | |
Compiler.java: 6745 clojure.lang.Compiler/eval | |
core.clj: 3081 clojure.core/eval | |
main.clj: 240 clojure.main/repl/read-eval-print/fn | |
main.clj: 240 clojure.main/repl/read-eval-print | |
main.clj: 258 clojure.main/repl/fn | |
main.clj: 258 clojure.main/repl | |
RestFn.java: 1523 clojure.lang.RestFn/invoke | |
interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn | |
AFn.java: 152 clojure.lang.AFn/applyToHelper | |
AFn.java: 144 clojure.lang.AFn/applyTo | |
core.clj: 630 clojure.core/apply | |
core.clj: 1868 clojure.core/with-bindings* | |
RestFn.java: 425 clojure.lang.RestFn/invoke | |
interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate | |
interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn | |
interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn | |
AFn.java: 22 clojure.lang.AFn/run | |
ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker | |
ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run | |
Thread.java: 745 java.lang.Thread/run | |
2. Caused by java.util.concurrent.ExecutionException | |
java.lang.IllegalStateException: FooBar | |
FutureTask.java: 122 java.util.concurrent.FutureTask/report | |
FutureTask.java: 192 java.util.concurrent.FutureTask/get | |
core.clj: 2186 clojure.core/deref-future | |
core.clj: 6683 clojure.core/future-call/reify | |
core.clj: 2206 clojure.core/deref | |
core.clj: 2624 clojure.core/map/fn | |
LazySeq.java: 40 clojure.lang.LazySeq/sval | |
LazySeq.java: 56 clojure.lang.LazySeq/seq | |
RT.java: 507 clojure.lang.RT/seq | |
core.clj: 137 clojure.core/seq | |
core.clj: 3009 clojure.core/dorun | |
datalog.clj: 212 datomic.datalog/join-project-coll-with | |
datalog.clj: 224 datomic.datalog/fn | |
datalog.clj: 52 datomic.datalog/fn/G | |
datalog.clj: 604 datomic.datalog.FnRel/join_project_with | |
datalog.clj: 117 datomic.datalog/join-project-coll | |
datalog.clj: 220 datomic.datalog/fn | |
datalog.clj: 52 datomic.datalog/fn/G | |
datalog.clj: 1372 datomic.datalog/eval-clause/fn | |
datalog.clj: 1362 datomic.datalog/eval-clause | |
datalog.clj: 1448 datomic.datalog/eval-rule/fn | |
datalog.clj: 1433 datomic.datalog/eval-rule | |
datalog.clj: 1476 datomic.datalog/eval-query | |
datalog.clj: 1565 datomic.datalog/qsqr | |
datalog.clj: 1522 datomic.datalog/qsqr | |
query.clj: 711 datomic.query/q | |
query.clj: 740 datomic.query/query | |
api.clj: 39 datomic.api/query | |
boot.user1749244930106590866.clj: 172 ns-62993/eval62994/fn | |
function.clj: 31 datomic.function.Function/invoke | |
AFn.java: 156 clojure.lang.AFn/applyToHelper | |
function.clj: 40 datomic.function.Function/applyTo | |
core.clj: 632 clojure.core/apply | |
db.clj: 2475 datomic.db.ProcessExpander/inject | |
db.clj: 2372 datomic.db.ProcessInpoint/inject | |
db.clj: 2535 datomic.db/with-tx/inject-all/fn | |
PersistentVector.java: 333 clojure.lang.PersistentVector/reduce | |
core.clj: 6518 clojure.core/reduce | |
db.clj: 2535 datomic.db/with-tx/inject-all | |
db.clj: 2539 datomic.db/with-tx | |
peer.clj: 558 datomic.peer.LocalConnection/fn | |
peer.clj: 558 datomic.peer.LocalConnection/transactAsync | |
peer.clj: 550 datomic.peer.LocalConnection/transact | |
api.clj: 94 datomic.api/transact | |
boot.user1749244930106590866.clj: 185 com.broadbrim.procedure/eval62971/fn | |
boot.user1749244930106590866.clj: 185 com.broadbrim.procedure/eval62971 | |
Compiler.java: 6782 clojure.lang.Compiler/eval | |
Compiler.java: 6745 clojure.lang.Compiler/eval | |
core.clj: 3081 clojure.core/eval | |
main.clj: 240 clojure.main/repl/read-eval-print/fn | |
main.clj: 240 clojure.main/repl/read-eval-print | |
main.clj: 258 clojure.main/repl/fn | |
main.clj: 258 clojure.main/repl | |
RestFn.java: 1523 clojure.lang.RestFn/invoke | |
interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn | |
AFn.java: 152 clojure.lang.AFn/applyToHelper | |
AFn.java: 144 clojure.lang.AFn/applyTo | |
core.clj: 630 clojure.core/apply | |
core.clj: 1868 clojure.core/with-bindings* | |
RestFn.java: 425 clojure.lang.RestFn/invoke | |
interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate | |
interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn | |
interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn | |
AFn.java: 22 clojure.lang.AFn/run | |
ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker | |
ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run | |
Thread.java: 745 java.lang.Thread/run | |
1. Caused by datomic.impl.Exceptions$IllegalStateExceptionInfo | |
FooBar | |
{} | |
boot.user1749244930106590866.clj: 172 datomic.extensions/eval62684/fn | |
datalog.clj: 604 datomic.datalog.FnRel/join_project_with | |
datalog.clj: 117 datomic.datalog/join-project-coll | |
datalog.clj: 220 datomic.datalog/fn | |
datalog.clj: 52 datomic.datalog/fn/G | |
datalog.clj: 1372 datomic.datalog/eval-clause/fn | |
datalog.clj: 1362 datomic.datalog/eval-clause | |
datalog.clj: 1448 datomic.datalog/eval-rule/fn | |
datalog.clj: 1433 datomic.datalog/eval-rule | |
datalog.clj: 1476 datomic.datalog/eval-query | |
datalog.clj: 1565 datomic.datalog/qsqr | |
datalog.clj: 1522 datomic.datalog/qsqr | |
query.clj: 711 datomic.query/q | |
query.clj: 740 datomic.query/query | |
api.clj: 39 datomic.api/query | |
boot.user1749244930106590866.clj: 172 ns-62993/eval62994/fn | |
function.clj: 31 datomic.function.Function/invoke | |
AFn.java: 156 clojure.lang.AFn/applyToHelper | |
function.clj: 40 datomic.function.Function/applyTo | |
core.clj: 632 clojure.core/apply | |
db.clj: 2475 datomic.db.ProcessExpander/inject | |
db.clj: 2372 datomic.db.ProcessInpoint/inject | |
db.clj: 2535 datomic.db/with-tx/inject-all/fn | |
PersistentVector.java: 333 clojure.lang.PersistentVector/reduce | |
core.clj: 6518 clojure.core/reduce | |
db.clj: 2535 datomic.db/with-tx/inject-all | |
db.clj: 2539 datomic.db/with-tx | |
peer.clj: 558 datomic.peer.LocalConnection/fn | |
peer.clj: 558 datomic.peer.LocalConnection/transactAsync | |
peer.clj: 550 datomic.peer.LocalConnection/transact | |
api.clj: 94 datomic.api/transact | |
boot.user1749244930106590866.clj: 185 com.broadbrim.procedure/eval62971/fn | |
boot.user1749244930106590866.clj: 185 com.broadbrim.procedure/eval62971 | |
Compiler.java: 6782 clojure.lang.Compiler/eval | |
Compiler.java: 6745 clojure.lang.Compiler/eval | |
core.clj: 3081 clojure.core/eval | |
main.clj: 240 clojure.main/repl/read-eval-print/fn | |
main.clj: 240 clojure.main/repl/read-eval-print | |
main.clj: 258 clojure.main/repl/fn | |
main.clj: 258 clojure.main/repl | |
RestFn.java: 1523 clojure.lang.RestFn/invoke | |
interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn | |
AFn.java: 152 clojure.lang.AFn/applyToHelper | |
AFn.java: 144 clojure.lang.AFn/applyTo | |
core.clj: 630 clojure.core/apply | |
core.clj: 1868 clojure.core/with-bindings* | |
RestFn.java: 425 clojure.lang.RestFn/invoke | |
interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate | |
interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn | |
interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn | |
AFn.java: 22 clojure.lang.AFn/run | |
ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker | |
ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run | |
Thread.java: 745 java.lang.Thread/run | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment