eclim
eclim copied to clipboard
Eclimd does not respond after running "zombie" processes made via :Java
Problem
Eclimd does not respond after running a process with threads looping in an infinite loop for a purpose and killing it via Ctrl+C
. ps | grep java
shows that it is still running even I used Ctrl+C
to kill it (with the whole vim interface intact and running). Upon issuing eclimd commands to vim, vim starts to hung unexpectedly because it seems that it is waiting for eclimd to respond, which in turn seems to be waiting for something, probably the zombie process created earlier.
How to Reproduce
Create an application that spawns a thread that doesn't get stopped or killed via main (caused by a bug or something) doing loops (while true, sleep). Run it via :Java
and terminate it via Ctrl+C
Then try to issue eclimd commands (e.g. :PingEclim
)
Temporary Solution
Before issuing the next eclimd command (or anything that triggers those), force kill the zombie process. Afterwards, operation will work as usual.
Fedora 18 eclim 2.2.5 eclipse 4.2.2
I run into this issue, when I execute this example with :Java
.
The easiest way how to reproduce this issue is next code
while(true) {
System.out.println("Foo");
}
I am not sure right now, why I have mapped :silent Java
instead of just :Java
, but that causes the problem even worse. There is no possibility how to stop it except restarting whole eclimd. (I wrote it only FYI and just remaping to :Java
)
Any update on this? This is still happening for me using headless eclimd with eclim 2.6.0
It still exists with eclim 2.8.0