diff --git a/CHANGES.md b/CHANGES.md index 9e781f3..c38ceec 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,10 @@ +## 3.6.6 -- UNRELEASED + +Improved `clj-commons.format.exceptions/parse-exception` to deal with exception text changes +in more recent JREs. + +[Closed Issues](https://github.com/clj-commons/pretty/milestone/65?closed=1) + ## 3.6.5 -- 17 Sep 2025 Add a missing bridge function to io.aviso.repl, `pretty-print-exception`. diff --git a/deps.edn b/deps.edn index 51b7e21..9699d3e 100644 --- a/deps.edn +++ b/deps.edn @@ -4,7 +4,7 @@ :aliases {:test ;; clj -X:test - {:extra-paths ["test"] + {:extra-paths ["test" "test-resources"] :extra-deps {criterium/criterium {:mvn/version "0.4.6"} org.clojure/core.async {:mvn/version "1.8.741"} nubank/matcher-combinators {:mvn/version "3.9.2"} diff --git a/src/clj_commons/format/exceptions.clj b/src/clj_commons/format/exceptions.clj index e812be0..817a21b 100644 --- a/src/clj_commons/format/exceptions.clj +++ b/src/clj_commons/format/exceptions.clj @@ -773,18 +773,43 @@ (def ^:private re-exception-start "The start of an exception, possibly the outermost exception." - #"(Caused by: )?(\w+(\.\w+)*): (.*)" - ; Group 2 - exception name - ; Group 4 - exception message - ) + #"(?ix) + (?:caused \s by: \s)? + (\w+(?:\.\w+)*) # Group 1 - exception name + (?: + : \s + (.*))? # Group 2 - exception message (or nil)") (def ^:private re-stack-frame ;; Sometimes the file name and line number are replaced with "Unknown source" - #"\s+at ([a-zA-Z_.$\d<>]+)\(((.+):(\d+))?.*\).*" - ; Group 1 - class and method name - ; Group 3 - file name (or nil) - ; Group 4 - line number (or nil) - ) + #"(?ix) + \s+ + at + \s + (?: + [a-z.]+/)? # java.base/ prefix + ([a-z_.$\d<>]+) # Group 1 - class and method name + \( + (?: + (?: + (.+) # Group 2 - file name + : + (\d+) # Group 3 - line number + )? + .* # match \"Native Method\" if no file/line + ) + \) + .* # Extra text (older JRE JAR and version data?) + ") + +(def ^:private re-more-frames + #"(?ix) + \s+ + \Q...\E + \s+ + \d+ + \s+ + (?:more|\Qcommon frames omitted\E)") (defn- add-message-text [exceptions line] @@ -815,7 +840,7 @@ (defn parse-exception "Given a chunk of text from an exception report (as with `.printStackTrace`), attempts to piece together the same information provided by [[analyze-exception]]. The result - is ready to pass to [[write-exception*]]. + is ready to pass to [[format-exception*]]. This code does not attempt to recreate properties associated with the exceptions; in most exception's cases, this is not necessarily written to the output. For clojure.lang.ExceptionInfo, @@ -844,7 +869,7 @@ (condp = state :start - (let [[_ _ exception-class-name _ exception-message] (re-matches re-exception-start line)] + (let [[_ exception-class-name exception-message] (re-matches re-exception-start line)] (when-not exception-class-name (throw (ex-info "Unable to parse start of exception." {:line line @@ -869,7 +894,7 @@ stack-trace-batch)) :stack-frame - (let [[_ class-and-method _ file-name line-number] (re-matches re-stack-frame line)] + (let [[_ class-and-method file-name line-number] (re-matches re-stack-frame line)] (if class-and-method (recur :stack-frame more-lines @@ -888,7 +913,7 @@ []))) :skip-more-line - (if (re-matches #"\s+\.\.\. \d+ (more|common frames omitted)" line) + (if (re-matches re-more-frames line) (recur :start more-lines exceptions stack-trace stack-trace-batch) (recur :start lines diff --git a/test-resources/nested-exception.txt b/test-resources/nested-exception.txt new file mode 100644 index 0000000..1023094 --- /dev/null +++ b/test-resources/nested-exception.txt @@ -0,0 +1,427 @@ +clojure.lang.ExceptionInfo: Error handling item + at common_kafka.interceptors.mock_errors$error_handling_item.invokeStatic(mock_errors.clj:50) + at common_kafka.interceptors.mock_errors$error_handling_item.invoke(mock_errors.clj:25) + at common_kafka.components.mock_consumer$eval68591$consume_raw_message_STAR___68596$fn__68600.invoke(mock_consumer.clj:152) + at common_kafka.components.mock_consumer$eval68591$consume_raw_message_STAR___68596.invoke(mock_consumer.clj:143) + at common_kafka.components.mock_consumer$eval68623$consume_raw_message__68628$fn__68632.invoke(mock_consumer.clj:158) + at common_kafka.components.mock_consumer$eval68623$consume_raw_message__68628.invoke(mock_consumer.clj:155) + at common_kafka.components.mock_consumer$consume_BANG_.invokeStatic(mock_consumer.clj:231) + at common_kafka.components.mock_consumer$consume_BANG_.invoke(mock_consumer.clj:226) + at common_kafka.components.mock_consumer$messages_loopback_watcher_consume_BANG_.invokeStatic(mock_consumer.clj:249) + at common_kafka.components.mock_consumer$messages_loopback_watcher_consume_BANG_.invoke(mock_consumer.clj:246) + at common_kafka.components.mock_consumer$consume_newly_produced_messages_BANG_.invokeStatic(mock_consumer.clj:289) + at common_kafka.components.mock_consumer$consume_newly_produced_messages_BANG_.invoke(mock_consumer.clj:260) + at common_kafka.components.mock_consumer$messages_loopback_watcher$fn__68859.invoke(mock_consumer.clj:297) + at clojure.lang.ARef.notifyWatches(ARef.java:81) + at clojure.lang.Atom.swap(Atom.java:69) + at clojure.core$swap_BANG_.invokeStatic(core.clj:2371) + at clojure.core$swap_BANG_.invoke(core.clj:2362) + at common_kafka.interceptors.mock_handler$eval67822$add_to_atom_BANG___67827$fn__67831.invoke(mock_handler.clj:44) + at common_kafka.interceptors.mock_handler$eval67822$add_to_atom_BANG___67827.invoke(mock_handler.clj:40) + at common_kafka.interceptors.mock_handler$eval67883$add_to_produced_BANG___67888$fn__67892.invoke(mock_handler.clj:52) + at common_kafka.interceptors.mock_handler$eval67883$add_to_produced_BANG___67888.invoke(mock_handler.clj:50) + at common_kafka.interceptors.mock_handler$producer_out$fn__67935.invoke(mock_handler.clj:64) + at io.pedestal.interceptor.chain$try_f.invokeStatic(chain.clj:54) + at io.pedestal.interceptor.chain$try_f.invoke(chain.clj:44) + at io.pedestal.interceptor.chain$leave_all_with_binding.invokeStatic(chain.clj:254) + at io.pedestal.interceptor.chain$leave_all_with_binding.invoke(chain.clj:237) + at io.pedestal.interceptor.chain$leave_all$fn__48447.invoke(chain.clj:268) + at clojure.lang.AFn.applyToHelper(AFn.java:152) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$with_bindings_STAR_.invokeStatic(core.clj:1990) + at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1990) + at clojure.lang.RestFn.invoke(RestFn.java:428) + at io.pedestal.interceptor.chain$leave_all.invokeStatic(chain.clj:266) + at io.pedestal.interceptor.chain$leave_all.invoke(chain.clj:260) + at io.pedestal.interceptor.chain$execute.invokeStatic(chain.clj:379) + at io.pedestal.interceptor.chain$execute.invoke(chain.clj:352) + at common_kafka.internals.interceptors$eval48507$execute__48512$fn__48513.invoke(interceptors.clj:25) + at common_kafka.internals.interceptors$eval48507$execute__48512.invoke(interceptors.clj:15) + at common_kafka.internals.interceptors$eval48559$leave__48564$fn__48565.invoke(interceptors.clj:39) + at common_kafka.internals.interceptors$eval48559$leave__48564.invoke(interceptors.clj:35) + at common_kafka.components.mock_producer$eval68275$produce_BANG___68280$fn__68287.invoke(mock_producer.clj:60) + at common_kafka.components.mock_producer$eval68275$produce_BANG___68280.invoke(mock_producer.clj:57) + at common_kafka.components.mock_producer.Producer.produce_BANG_(mock_producer.clj:100) + at balatro.diplomat.producer$eval98024$pr_checks_completed_transition_BANG___98029$fn__98030.invoke(producer.clj:145) + at balatro.diplomat.producer$eval98024$pr_checks_completed_transition_BANG___98029.invoke(producer.clj:139) + at balatro.controllers.github_event$eval104167$pull_request_handler_BANG___104172$fn__104179.invoke(github_event.clj:16) + at balatro.controllers.github_event$eval104167$pull_request_handler_BANG___104172.invoke(github_event.clj:7) + at balatro.diplomat.consumer$eval104644$pull_request_BANG___104649$fn__104650.invoke(consumer.clj:22) + at balatro.diplomat.consumer$eval104644$pull_request_BANG___104649.invoke(consumer.clj:20) + at common_kafka.components.consumer$adapt_handler_fn$fn__67075.invoke(consumer.clj:127) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at common_core.protocols.circuit_breaker$with_circuit_breaker$fn__43314$fn__43315.invoke(circuit_breaker.clj:53) + at common_core.fault_tolerance.circuit_breaker$eval43414$evaluate_command__43419$fn__43420.invoke(circuit_breaker.clj:68) + at common_core.fault_tolerance.circuit_breaker$eval43414$evaluate_command__43419.invoke(circuit_breaker.clj:65) + at common_core.fault_tolerance.circuit_breaker$eval43560$run1__43565$fn__43566$attempt_BANG___43567.invoke(circuit_breaker.clj:139) + at common_core.fault_tolerance.circuit_breaker$eval43560$run1__43565$fn__43566.invoke(circuit_breaker.clj:146) + at common_core.fault_tolerance.circuit_breaker$eval43560$run1__43565.invoke(circuit_breaker.clj:134) + at common_core.fault_tolerance.circuit_breaker$eval43588$run_STAR___43593$fn__43594.invoke(circuit_breaker.clj:150) + at common_core.fault_tolerance.circuit_breaker$eval43588$run_STAR___43593.invoke(circuit_breaker.clj:148) + at common_core.fault_tolerance.circuit_breaker.ChannelCircuitBreaker.run_STAR_(circuit_breaker.clj:269) + at common_core.protocols.circuit_breaker$with_circuit_breaker$fn__43314.doInvoke(circuit_breaker.clj:53) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at common_kafka.interceptors.handler$handle_one.invokeStatic(handler.clj:23) + at common_kafka.interceptors.handler$handle_one.invoke(handler.clj:9) + at clojure.core$partial$fn__5929.invoke(core.clj:2641) + at common_core.fault_tolerance.attempt$attempt_map$fn__44534.invoke(attempt.clj:63) + at clojure.lang.PersistentVector.reduce(PersistentVector.java:418) + at clojure.core$reduce.invokeStatic(core.clj:6964) + at clojure.core$reduce.invoke(core.clj:6947) + at common_core.fault_tolerance.attempt$attempt_map.invokeStatic(attempt.clj:60) + at common_core.fault_tolerance.attempt$attempt_map.invoke(attempt.clj:52) + at common_kafka.interceptors.handler$handler_in$fn__44977.invoke(handler.clj:42) + at io.pedestal.interceptor.chain$try_f.invokeStatic(chain.clj:54) + at io.pedestal.interceptor.chain$try_f.invoke(chain.clj:44) + at io.pedestal.interceptor.chain$process_all_with_binding.invokeStatic(chain.clj:171) + at io.pedestal.interceptor.chain$process_all_with_binding.invoke(chain.clj:146) + at io.pedestal.interceptor.chain$process_all$fn__48420.invoke(chain.clj:188) + at clojure.lang.AFn.applyToHelper(AFn.java:152) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$with_bindings_STAR_.invokeStatic(core.clj:1990) + at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1990) + at clojure.lang.RestFn.invoke(RestFn.java:428) + at io.pedestal.interceptor.chain$process_all.invokeStatic(chain.clj:186) + at io.pedestal.interceptor.chain$process_all.invoke(chain.clj:182) + at io.pedestal.interceptor.chain$enter_all.invokeStatic(chain.clj:235) + at io.pedestal.interceptor.chain$enter_all.invoke(chain.clj:229) + at io.pedestal.interceptor.chain$execute.invokeStatic(chain.clj:379) + at io.pedestal.interceptor.chain$execute.invoke(chain.clj:352) + at common_kafka.internals.interceptors$eval48507$execute__48512$fn__48513.invoke(interceptors.clj:25) + at common_kafka.internals.interceptors$eval48507$execute__48512.invoke(interceptors.clj:15) + at common_kafka.internals.interceptors$eval48533$enter__48538$fn__48539.invoke(interceptors.clj:32) + at common_kafka.internals.interceptors$eval48533$enter__48538.invoke(interceptors.clj:28) + at common_kafka.components.mock_consumer$eval68591$consume_raw_message_STAR___68596$fn__68600.invoke(mock_consumer.clj:148) + at common_kafka.components.mock_consumer$eval68591$consume_raw_message_STAR___68596.invoke(mock_consumer.clj:143) + at common_kafka.components.mock_consumer$eval68623$consume_raw_message__68628$fn__68632.invoke(mock_consumer.clj:158) + at common_kafka.components.mock_consumer$eval68623$consume_raw_message__68628.invoke(mock_consumer.clj:155) + at common_kafka.components.mock_consumer$consume_BANG_.invokeStatic(mock_consumer.clj:231) + at common_kafka.components.mock_consumer$consume_BANG_.invoke(mock_consumer.clj:226) + at state_flow.helpers.component.kafka$consume_message$fn__69057.invoke(kafka.clj:55) + at state_flow.helpers.core$with_resource$___42798.doInvoke(core.clj:48) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at cats.core$bind$fn__39946.invoke(core.cljc:97) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:50) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:47) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:50) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:47) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:50) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:50) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at cats.monad.state$run.invokeStatic(state.cljc:147) + at cats.monad.state$run.invoke(state.cljc:136) + at state_flow.core$run.invokeStatic(core.clj:324) + at state_flow.core$run.invoke(core.clj:316) + at clojure.lang.Var.invoke(Var.java:390) + at state_flow.helpers.runners$run_with_fn_validation$fn121504__121514$fn__121515.invoke(runners.clj:9) + at state_flow.helpers.runners$run_with_fn_validation$fn121504__121514.invoke(runners.clj:8) + at state_flow.helpers.runners$run_with_fn_validation.invokeStatic(runners.clj:8) + at state_flow.helpers.runners$run_with_fn_validation.invoke(runners.clj:5) + at integration.pull_request_closed_tests$fn__132094$___132125$___132134$___132163$fn__132200.invoke(pull_request_closed_tests.clj:78) + at integration.pull_request_closed_tests$fn__132094$___132125$___132134$___132163$fn__132170.invoke(pull_request_closed_tests.clj:78) + at integration.pull_request_closed_tests$fn__132094$___132125$___132134$___132163.doInvoke(pull_request_closed_tests.clj:78) + at clojure.lang.RestFn.invoke(RestFn.java:424) + at clojure.core$partial$fn__5929.invoke(core.clj:2641) + at cats.core$bind$fn__39946.invoke(core.cljc:97) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:50) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:50) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:50) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:50) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:50) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:50) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:47) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:50) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at state_flow.state$reify__42204$fn__42212.invoke(state.clj:50) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at cats.monad.exception$wrap$fn__40403$func__40385__auto____40404.invoke(exception.cljc:250) + at cats.monad.exception$exec_try_on.invokeStatic(exception.cljc:197) + at cats.monad.exception$exec_try_on.invoke(exception.cljc:193) + at cats.monad.exception$wrap$fn__40403.doInvoke(exception.cljc:250) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at state_flow.state$error_catching_state$fn__42197.invoke(state.clj:20) + at cats.monad.state$run.invokeStatic(state.cljc:147) + at cats.monad.state$run.invoke(state.cljc:136) + at state_flow.core$run.invokeStatic(core.clj:324) + at state_flow.core$run.invoke(core.clj:316) + at clojure.lang.Var.invoke(Var.java:390) + at state_flow.helpers.runners$run_with_fn_validation$fn121504__121514$fn__121515.invoke(runners.clj:9) + at state_flow.helpers.runners$run_with_fn_validation$fn121504__121514.invoke(runners.clj:8) + at state_flow.helpers.runners$run_with_fn_validation.invokeStatic(runners.clj:8) + at state_flow.helpers.runners$run_with_fn_validation.invoke(runners.clj:5) + at state_flow.core$run_STAR_.invokeStatic(core.clj:359) + at state_flow.core$run_STAR_.invoke(core.clj:327) + at integration.pull_request_closed_tests$fn__132094.invokeStatic(pull_request_closed_tests.clj:73) + at integration.pull_request_closed_tests$fn__132094.invoke(pull_request_closed_tests.clj:73) + at clojure.test$test_var$fn__5891.invoke(test.clj:717) + at clojure.test$test_var.invokeStatic(test.clj:717) + at clojure.test$test_var.invoke(test.clj:708) + at clojure.test$test_vars$fn__5917$fn__5922.invoke(test.clj:735) + at clojure.test$default_fixture.invokeStatic(test.clj:687) + at clojure.test$default_fixture.invoke(test.clj:683) + at clojure.test$test_vars$fn__5917.invoke(test.clj:735) + at clojure.test$default_fixture.invokeStatic(test.clj:687) + at clojure.test$default_fixture.invoke(test.clj:683) + at clojure.test$test_vars.invokeStatic(test.clj:731) + at clojure.test$test_vars.invoke(test.clj:723) + at clojure.test$test_all_vars.invokeStatic(test.clj:741) + at clojure.test$test_all_vars.invoke(test.clj:737) + at clojure.test$test_ns.invokeStatic(test.clj:760) + at clojure.test$test_ns.invoke(test.clj:743) + at clojure.core$map$fn__5956.invoke(core.clj:2772) + at clojure.lang.LazySeq.force(LazySeq.java:50) + at clojure.lang.LazySeq.realize(LazySeq.java:89) + at clojure.lang.LazySeq.seq(LazySeq.java:106) + at clojure.lang.Cons.next(Cons.java:41) + at clojure.lang.RT.boundedLength(RT.java:1810) + at clojure.lang.RestFn.applyTo(RestFn.java:133) + at clojure.core$apply.invokeStatic(core.clj:669) + at clojure.core$apply.invoke(core.clj:662) + at clojure.test$run_tests.invokeStatic(test.clj:775) + at clojure.test$run_tests.doInvoke(test.clj:768) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at user$eval132510.invokeStatic(form-init4554046933383143825.clj:1) + at user$eval132510.invoke(form-init4554046933383143825.clj:1) + at clojure.lang.Compiler.eval(Compiler.java:7751) + at clojure.lang.Compiler.eval(Compiler.java:7706) + at clojure.core$eval.invokeStatic(core.clj:3232) + at clojure.core$eval.invoke(core.clj:3228) + at nrepl.middleware.interruptible_eval$evaluate$fn__1278$fn__1279.invoke(interruptible_eval.clj:87) + at clojure.lang.AFn.applyToHelper(AFn.java:152) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$with_bindings_STAR_.invokeStatic(core.clj:1990) + at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1990) + at clojure.lang.RestFn.invoke(RestFn.java:428) + at nrepl.middleware.interruptible_eval$evaluate$fn__1278.invoke(interruptible_eval.clj:87) + at clojure.main$repl$read_eval_print__9248$fn__9251.invoke(main.clj:437) + at clojure.main$repl$read_eval_print__9248.invoke(main.clj:437) + at clojure.main$repl$fn__9257.invoke(main.clj:459) + at clojure.main$repl.invokeStatic(main.clj:459) + at clojure.main$repl.doInvoke(main.clj:368) + at clojure.lang.RestFn.invoke(RestFn.java:1526) + at nrepl.middleware.interruptible_eval$evaluate.invokeStatic(interruptible_eval.clj:84) + at nrepl.middleware.interruptible_eval$evaluate.invoke(interruptible_eval.clj:56) + at nrepl.middleware.interruptible_eval$interruptible_eval$fn__1311$fn__1315.invoke(interruptible_eval.clj:152) + at clojure.lang.AFn.run(AFn.java:22) + at nrepl.middleware.session$session_exec$main_loop__1381$fn__1385.invoke(session.clj:218) + at nrepl.middleware.session$session_exec$main_loop__1381.invoke(session.clj:217) + at clojure.lang.AFn.run(AFn.java:22) + at java.base/java.lang.Thread.run(Thread.java:1447) +Caused by: clojure.lang.ExceptionInfo: GitHub API request to /repos/nubank/giraffe/pulls/123 returned status 2000 + at common_github.components.github_api.impl$unhandled_response.invokeStatic(impl.clj:86) + at common_github.components.github_api.impl$unhandled_response.invoke(impl.clj:71) + at balatro.components.github_api$eval96129$get_pr_BANG___96134$fn__96135$fn__96137.invoke(github_api.clj:87) + at common_github.components.github_api.impl$request_loop.invokeStatic(impl.clj:131) + at common_github.components.github_api.impl$request_loop.invoke(impl.clj:92) + at balatro.components.github_api$eval96129$get_pr_BANG___96134$fn__96135.invoke(github_api.clj:87) + at balatro.components.github_api$eval96129$get_pr_BANG___96134.invoke(github_api.clj:83) + at balatro.components.github_api$eval96353$pr_checks_BANG___96358$fn__96359.invoke(github_api.clj:228) + at balatro.components.github_api$eval96353$pr_checks_BANG___96358.invoke(github_api.clj:224) + at balatro.diplomat.github$eval96773$pr_checks_status__96778$fn__96779.invoke(github.clj:53) + at balatro.diplomat.github$eval96773$pr_checks_status__96778.invoke(github.clj:48) + at balatro.controllers.pull_request$eval104270$pr_checks_completed_BANG___104275$fn__104279.invoke(pull_request.clj:56) + at balatro.controllers.pull_request$eval104270$pr_checks_completed_BANG___104275.invoke(pull_request.clj:46) + at balatro.controllers.pull_request$eval104365$fn__104366.invoke(pull_request.clj:137) + at clojure.lang.MultiFn.invoke(MultiFn.java:239) + at balatro.controllers.pull_request$eval104404$transition_pr_BANG___104409$fn__104413.invoke(pull_request.clj:163) + at balatro.controllers.pull_request$eval104404$transition_pr_BANG___104409.invoke(pull_request.clj:158) + at balatro.controllers.pull_request$eval104468$transition_pr_by_id_BANG___104473$fn__104474.invoke(pull_request.clj:190) + at balatro.controllers.pull_request$eval104468$transition_pr_by_id_BANG___104473.invoke(pull_request.clj:184) + at balatro.diplomat.consumer$eval104673$transition_pr_BANG___104678$fn__104679.invoke(consumer.clj:48) + at balatro.diplomat.consumer$eval104673$transition_pr_BANG___104678.invoke(consumer.clj:44) + at common_kafka.components.consumer$adapt_handler_fn$fn__67075.invoke(consumer.clj:127) + at clojure.lang.AFn.applyToHelper(AFn.java:154) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$apply.invoke(core.clj:662) + at common_core.protocols.circuit_breaker$with_circuit_breaker$fn__43314$fn__43315.invoke(circuit_breaker.clj:53) + at common_core.fault_tolerance.circuit_breaker$eval43414$evaluate_command__43419$fn__43420.invoke(circuit_breaker.clj:68) + at common_core.fault_tolerance.circuit_breaker$eval43414$evaluate_command__43419.invoke(circuit_breaker.clj:65) + at common_core.fault_tolerance.circuit_breaker$eval43560$run1__43565$fn__43566$attempt_BANG___43567.invoke(circuit_breaker.clj:139) + at common_core.fault_tolerance.circuit_breaker$eval43560$run1__43565$fn__43566.invoke(circuit_breaker.clj:146) + at common_core.fault_tolerance.circuit_breaker$eval43560$run1__43565.invoke(circuit_breaker.clj:134) + at common_core.fault_tolerance.circuit_breaker$eval43588$run_STAR___43593$fn__43594.invoke(circuit_breaker.clj:150) + at common_core.fault_tolerance.circuit_breaker$eval43588$run_STAR___43593.invoke(circuit_breaker.clj:148) + at common_core.fault_tolerance.circuit_breaker.ChannelCircuitBreaker.run_STAR_(circuit_breaker.clj:269) + at common_core.protocols.circuit_breaker$with_circuit_breaker$fn__43314.doInvoke(circuit_breaker.clj:53) + at clojure.lang.RestFn.invoke(RestFn.java:411) + at common_kafka.interceptors.handler$handle_one.invokeStatic(handler.clj:23) + at common_kafka.interceptors.handler$handle_one.invoke(handler.clj:9) + at clojure.core$partial$fn__5929.invoke(core.clj:2641) + at common_core.fault_tolerance.attempt$attempt_map$fn__44534.invoke(attempt.clj:63) + at clojure.lang.PersistentVector.reduce(PersistentVector.java:418) + at clojure.core$reduce.invokeStatic(core.clj:6964) + at clojure.core$reduce.invoke(core.clj:6947) + at common_core.fault_tolerance.attempt$attempt_map.invokeStatic(attempt.clj:60) + at common_core.fault_tolerance.attempt$attempt_map.invoke(attempt.clj:52) + at common_kafka.interceptors.handler$handler_in$fn__44977.invoke(handler.clj:42) + at io.pedestal.interceptor.chain$try_f.invokeStatic(chain.clj:54) + at io.pedestal.interceptor.chain$try_f.invoke(chain.clj:44) + at io.pedestal.interceptor.chain$process_all_with_binding.invokeStatic(chain.clj:171) + at io.pedestal.interceptor.chain$process_all_with_binding.invoke(chain.clj:146) + at io.pedestal.interceptor.chain$process_all$fn__48420.invoke(chain.clj:188) + at clojure.lang.AFn.applyToHelper(AFn.java:152) + at clojure.lang.AFn.applyTo(AFn.java:144) + at clojure.core$apply.invokeStatic(core.clj:667) + at clojure.core$with_bindings_STAR_.invokeStatic(core.clj:1990) + at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1990) + at clojure.lang.RestFn.invoke(RestFn.java:428) + at io.pedestal.interceptor.chain$process_all.invokeStatic(chain.clj:186) + at io.pedestal.interceptor.chain$process_all.invoke(chain.clj:182) + at io.pedestal.interceptor.chain$enter_all.invokeStatic(chain.clj:235) + at io.pedestal.interceptor.chain$enter_all.invoke(chain.clj:229) + at io.pedestal.interceptor.chain$execute.invokeStatic(chain.clj:379) + at io.pedestal.interceptor.chain$execute.invoke(chain.clj:352) + at common_kafka.internals.interceptors$eval48507$execute__48512$fn__48513.invoke(interceptors.clj:25) + at common_kafka.internals.interceptors$eval48507$execute__48512.invoke(interceptors.clj:15) + at common_kafka.internals.interceptors$eval48533$enter__48538$fn__48539.invoke(interceptors.clj:32) + at common_kafka.internals.interceptors$eval48533$enter__48538.invoke(interceptors.clj:28) + at common_kafka.components.mock_consumer$eval68591$consume_raw_message_STAR___68596$fn__68600.invoke(mock_consumer.clj:148) + ... 352 common frames omitted diff --git a/test-resources/overflow-exception.txt b/test-resources/overflow-exception.txt new file mode 100644 index 0000000..0de9807 --- /dev/null +++ b/test-resources/overflow-exception.txt @@ -0,0 +1,1025 @@ +java.lang.StackOverflowError + at clojure.lang.Numbers$LongOps.inc(Numbers.java:596) + at clojure.lang.Numbers.inc(Numbers.java:139) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) + at user$y.invokeStatic(NO_SOURCE_FILE:1) + at user$y.invoke(NO_SOURCE_FILE:1) + at user$x.invokeStatic(NO_SOURCE_FILE:1) + at user$x.invoke(NO_SOURCE_FILE:1) diff --git a/test/clj_commons/exception_test.clj b/test/clj_commons/exception_test.clj index 514d185..b2c2cf2 100644 --- a/test/clj_commons/exception_test.clj +++ b/test/clj_commons/exception_test.clj @@ -1,7 +1,8 @@ (ns clj-commons.exception-test (:require [clj-commons.test-common :as tc] + [clojure.java.io :as io] + [clojure.string :as string] [clojure.test :refer [deftest is use-fixtures testing]] - [clojure.string :as str] [matcher-combinators.matchers :as m] [clj-commons.ansi :refer [*color-enabled*]] [clj-commons.pretty-impl :refer [csi]] @@ -38,10 +39,10 @@ (is (= with-fonts-but-no-color with-color-but-no-fonts)) - (is (not (str/includes? with-fonts-but-no-color csi))))) + (is (not (string/includes? with-fonts-but-no-color csi))))) (defn parse [& text-lines] - (let [text (str/join \newline text-lines)] + (let [text (string/join \newline text-lines)] (parse-exception text nil))) (deftest parse-exceptions @@ -586,7 +587,6 @@ failed with ABC123" "\tat com.datastax.shaded.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) ~store-service.jar:na" "\t... 3 common frames omitted")))) - (deftest write-exceptions-with-nil-data (testing "Does not fail with a nil ex-info map key" (is (re-find #"nil.*nil" @@ -603,3 +603,203 @@ failed with ABC123" "clojure.core/apply" "clojure.test/run-tests"}) (set frame-names))))) + +(defn parse-and-format + [file] + (binding [*color-enabled* false] + (-> file + io/resource + slurp + (parse-exception nil) + (f/format-exception* nil) + string/split-lines))) + +(deftest parse-no-message-exception + (is (match? ["user/x REPL Input ┐ (repeats 255 times)" + "user/y REPL Input ┘" + "user/x REPL Input" + " ..." + "java.lang.StackOverflowError:"] + (parse-and-format "overflow-exception.txt")))) + +(deftest parse-nested-exception + + (is (match? [" ..." + " clojure.core/map/fn core.clj:2772" + " ..." + " clojure.test/test-vars test.clj: 731" + " ..." + " clojure.test/test-vars/fn test.clj: 735" + " ..." + " clojure.test/test-vars/fn{x2} test.clj: 735" + " clojure.test/test-var test.clj: 717" + " clojure.test/test-var/fn test.clj: 717" + " integration.pull-request-closed-tests/fn pull_request_closed_tests.clj: 73" + " state-flow.core/run* core.clj: 359" + " state-flow.helpers.runners/run-with-fn-validation runners.clj: 8" + " state-flow.helpers.runners/run-with-fn-validation/fn121504 runners.clj: 8" + " state-flow.helpers.runners/run-with-fn-validation/fn121504/fn runners.clj: 9" + " ..." + " state-flow.core/run core.clj: 324" + " cats.monad.state/run state.cljc: 147" + " state-flow.state/error-catching-state/fn state.clj: 20 ┐ (repeats 2 times)" + " cats.monad.exception/wrap/fn exception.cljc: 250 │" + " cats.monad.exception/exec-try-on exception.cljc: 197 │" + " cats.monad.exception/wrap/fn/func--auto-- exception.cljc: 250 │" + " state-flow.state/reify/fn state.clj: 50 ┘" + " state-flow.state/error-catching-state/fn state.clj: 20" + " cats.monad.exception/wrap/fn exception.cljc: 250" + " cats.monad.exception/exec-try-on exception.cljc: 197" + " cats.monad.exception/wrap/fn/func--auto-- exception.cljc: 250" + " state-flow.state/reify/fn state.clj: 47" + " state-flow.state/error-catching-state/fn state.clj: 20 ┐ (repeats 6 times)" + " cats.monad.exception/wrap/fn exception.cljc: 250 │" + " cats.monad.exception/exec-try-on exception.cljc: 197 │" + " cats.monad.exception/wrap/fn/func--auto-- exception.cljc: 250 │" + " state-flow.state/reify/fn state.clj: 50 ┘" + " cats.core/bind/fn core.cljc: 97" + " clojure.core/partial/fn core.clj:2641" + " integration.pull-request-closed-tests/fn/-{x3} pull_request_closed_tests.clj: 78" + " integration.pull-request-closed-tests/fn/-{x3}/fn pull_request_closed_tests.clj: 78 ─ (repeats 2 times)" + " state-flow.helpers.runners/run-with-fn-validation runners.clj: 8" + " state-flow.helpers.runners/run-with-fn-validation/fn121504 runners.clj: 8" + " state-flow.helpers.runners/run-with-fn-validation/fn121504/fn runners.clj: 9" + " ..." + " state-flow.core/run core.clj: 324" + " cats.monad.state/run state.cljc: 147" + " state-flow.state/error-catching-state/fn state.clj: 20 ┐ (repeats 2 times)" + " cats.monad.exception/wrap/fn exception.cljc: 250 │" + " cats.monad.exception/exec-try-on exception.cljc: 197 │" + " cats.monad.exception/wrap/fn/func--auto-- exception.cljc: 250 │" + " state-flow.state/reify/fn state.clj: 50 ┘" + " state-flow.state/error-catching-state/fn state.clj: 20 ┐ (repeats 2 times)" + " cats.monad.exception/wrap/fn exception.cljc: 250 │" + " cats.monad.exception/exec-try-on exception.cljc: 197 │" + " cats.monad.exception/wrap/fn/func--auto-- exception.cljc: 250 │" + " state-flow.state/reify/fn state.clj: 47 │" + " state-flow.state/error-catching-state/fn state.clj: 20 │" + " cats.monad.exception/wrap/fn exception.cljc: 250 │" + " cats.monad.exception/exec-try-on exception.cljc: 197 │" + " cats.monad.exception/wrap/fn/func--auto-- exception.cljc: 250 │" + " state-flow.state/reify/fn state.clj: 50 ┘" + " cats.core/bind/fn core.cljc: 97" + " state-flow.helpers.core/with-resource/- core.clj: 48" + " state-flow.helpers.component.kafka/consume-message/fn kafka.clj: 55" + " common-kafka.components.mock-consumer/consume! mock_consumer.clj: 231" + " common-kafka.components.mock-consumer/eval68623/consume-raw-message mock_consumer.clj: 155" + " common-kafka.components.mock-consumer/eval68623/consume-raw-message/fn mock_consumer.clj: 158" + " common-kafka.components.mock-consumer/eval68591/consume-raw-message* mock_consumer.clj: 143" + " common-kafka.components.mock-consumer/eval68591/consume-raw-message*/fn mock_consumer.clj: 148" + " common-kafka.internals.interceptors/eval48533/enter interceptors.clj: 28" + " common-kafka.internals.interceptors/eval48533/enter/fn interceptors.clj: 32" + " common-kafka.internals.interceptors/eval48507/execute interceptors.clj: 15" + " common-kafka.internals.interceptors/eval48507/execute/fn interceptors.clj: 25" + " io.pedestal.interceptor.chain/execute chain.clj: 379" + " io.pedestal.interceptor.chain/enter-all chain.clj: 235" + " io.pedestal.interceptor.chain/process-all chain.clj: 186" + " io.pedestal.interceptor.chain/process-all/fn chain.clj: 188" + " io.pedestal.interceptor.chain/process-all-with-binding chain.clj: 171" + " io.pedestal.interceptor.chain/try-f chain.clj: 54" + " common-kafka.interceptors.handler/handler-in/fn handler.clj: 42" + " common-core.fault-tolerance.attempt/attempt-map attempt.clj: 60" + " clojure.core/reduce core.clj:6964" + " ..." + " common-core.fault-tolerance.attempt/attempt-map/fn attempt.clj: 63" + " clojure.core/partial/fn core.clj:2641" + " common-kafka.interceptors.handler/handle-one handler.clj: 23" + " common-core.protocols.circuit-breaker/with-circuit-breaker/fn circuit_breaker.clj: 53" + " common-core.fault-tolerance.circuit-breaker.ChannelCircuitBreaker/run* circuit_breaker.clj: 269" + " common-core.fault-tolerance.circuit-breaker/eval43588/run* circuit_breaker.clj: 148" + " common-core.fault-tolerance.circuit-breaker/eval43588/run*/fn circuit_breaker.clj: 150" + " common-core.fault-tolerance.circuit-breaker/eval43560/run1 circuit_breaker.clj: 134" + " common-core.fault-tolerance.circuit-breaker/eval43560/run1/fn circuit_breaker.clj: 146" + " common-core.fault-tolerance.circuit-breaker/eval43560/run1/fn/attempt! circuit_breaker.clj: 139" + " common-core.fault-tolerance.circuit-breaker/eval43414/evaluate-command circuit_breaker.clj: 65" + "common-core.fault-tolerance.circuit-breaker/eval43414/evaluate-command/fn circuit_breaker.clj: 68" + " common-core.protocols.circuit-breaker/with-circuit-breaker/fn{x2} circuit_breaker.clj: 53" + " common-kafka.components.consumer/adapt-handler-fn/fn consumer.clj: 127" + " balatro.diplomat.consumer/eval104644/pull-request! consumer.clj: 20" + " balatro.diplomat.consumer/eval104644/pull-request!/fn consumer.clj: 22" + " balatro.controllers.github-event/eval104167/pull-request-handler! github_event.clj: 7" + " balatro.controllers.github-event/eval104167/pull-request-handler!/fn github_event.clj: 16" + " balatro.diplomat.producer/eval98024/pr-checks-completed-transition! producer.clj: 139" + " balatro.diplomat.producer/eval98024/pr-checks-completed-transition!/fn producer.clj: 145" + " common-kafka.components.mock-producer.Producer/produce! mock_producer.clj: 100" + " common-kafka.components.mock-producer/eval68275/produce! mock_producer.clj: 57" + " common-kafka.components.mock-producer/eval68275/produce!/fn mock_producer.clj: 60" + " common-kafka.internals.interceptors/eval48559/leave interceptors.clj: 35" + " common-kafka.internals.interceptors/eval48559/leave/fn interceptors.clj: 39" + " common-kafka.internals.interceptors/eval48507/execute interceptors.clj: 15" + " common-kafka.internals.interceptors/eval48507/execute/fn interceptors.clj: 25" + " io.pedestal.interceptor.chain/execute chain.clj: 379" + " io.pedestal.interceptor.chain/leave-all chain.clj: 266" + " io.pedestal.interceptor.chain/leave-all/fn chain.clj: 268" + " io.pedestal.interceptor.chain/leave-all-with-binding chain.clj: 254" + " io.pedestal.interceptor.chain/try-f chain.clj: 54" + " common-kafka.interceptors.mock-handler/producer-out/fn mock_handler.clj: 64" + " common-kafka.interceptors.mock-handler/eval67883/add-to-produced! mock_handler.clj: 50" + " common-kafka.interceptors.mock-handler/eval67883/add-to-produced!/fn mock_handler.clj: 52" + " common-kafka.interceptors.mock-handler/eval67822/add-to-atom! mock_handler.clj: 40" + " common-kafka.interceptors.mock-handler/eval67822/add-to-atom!/fn mock_handler.clj: 44" + " clojure.core/swap! core.clj:2371" + " ..." + " common-kafka.components.mock-consumer/messages-loopback-watcher/fn mock_consumer.clj: 297" + " common-kafka.components.mock-consumer/consume-newly-produced-messages! mock_consumer.clj: 289" + " common-kafka.components.mock-consumer/messages-loopback-watcher-consume! mock_consumer.clj: 249" + " common-kafka.components.mock-consumer/consume! mock_consumer.clj: 231" + " common-kafka.components.mock-consumer/eval68623/consume-raw-message mock_consumer.clj: 155" + " common-kafka.components.mock-consumer/eval68623/consume-raw-message/fn mock_consumer.clj: 158" + " common-kafka.components.mock-consumer/eval68591/consume-raw-message* mock_consumer.clj: 143" + " common-kafka.components.mock-consumer/eval68591/consume-raw-message*/fn mock_consumer.clj: 152" + " common-kafka.interceptors.mock-errors/error-handling-item mock_errors.clj: 50" + " common-kafka.components.mock-consumer/eval68591/consume-raw-message*/fn mock_consumer.clj: 148" + " common-kafka.internals.interceptors/eval48533/enter interceptors.clj: 28" + " common-kafka.internals.interceptors/eval48533/enter/fn interceptors.clj: 32" + " common-kafka.internals.interceptors/eval48507/execute interceptors.clj: 15" + " common-kafka.internals.interceptors/eval48507/execute/fn interceptors.clj: 25" + " io.pedestal.interceptor.chain/execute chain.clj: 379" + " io.pedestal.interceptor.chain/enter-all chain.clj: 235" + " io.pedestal.interceptor.chain/process-all chain.clj: 186" + " io.pedestal.interceptor.chain/process-all/fn chain.clj: 188" + " io.pedestal.interceptor.chain/process-all-with-binding chain.clj: 171" + " io.pedestal.interceptor.chain/try-f chain.clj: 54" + " common-kafka.interceptors.handler/handler-in/fn handler.clj: 42" + " common-core.fault-tolerance.attempt/attempt-map attempt.clj: 60" + " clojure.core/reduce core.clj:6964" + " ..." + " common-core.fault-tolerance.attempt/attempt-map/fn attempt.clj: 63" + " clojure.core/partial/fn core.clj:2641" + " common-kafka.interceptors.handler/handle-one handler.clj: 23" + " common-core.protocols.circuit-breaker/with-circuit-breaker/fn circuit_breaker.clj: 53" + " common-core.fault-tolerance.circuit-breaker.ChannelCircuitBreaker/run* circuit_breaker.clj: 269" + " common-core.fault-tolerance.circuit-breaker/eval43588/run* circuit_breaker.clj: 148" + " common-core.fault-tolerance.circuit-breaker/eval43588/run*/fn circuit_breaker.clj: 150" + " common-core.fault-tolerance.circuit-breaker/eval43560/run1 circuit_breaker.clj: 134" + " common-core.fault-tolerance.circuit-breaker/eval43560/run1/fn circuit_breaker.clj: 146" + " common-core.fault-tolerance.circuit-breaker/eval43560/run1/fn/attempt! circuit_breaker.clj: 139" + " common-core.fault-tolerance.circuit-breaker/eval43414/evaluate-command circuit_breaker.clj: 65" + "common-core.fault-tolerance.circuit-breaker/eval43414/evaluate-command/fn circuit_breaker.clj: 68" + " common-core.protocols.circuit-breaker/with-circuit-breaker/fn{x2} circuit_breaker.clj: 53" + " common-kafka.components.consumer/adapt-handler-fn/fn consumer.clj: 127" + " balatro.diplomat.consumer/eval104673/transition-pr! consumer.clj: 44" + " balatro.diplomat.consumer/eval104673/transition-pr!/fn consumer.clj: 48" + " balatro.controllers.pull-request/eval104468/transition-pr-by-id! pull_request.clj: 184" + " balatro.controllers.pull-request/eval104468/transition-pr-by-id!/fn pull_request.clj: 190" + " balatro.controllers.pull-request/eval104404/transition-pr! pull_request.clj: 158" + " balatro.controllers.pull-request/eval104404/transition-pr!/fn pull_request.clj: 163" + " ..." + " balatro.controllers.pull-request/eval104365/fn pull_request.clj: 137" + " balatro.controllers.pull-request/eval104270/pr-checks-completed! pull_request.clj: 46" + " balatro.controllers.pull-request/eval104270/pr-checks-completed!/fn pull_request.clj: 56" + " balatro.diplomat.github/eval96773/pr-checks-status github.clj: 48" + " balatro.diplomat.github/eval96773/pr-checks-status/fn github.clj: 53" + " balatro.components.github-api/eval96353/pr-checks! github_api.clj: 224" + " balatro.components.github-api/eval96353/pr-checks!/fn github_api.clj: 228" + " balatro.components.github-api/eval96129/get-pr! github_api.clj: 83" + " balatro.components.github-api/eval96129/get-pr!/fn github_api.clj: 87" + " common-github.components.github-api.impl/request-loop impl.clj: 131" + " balatro.components.github-api/eval96129/get-pr!/fn{x2} github_api.clj: 87" + " common-github.components.github-api.impl/unhandled-response impl.clj: 86" + "clojure.lang.ExceptionInfo: GitHub API request to /repos/nubank/giraffe/pulls/123 returned status 2000" + "clojure.lang.ExceptionInfo: Error handling item"] + (parse-and-format "nested-exception.txt"))))