|Re: Shutdown issues [message #662652 is a reply to message #662638]
||Thu, 31 March 2011 12:48
| Glyn Normington
Registered: July 2009
Thanks for the thread dump. It shows the following non-daemon threads (which could be holding up JVM termination):|
"DestroyJavaVM" prio=10 tid=0x00007fa6e812a000 nid=0x3762 waiting on condition [0x0000000000000000]
"RMI Reaper" prio=10 tid=0x00000000412a3800 nid=0x376a in Object.wait() [0x00007fa6efd31000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000077682cc38> (a java.lang.ref.ReferenceQueue$Lock)
- locked <0x000000077682cc38> (a java.lang.ref.ReferenceQueue$Lock)
"VM Thread" prio=10 tid=0x00000000411d4800 nid=0x3765 runnable
"GC task thread#0 (ParallelGC)" prio=10 tid=0x0000000041166800 nid=0x3763 runnable
"GC task thread#1 (ParallelGC)" prio=10 tid=0x0000000041168800 nid=0x3764 runnable
"VM Periodic Task Thread" prio=10 tid=0x0000000041278000 nid=0x3773 waiting on condition
Of these the only threads which are not runnable are the DestroyJavaVM thread and the VM Periodic Task Thread, neither of which I would expect to hold up VM termination, and the RMI Reaper thread which appears to be stuck in a wait.
Another possible clue to the problem in the thread stack dump is the heap stats section:
PSYoungGen total 663552K, used 252258K [0x00000007d22b0000, 0x0000000800000000, 0x0000000800000000)
eden space 576192K, 37% used [0x00000007d22b0000,0x00000007df5fc3b0,0x00000007f5560000)
from space 87360K, 41% used [0x00000007faab0000,0x00000007fcdbc5e8,0x0000000800000000)
to space 87360K, 0% used [0x00000007f5560000,0x00000007f5560000,0x00000007faab0000)
PSOldGen total 1398144K, used 411K [0x0000000776800000, 0x00000007cbd60000, 0x00000007d22b0000)
object space 1398144K, 0% used [0x0000000776800000,0x0000000776866db0,0x00000007cbd60000)
PSPermGen total 43904K, used 43813K [0x0000000766800000, 0x00000007692e0000, 0x0000000776800000)
object space 43904K, 99% used [0x0000000766800000,0x00000007692c9538,0x00000007692e0000)
Permgen looks pretty full and I wonder if some code is trying to allocate permgen space during shutdown (Virgo wouldn't do that itself AFAIK, but some libraries might).
You might try increasing permgen by 10% to see if that helps.
However, there seems to be a general issue with the RMI Reaper thread. I'm wondering if Spring 3.0.5 or the additional bundles in the repository (if they are auto-installed as optional dependencies of Virgo, Spring, etc. during startup) are running into this. I'll ask around to see if this is a known issue with Spring 3.0.5, but that's a long shot.
So please could you try deleting the additional bundles from the repository and start Virgo with the -clean option and see if that affects the shutdown behaviour.
Powered by FUDForum
. Page generated in 0.02301 seconds