Closed frankbenoit closed 1 year 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?
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.
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.
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.
The last java.exe and the cmd.exe processes are terminating, but the second java.exe stays open.
Any idea how i can find more details?
Frank