lein repl
をクラッシュ:AWT/SwingのプロジェクトにREPL
user=> (javax.swing.JFrame. "My Frame")
SocketException Connection reset
java.net.SocketInputStream.read (SocketInputStream.java:209)
java.net.SocketInputStream.read (SocketInputStream.java:141)
java.io.BufferedInputStream.fill (BufferedInputStream.java:246)
java.io.BufferedInputStream.read (BufferedInputStream.java:265)
java.io.FilterInputStream.read (FilterInputStream.java:83)
java.io.PushbackInputStream.read (PushbackInputStream.java:139)
clojure.tools.nrepl.bencode/read-byte (bencode.clj:84)
clojure.tools.nrepl.bencode/read-byte (bencode.clj:-1)
clojure.tools.nrepl.bencode/read-token (bencode.clj:236)
clojure.tools.nrepl.bencode/read-token (bencode.clj:234)
clojure.tools.nrepl.bencode/read-bencode (bencode.clj:254)
clojure.tools.nrepl.bencode/read-bencode (bencode.clj:251)
Bye for now!
しかし、新鮮なプロジェクト/ lein repl
にプロジェクトせず、それは仕事をしません。
user=> (javax.swing.JFrame. "My Frame")
#object[javax.swing.JFrame 0x2ee69c3e "javax.swing.JFrame[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,title=My Frame,resizable,normal,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,0x0,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]"]
私のJDKとJREは更新されましたが、それは役に立ちませんでした。
私は最初、シーソー(シーソーとClojureは私の唯一のプロジェクト依存でした)を使ってみることに気付きました。それも同様にクラッシュし、私はスイングを直接使用しようとしてもクラッシュが発生することに気づいた。依存関係からシーソーを削除すると、再び動作します。私のプロジェクトには他の依存関係があります(AWT/Swingとは関係なく、clojure 1.8.0、clj-http 2.3.0、data.json 0.2.6、camel-snake-kebab 0.4.0 、clj-time 0.13.0)、もう一度起こっています。私は最小限のケースを見つけることができるかどうかを調べるつもりです。
編集:Clojureと[clj-http "2.3.0"]、またはClojureとシーソーのみを持つ場合は最小限のケースです。
私もEDT(EventQueue.invokeLater
)から実行していることを確認しようとしましたが、それは役に立たず、プログラムがクラッシュしました。
次にAWT (java.awt.Frame.)
を試してみましたが、同じクラッシュがありました。最後
、FWIW、これは上で起こっている:
REPL-Y 0.3.7、nREPL 0.2.12
Clojureの1.8.0
は、Java HotSpot(TM)64ビットサーバーVM 1.8.0_121-B13
Windows 10 Pro x64
私は今もウベルジャを作ろうとしましたが、うまくいくようです。
lein repl
とCIDERのREPLだけがクラッシュするようです(したがって、nREPLを想定していますか?)。
これを診断して解決するにはどうすればよいですか?
[私のjava.net.SocketExceptionを引き起こす原因:接続リセット?](http://stackoverflow.com/questions/585599/whats-causing-my-java-net-socketexception-connection-reset) –
@HovercraftFullOfEels afaik leinは2つのJVMを作成します.1つはJVMを、もう1つはプログラムのためのものです。これはプログラムがクラッシュして接続が閉じられたときに発生します。私は共通点があるのは例外タイプなので、どちらの方法も無関係だと思います。 – MasterMastic
私はあなたの質問を "dup-hammer"しなかったこのタイプの例外の専門家ではありませんが、ソケットが反対側から閉じられたときに例外が発生する可能性があります。 –