diffplug / goomph

IDE as build artifact
Apache License 2.0
130 stars 30 forks source link

equinoxLaunch not terminating #102

Closed frankbenoit closed 1 year ago

frankbenoit commented 5 years ago

Hi Ned,

i use equinoxLaunch since a while. I was using 3.17.6 and also with latest 3.18.1 i am now facing this problem.

I cannot tell what was changed to make this issue appear.

Perhaps that i started to use a different JRE for running gradle and JDK for java compile (fork). Not sure.

The equinox task is launched and terminates, but gradle hangs there forever.

In process explorer i can see the java.exe from gradle, having a child java.exe started with some "com.diffplug..." parameters, and that has a cmd.exe and another java.exe with my equinox program running.

image

The last java.exe and the cmd.exe processes are terminating, but the second java.exe stays open.

image

Any idea how i can find more details?

Frank

frankbenoit commented 5 years ago

I just noticed... if that marked line with a java.exe is only for the diffplug starter of the equinox task, why does it consume 1GB RAM?

nedtwigg commented 5 years ago

The easiest way to answer these - both the hang and memory consumption - is probably VisualVM. It should be able to connect to these just based on PID, and provide a snapshot of all thread stacks, as well as a snapshot of the heap and what kinds of objects are taking up the memory.

The other helpful part would be to isolate exactly where it goes from working to broken. I'm not sure from the description if it's broken for both 3.17.6 and 3.18.1, or if it went from working to broken between them.

nedtwigg commented 5 years ago

Oh - one last thing. I think this is changing in newer JVMs, but for a long time it had been the case that if you wanted to allow a JVM to ever allocate 1GB, the JVM had to reserve that entire amount on startup. My guess is that there's a default somewhere which is reserving 1GB, and VisualVM will show that very little of that is actually being used.

nedtwigg commented 1 year ago

If you're having trouble launching OSGi applications, it's worth checking out Solstice.