Cider: error in process filter: [nREPL] No response handler with id nil found

Created on 8 May 2018  Â·  5Comments  Â·  Source: clojure-emacs/cider

Expected behavior

I encountered this while playing around with Quil, reloading files to update a running sketch following this guide - except I'm using C-c C-k to reload my file, not the REPL.

Whenever I introduce a bug that causes an exception in my draw function (happens to the best of us), I'd expect to be notified of the error, but able to continue work and fix it.

Actual behavior

Instead, emacs freezes up and displays the line

error in process filter: [nREPL] No response handler with id nil found

in the status bar.

*nrepl-messages* does show some messages without an ID after the outgoing load-file:

(<--
  session    "04fb5496-2d91-4028-bc95-a2faf083211d"
  time-stamp "2018-05-08 20:03:58.555079000"
  out        "
"
)
(<--
  session    "04fb5496-2d91-4028-bc95-a2faf083211d"
  time-stamp "2018-05-08 20:03:58.563375000"
  out        "Exception in  :draw  function:  #error {
 :cause Wrong numbe..."
)
(<--
  session    "04fb5496-2d91-4028-bc95-a2faf083211d"
  time-stamp "2018-05-08 20:03:59.565288000"
  out        "[clojure.core$doall invoke core.clj 3140]
  [playground.draw..."
)
(<--
  session    "04fb5496-2d91-4028-bc95-a2faf083211d"
  time-stamp "2018-05-08 20:03:59.566469000"
  out        "applet.clj 217]
  [quil.applet$_draw invoke applet.clj 215]
..."
)
(<--
  session    "04fb5496-2d91-4028-bc95-a2faf083211d"
  time-stamp "2018-05-08 20:04:00.575734000"
  out        "
"
)

Each one of these seems to cause a momentary freeze.
Coupled with Quil's behavior of retrying to call the draw function every 500ms, this makes editing the code to fix the bug nearly impossible without first stopping the sketch, which kind of defeats the purpose of the whole setup.

Even then, moving the cursor inside the draw function intermittently causes more ID-less messages to be sent.

Steps to reproduce the problem

  1. Clone https://github.com/T045T/quil-playground
  2. lein repl
  3. M-x cider-connect
  4. (run-sketch) in REPL
  5. (for instance) change draw.clj:17 from
    (q/with-rotation [tilt-angle] to (q/with-rotation
  6. C-c C-k

Environment & Version information

CIDER version information

;; CIDER 0.17.0 (package: 20180507.1227) (Andalucía), nREPL 0.2.12
;; Clojure 1.9.0, Java 1.8.0_66

Lein/Boot version

Leiningen 2.8.1 on Java 1.8.0_66 Java HotSpot(TM) 64-Bit Server VM

Emacs version

GNU Emacs 25.3.1 (x86_64-apple-darwin17.0.0, Carbon Version 158 AppKit 1561) of 2017-11-24
(This is a compile of https://bitbucket.org/mituharu/emacs-mac )
E.g. 24.5 (use M-x emacs-version to check it if unsure)

Operating system

macOS 10.13.4 (High Sierra)

bug stale

Most helpful comment

Not right now. The fix (workaround) for this is not complex, but I never found time to get to this. I'll try to do something about this later during the week.

All 5 comments

It is, thanks!

Using :no-bind-output fixed the issue.

However, my focus was slightly different - while #2138 is about the input arriving, my problem was that emacs becomes almost unusable when many of these messages arrive in quick succession.

Is there a way to log this sort of error without momentarily freezing emacs?

Not right now. The fix (workaround) for this is not complex, but I never found time to get to this. I'll try to do something about this later during the week.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contribution and understanding!

This issues been automatically closed due to lack of activity. Feel free to re-open it if you ever come back to it.

Was this page helpful?
0 / 5 - 0 ratings