-
-
Notifications
You must be signed in to change notification settings - Fork 645
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CIDER thread hangs when reading from dead/silent TCP socket #1438
Comments
This issue is a great mystery. When I evaluate the code and try to interrupt it I see the following messages:
Seems the eval is interrupted successfully according to nREPL, but for some reason that doesn't really happen. And haven't yet explored why we send a ton of extra interrupt requests - this seems like some bug. |
Interesting. I must be extremely lucky to bump into this as the very first thing after I launched Clojure repl in a few months :D |
Is there any progress with this? At least any ideas where so many interrupts are coming from? |
No progress yet. Was super busy between work and ClojureX and I put this on the back-burner. I hope to find some time for this by the end of the week, but if someone decides to investigate the problem before me - I won't mind that at all. |
Thanks. This has been a terrible productive work killer for me lately. Might as well take a look myself. Any clues where should I look first? |
The "so many interrupts" thing is probably just cider being overzealous. If some request was not marked as "done", This indicates some of our requests are not being properly marked as done. My first guess would be sync-requests, as they don't use regular callbacks. To debug it more cleanly, you can try manually sending an interrupt request just for that ID, and then see what happens on the Clojure side. |
I can no longer reproduce this. Probably the changes to the evaluation model in nREPL fixed this. |
Haven't experienced this later as well. Thanks! |
Reproducible example:
Triggering interruption (
C-c C-b
) showsEvaluation interrupted.
but in fact it isn't. The thread unfreezes on its own after a short while (~1 minute). I believe this isjava.net.Socket
s own timeout.The text was updated successfully, but these errors were encountered: