Cider: プロセス フィルターのエラー: [nREPL] ID が nil の応答ハンドラーが見つかりません

作成日 2018年05月08日  ·  5コメント  ·  ソース: clojure-emacs/cider

予想される行動

Quilで遊んでいるときに、このガイドに従ってファイルをリロードして実行中のスケッチを更新しましたが、REPL ではなくCc Ckを使用してファイルをリロードしています。

draw関数で例外を引き起こすバグを導入するたびに (私たちにとってはよくあることですが)、エラーが通知されることを期待していますが、作業を続行して修正することができます。

実際の動作

代わりに、emacs がフリーズして次の行を表示します。

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

ステータスバーに。

*nrepl-messages*は、発信load-file後に ID なしでいくつかのメッセージを表示します。

(<--
  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        "
"
)

これらのそれぞれが一時的なフリーズを引き起こすようです。
500 ミリ秒ごとに描画関数の呼び出しを再試行するという Quil の動作と相まって、これにより、最初にスケッチを停止せずにコードを編集してバグを修正することがほぼ不可能になり、セットアップ全体の目的が損なわれます。

その場合でも、描画関数内でカーソルを断続的に移動すると、ID なしのメッセージがさらに送信されます。

問題を再現する手順

  1. クローンhttps://github.com/T045T/quil-playground
  2. lein repl
  3. Mxサイダーコネクト
  4. REPL で(run-sketch)
  5. (例えば) draw.clj:17を変更します
    (q/with-rotation [tilt-angle]から(q/with-rotation
  6. Cc Ck

環境とバージョン情報

CIDERのバージョン情報

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

レイン/ブーツ版

Leiningen 2.8.1 on Java 1.8.0_66 Java HotSpot(TM) 64 ビット サーバー VM

Emacsのバージョン

2017-11-24 の GNU Emacs 25.3.1 (x86_64-apple-darwin17.0.0、Carbon バージョン 158 AppKit 1561)
(これは https://bitbucket.org/mituharu/emacs-mac のコンパイルです)
例 24.5 (不明な場合はMx emacs-versionを使用して確認してください)

オペレーティング・システム

macOS 10.13.4 (ハイシエラ)

bug stale

最も参考になるコメント

今じゃない。今はだめなの。 これに対する修正 (回避策) は複雑ではありませんが、これに取り組む時間がありませんでした。 今週中にはこれについて何かしようと思います。

全てのコメント5件

そうです、ありがとう!

:no-bind-outputを使用すると問題が解決しました。

ただし、私の焦点は少し異なります-#2138 は入力の到着に関するものですが、私の問題は、これらのメッセージの多くがすばやく連続して到着すると、emacs がほとんど使用できなくなることでした。

emacs を一時的にフリーズせずにこの種のエラーをログに記録する方法はありますか?

今じゃない。今はだめなの。 これに対する修正 (回避策) は複雑ではありませんが、これに取り組む時間がありませんでした。 今週中にはこれについて何かしようと思います。

この問題は、最近活動がないため、自動的に古いものとしてマークされています。 それ以上の活動がなければ閉鎖されます。 あなたの貢献と理解に感謝します!

活動がないため、この課題は自動的にクローズされました。 戻ってきた場合は、遠慮なく再度開いてください。

このページは役に立ちましたか?
0 / 5 - 0 評価