users@glassfish.java.net

Re: gf 3.1.2 hanging, NPE during jstack

From: Bobby Bissett <bbissett_at_gmail.com>
Date: Tue, 18 Jun 2013 16:23:25 -0400

Thanks Ryan,

Yep, two separate process IDs in my history. :) I killed the java process
the first time and made sure there were no other java processes running
after that. The server started to come up again but hung after a couple
minutes (our startup process involves a lot of network traffic). My current
theory is that something (a technical term) was going wrong in the AWS VM
where we were running. We rebooted the VM and, after a little fiddling with
file descriptor limits, got everything running again.

So now it's just a matter of curiosity what was causing the jstack error.

Cheers,
Bobby



On Tue, Jun 18, 2013 at 12:59 PM, Ryan Lubke <ryan.lubke_at_oracle.com> wrote:

> Hey Bobby,
>
> Take this with a grain of salt. From what I've read, you may see that NPE
> when attaching to a JVM that has exhausted the heap.
> You state you ran jstack against both hung instances with the same result
> and that when you restarted the first time, it immediately hung again.
> Are you 100% certain all processes from the first instance were down and
> you didn't re-attach to those? Seems really odd that the server
> would just hang immediately after a restart with the same NPE. Just a
> sanity check :)
>
>
>
>
> Bobby Bissett wrote:
>
> Hi all,
>
> One of our GF 3.1.2 servers just hung, and after a restart immediately
> hung again. Running jstack both times gives us an NPE that I haven't seen
> before. Does anyone know what this might mean? (Google doesn't seem to know
> much about it except for other examples of it.)
>
> Thanks,
> Bobby
>
> -bash-3.2# /jdk1.6.0_31/bin/jstack -F 21102 >
> /home/robert.bissett/jstack.out2
> Attaching to process ID 21102, please wait...
> Debugger attached successfully.
> Server compiler detected.
> JVM version is 20.6-b01
> java.lang.NullPointerException
> at
> sun.jvm.hotspot.oops.InstanceKlass.computeSubtypeOf(InstanceKlass.java:426)
> at sun.jvm.hotspot.oops.Klass.isSubtypeOf(Klass.java:137)
> at sun.jvm.hotspot.oops.Oop.isA(Oop.java:100)
> at
> sun.jvm.hotspot.runtime.DeadlockDetector.print(DeadlockDetector.java:93)
> at sun.jvm.hotspot.runtime.DeadlockDetector.print(DeadlockDetector.java:39)
> at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:52)
> at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:45)
> at sun.jvm.hotspot.tools.JStack.run(JStack.java:60)
> at sun.jvm.hotspot.tools.Tool.start(Tool.java:221)
> at sun.jvm.hotspot.tools.JStack.main(JStack.java:86)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at sun.tools.jstack.JStack.runJStackTool(JStack.java:118)
> at sun.tools.jstack.JStack.main(JStack.java:84)
>
>