Skip to content

Problematic error reporting when cider-clojure-compilation-error-phases is t (unexpected possible value) #3582

Closed
@zikajk

Description

@zikajk

Expected behavior

Same as older version of Cider, probably before cider-clojure-compilation-error-phases was introduced.

Actual behavior

When evaluating sexp or buffer with enabled cider-clojure-compilation-error-phases I get an exception

Debugger entered--Lisp error: (wrong-type-argument listp t)
  cider--handle-stacktrace-response((dict "id" "18" "session" "051e38ac-65e6-495f-9101-e1..." "status" ("done")) ((dict "class" "java.lang.RuntimeException" "compile-like" "false" "id" "18" "message" "Unable to resolve symbol: ..." "phase" nil "session" "051e38ac-65e6-495f-9101-e1..." "stacktrace" (... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...)) (dict "class" "clojure.lang.Compiler$Comp..." "column" 1 "compile-like" "false" "data" "#:clojure.error{:phase :co..." "file" "/Users/akiz/Code/Clojure/d..." "file-url" "file:/Users/akiz/Code/Cloj..." "id" "18" "line" 8 "location" (dict "clojure.error/column" 1 "clojure.error/line" 8 "clojure.error/phase" "compile-syntax-check" "clojure.error/source" "/Users/akiz/Code/Clojure/d...") "message" "Syntax error compiling at ..." "path" "src/deleteme/core.clj" "phase" "compile-syntax-check" "session" ...)) "compile-syntax-check")
  #f(compiled-function (response) #<bytecode 0x166c3faa4716d242>)((dict "id" "18" "session" "051e38ac-65e6-495f-9101-e1b232f70ee6" "status" ("done")))
  nrepl--dispatch-response((dict "id" "18" "session" "051e38ac-65e6-495f-9101-e1b232f70ee6" "status" ("done")))
  nrepl-client-filter(#<process nrepl-connection> "tible_eval$evaluate4:file22:interruptible_eval.clj...")
  nrepl-send-sync-request(("op" "analyze-last-stacktrace" "nrepl.middleware.print/stream?" "1" "nrepl.middleware.print/print" "cider.nrepl.pprint/pprint" "nrepl.middleware.print/quota" 1048576 "nrepl.middleware.print/buffer-size" 4096 "nrepl.middleware.print/options" (dict "right-margin" 70)) #<buffer *cider-repl Clojure/deleteme:localhost:64281(clj)*>)
  cider--error-phase-of-last-exception(#<buffer core.clj>)
  #f(compiled-function (buffer err) #<bytecode 0xd9568613f25944b>)(#<buffer core.clj> "Syntax error compiling at (src/deleteme/core.clj:8...")
  #f(compiled-function (response) #<bytecode 0x63342be919beaaf>)((dict "err" "Syntax error compiling at (src/deleteme/core.clj:8..." "id" "16" "session" "051e38ac-65e6-495f-9101-e1b232f70ee6"))
  nrepl--dispatch-response((dict "err" "Syntax error compiling at (src/deleteme/core.clj:8..." "id" "16" "session" "051e38ac-65e6-495f-9101-e1b232f70ee6"))
  nrepl-client-filter(#<process nrepl-connection> "d3:err102:Syntax error compiling at (src/deleteme/...")


Sometimes (I guess it depends on buffer / function size) it takes a very long time and I get a timeout =>
error in process filter: Sync nREPL request timed out (op analyze-last-stacktrace nrepl.middleware.print/stream? 1 nrepl.middleware.print/print cider.nrepl.pprint/porint nrepl.middleware.print/auota 1048576 nrepl.middleware.print/buffer-size 4996 ….) after 30 secs
In those cases, the overlay error sometimes shows up but it dissapears again after +-1sec.

Steps to reproduce the problem

  1. lein new something
  2. Open emacs, run toggle-debug-on-error, open project and start jack-in new repl.
  3. write (defz) and evaluate a buffer

Environment & Version information

CIDER version information

  • ;; Startup: bash /Users/akiz/.emacs.akiz/straight/build/cider/lein.sh /opt/homebrew/bin/lein update-in :dependencies conj \[nrepl/nrepl\ \"1.0.0\"\] -- update-in :dependencies conj \[refactor-nrepl/refactor-nrepl\ \"3.9.0\"\] -- update-in :plugins conj \[refactor-nrepl/refactor-nrepl\ \"3.9.0\"\] -- update-in :plugins conj \[cider/cider-nrepl\ \"0.43.3\"\] -- update-in :plugins conj \[mx.cider/lein-enrich-classpath\ \"1.18.4\"\] -- update-in :middleware conj cider.enrich-classpath.plugin-v2/middleware -- repl :headless :host localhost
;; CIDER 1.12.0-snapshot (package: 1.12.0-snapshot), nREPL 1.0.0
;; Clojure 1.11.1, Java 17.0.8.1

Lein / Clojure CLI version

Leiningen 2.10.0 on Java 17.0.8.1 OpenJDK 64-Bit Server VM

Emacs version

  • Gcemacs 29.1

Operating system

OSX Sonoma 14.0

JDK distribution

openjdk version "17.0.8.1" 2023-08-24
OpenJDK Runtime Environment Homebrew (build 17.0.8.1+0)
OpenJDK 64-Bit Server VM Homebrew (build 17.0.8.1+0, mixed mode, sharing)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions