Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 364241

Summary: java JVM remains running after Eclipse is shut down
Product: [Eclipse Project] Platform Reporter: Matěj Cepl <mcepl>
Component: SWTAssignee: Platform-SWT-Inbox <platform-swt-inbox>
Status: CLOSED WORKSFORME QA Contact:
Severity: normal    
Priority: P3 CC: AndersHessellund, arunkumar.thondapu, carolynmacleod4, eclipse.felipe, ericwill, gheorghe, overholt, remy.suen
Version: 4.2   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on:    
Bug Blocks: 229071    
Attachments:
Description Flags
output of eclipse -debug -console none

Description Matěj Cepl CLA 2011-11-20 11:05:22 EST
Created attachment 207278 [details]
output of eclipse -debug -console

(originally filed as https://bugzilla.redhat.com/show_bug.cgi?id=651923)

Whenever I shut down Eclipse (via File/Quit) I get java JVM running.

See attached output of

eclipse -debug -console

Reproduced with binary from http://ftp.sh.cvut.cz/MIRRORS/eclipse/eclipse/downloads/drops4/S-4.2M3-201110281100/eclipse-SDK-4.2M3-linux-gtk-x86_64.tar.gz

The distinguishing factor which makes the difference between Java being stuck and not, is whether I have switched on assistive technologies in Gnome (using RHEL 6.2 and Gnome 2.28.2 (atk-1.28.0-2.el6, not sure which other packages would be helpful).
Comment 1 Matěj Cepl CLA 2011-11-20 11:07:03 EST
I use this version of java

mitmanek:~ $ java -version
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.4) (rhel-1.41.1.10.4.el6-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
mitmanek:~ $ 


Also jstack gives this

mitmanek:~ $ pgrep -f -l java
9605 /usr/bin/java -Xms40m -Xmx384m -XX:MaxPermSize=256m -jar /home/matej/build/mozilla/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20111003-1644.jar -os linux -ws gtk -arch x86_64 -showsplash /home/matej/build/mozilla/eclipse//plugins/org.eclipse.platform_4.1.0.v20111028-1100/splash.bmp -launcher /home/matej/build/mozilla/eclipse/eclipse -name Eclipse --launcher.library /home/matej/build/mozilla/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20110908-1331/eclipse_1500.so -startup /home/matej/build/mozilla/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20111003-1644.jar --launcher.overrideVmargs -exitdata e48020 -debug -console -vm /usr/bin/java -vmargs -Xms40m -Xmx384m -XX:MaxPermSize=256m -jar /home/matej/build/mozilla/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20111003-1644.jar
mitmanek:~ $ jstack $(pgrep -f java)
9605: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding
mitmanek:~ $ jstack -F $(pgrep -f java)
Attaching to process ID 9605, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 20.0-b11
Deadlock Detection:

No deadlocks found.

Thread 9658: (state = BLOCKED)
 - java.lang.Object.wait(long) @bci=0 (Interpreted frame)
 - java.lang.Object.wait() @bci=2, line=502 (Interpreted frame)
 - org.python.pydev.core.concurrency.Semaphore.acquire() @bci=8, line=114 (Interpreted frame)
 - org.python.pydev.core.concurrency.RunnableAsJobsPoolThread.run() @bci=4, line=68 (Interpreted frame)


Thread 9634: (state = IN_NATIVE)
 - java.io.FileInputStream.readBytes(byte[], int, int) @bci=0 (Interpreted frame)
 - java.io.FileInputStream.read(byte[], int, int) @bci=4, line=236 (Interpreted frame)
 - java.io.BufferedInputStream.fill() @bci=175, line=235 (Interpreted frame)
 - java.io.BufferedInputStream.read() @bci=12, line=254 (Compiled frame)
 - org.apache.felix.gogo.runtime.threadio.ThreadInputStream.read() @bci=4, line=77 (Interpreted frame)
 - org.apache.felix.gogo.shell.Console.getLine(java.lang.String) @bci=34, line=117 (Interpreted frame)
 - org.apache.felix.gogo.shell.Console.run() @bci=31, line=53 (Interpreted frame)
 - org.apache.felix.gogo.shell.Shell.console(org.apache.felix.service.command.CommandSession) @bci=10, line=203 (Interpreted frame)
 - org.apache.felix.gogo.shell.Shell.gosh(org.apache.felix.service.command.CommandSession, java.lang.String[]) @bci=401, line=128 (Interpreted frame)
 - sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) @bci=0 (Interpreted frame)
 - sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) @bci=87, line=57 (Interpreted frame)
 - sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) @bci=6, line=43 (Interpreted frame)
 - java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) @bci=161, line=616 (Interpreted frame)
 - org.apache.felix.gogo.runtime.Reflective.method(org.apache.felix.service.command.CommandSession, java.lang.Object, java.lang.String, java.util.List) @bci=528, line=136 (Interpreted frame)
 - org.apache.felix.gogo.runtime.CommandProxy.execute(org.apache.felix.service.command.CommandSession, java.util.List) @bci=39, line=82 (Interpreted frame)
 - org.apache.felix.gogo.runtime.Closure.executeCmd(java.lang.String, java.util.List) @bci=202, line=469 (Interpreted frame)
 - org.apache.felix.gogo.runtime.Closure.executeStatement(java.util.List) @bci=579, line=395 (Interpreted frame)
 - org.apache.felix.gogo.runtime.Pipe.run() @bci=66, line=108 (Interpreted frame)
 - org.apache.felix.gogo.runtime.Closure.execute(java.util.List) @bci=308, line=183 (Interpreted frame)
 - org.apache.felix.gogo.runtime.Closure.execute(org.apache.felix.service.command.CommandSession, java.util.List) @bci=23, line=120 (Interpreted frame)
 - org.apache.felix.gogo.runtime.CommandSessionImpl.execute(java.lang.CharSequence) @bci=85, line=89 (Interpreted frame)
 - org.apache.felix.gogo.shell.Activator.run() @bci=52, line=75 (Interpreted frame)
 - java.lang.Thread.run() @bci=11, line=679 (Interpreted frame)


Thread 9612: (state = BLOCKED)


Thread 9611: (state = BLOCKED)
 - java.lang.Object.wait(long) @bci=0 (Interpreted frame)
 - java.lang.ref.ReferenceQueue.remove(long) @bci=44, line=133 (Interpreted frame)
 - java.lang.ref.ReferenceQueue.remove() @bci=2, line=149 (Interpreted frame)
 - java.lang.ref.Finalizer$FinalizerThread.run() @bci=3, line=177 (Interpreted frame)


Thread 9610: (state = BLOCKED)
 - java.lang.Object.wait(long) @bci=0 (Interpreted frame)
 - java.lang.Object.wait() @bci=2, line=502 (Interpreted frame)
 - java.lang.ref.Reference$ReferenceHandler.run() @bci=46, line=133 (Interpreted frame)


Thread 9606: (state = BLOCKED)
 - java.lang.Shutdown.halt0(int) @bci=0 (Interpreted frame)
 - java.lang.Shutdown.halt(int) @bci=7, line=122 (Interpreted frame)
 - java.lang.Shutdown.exit(int) @bci=100, line=196 (Interpreted frame)
 - java.lang.Runtime.exit(int) @bci=14, line=107 (Interpreted frame)
 - java.lang.System.exit(int) @bci=4, line=923 (Interpreted frame)
 - org.eclipse.equinox.launcher.Main.main(java.lang.String[]) @bci=61, line=1415 (Interpreted frame)


mitmanek:~ $ jstack -F $(pgrep -f java) |&tee /tmp/java-jstack-F.txt
Attaching to core 9761 from executable 9605, please wait...
Error attaching to core file: Can't attach to the core file
mitmanek:~ $ pkill -KILL -f java
mitmanek:~ $
Comment 2 Remy Suen CLA 2011-11-21 09:01:19 EST
Dupe of bug 247705 I guess.
Comment 3 Matěj Cepl CLA 2011-11-21 10:57:31 EST
> Dupe of bug 247705 I guess.

Not completely. Switch off a11y complete fixes the problem. Also, no lock is kept, so I can rerun eclipse (except I get yet another java process running, and even my nice developer's notebook gets slow with five or six java processes).
Comment 4 Carolyn MacLeod CLA 2012-02-23 17:10:14 EST
I don't know if this helps, but please see bug 229071 comment 8.
Comment 5 Matěj Cepl CLA 2012-02-23 17:28:34 EST
(In reply to comment #4)
> I don't know if this helps, but please see bug 229071 comment 8.

Thanks for the suggestion, but I won't be switching JVM for that. Hopefully, some good soul will fix this.
Comment 6 Carolyn MacLeod CLA 2012-06-03 16:50:11 EDT
Jose says that this problem went away for him when he upgraded his Linux Ubuntu, i.e. he is now using eclipse 3.7 on ubuntu 11.10 and ubuntu 12.04, and he can use the Sun VM without hanging.
Comment 7 Eric Williams CLA 2017-03-14 15:23:21 EDT
No response from original reporter in awhile. Given the age of this bug, I am going to close it. Please file a new bug with relevant details if the issue occurs again.