gorilla-repl
gorilla-repl copied to clipboard
Complex exception is not shown at all in gorilla repl
I noticed a case where a complex exception is not shown in the Gorilla Repl, it just renders a red empty box in the output.
The real stacktrace is this,(copied from Emacs Cider repl:)
Show: Clojure Java REPL Tooling Duplicates All (0 frames hidden)
1. Unhandled clojure.lang.ExceptionInfo
Unfreezable type: class
eu.europa.efsa.classifydoi.SynonymTokenizerFactory
eu.europa.efsa.classifydoi.SynonymTokenizerFactory base factory=
com.aliasi.tokenizer.TokenNGramTokenizerFactory min ngram=1 max
ngram=3 base factory= com.aliasi.tokenizer.StopTokenizerFactory stop
set=[", safeti, ', parma, (, ), /,, ., /, ,, i, -, author, european,
food, efsa, ;, :] base factory= class
com.aliasi.tokenizer.PorterStemmerTokenizerFactory base factory=
com.aliasi.tokenizer.EnglishStopTokenizerFactory stop set=[to, they,
but, last, for, no, by, its, has, been, who, after, of, were, over,
more, are, his, inc, would, any, when, she, only, on, says, her, had,
be, such, so, or, he, and, not, that, co, than, will, some, this, we,
other, can, have, one, about, most, from, corp, mrs, was, because,
could, if, all, with, is, it, mr, a, ms, into, at, as, the, mz, in,
up, which, s, an, there, their, also, out] base factory=
com.aliasi.tokenizer.LowerCaseTokenizerFactory base factory=
com.aliasi.tokenizer.IndoEuropeanTokenizerFactory
{:type eu.europa.efsa.classifydoi.SynonymTokenizerFactory,
:as-str
"#<SynonymTokenizerFactory eu.europa.efsa.classifydoi.SynonymTokenizerFactory\n base factory=\n com.aliasi.tokenizer.TokenNGramTokenizerFactory\n min ngram=1\n max ngram=3\n base factory=\n com.aliasi.tokenizer.StopTokenizerFactory\n stop set=[\", safeti, ', parma, (, ), /,, ., /, ,, i, -, author, european, food, efsa, ;, :]\n base factory=\n class com.aliasi.tokenizer.PorterStemmerTokenizerFactory\n base factory=\n com.aliasi.tokenizer.EnglishStopTokenizerFactory\n stop set=[to, they, but, last, for, no, by, its, has, been, who, after, of, were, over, more, are, his, inc, would, any, when, she, only, on, says, her, had, be, such, so, or, he, and, not, that, co, than, will, some, this, we, other, can, have, one, about, most, from, corp, mrs, was, because, could, if, all, with, is, it, mr, a, ms, into, at, as, the, mz, in, up, which, s, an, there, their, also, out]\n base factory=\n com.aliasi.tokenizer.LowerCaseTokenizerFactory\n base factory=\n com.aliasi.tokenizer.IndoEuropeanTokenizerFactory>"}
core.clj: 4403 clojure.core/ex-info
nippy.clj: 337 taoensso.nippy/eval15726/fn
nippy.clj: 144 taoensso.nippy/eval15265/fn/G
nippy.clj: 358 taoensso.nippy/freeze-to-out!
RestFn.java: 425 clojure.lang.RestFn/invoke
nippy.clj: 373 taoensso.nippy/freeze
RestFn.java: 410 clojure.lang.RestFn/invoke
REPL: 1 classify-doi.report/eval16475
Compiler.java: 6703 clojure.lang.Compiler/eval
Compiler.java: 6666 clojure.lang.Compiler/eval
core.clj: 2927 clojure.core/eval
main.clj: 239 clojure.main/repl/read-eval-print/fn
main.clj: 239 clojure.main/repl/read-eval-print
main.clj: 257 clojure.main/repl/fn
main.clj: 257 clojure.main/repl
RestFn.java: 1523 clojure.lang.RestFn/invoke
interruptible_eval.clj: 67 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
AFn.java: 152 clojure.lang.AFn/applyToHelper
AFn.java: 144 clojure.lang.AFn/applyTo
core.clj: 624 clojure.core/apply
core.clj: 1862 clojure.core/with-bindings*
RestFn.java: 425 clojure.lang.RestFn/invoke
interruptible_eval.clj: 51 clojure.tools.nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 183 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
interruptible_eval.clj: 152 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
AFn.java: 22 clojure.lang.AFn/run
ThreadPoolExecutor.java: 1145 java.util.concurrent.ThreadPoolExecutor/runWorker
ThreadPoolExecutor.java: 615 java.util.concurrent.ThreadPoolExecutor$Worker/run
Thread.java: 745 java.lang.Thread/run
That's weird. Gorilla REPL just passes on whatever the nREPL server sends to it, so I'm not sure what could be happening here. I'll take a look and see if I can figure it out.