Today I got two exceptions that lately seemed to lead to a java heap space. But this time I could get a full hprof dumpfile. The total size is basically the heap size (~3GB). I believe it won't be possible to put it here. I wonder if this java heap size is too narrow or big for scm-manager execution. How much would be enough ?
Executing jhat with this new hprof file takes a long time. It seems jhat is locked. Killing it is only possible with SIGKILL signal. The normal TERM signal doesn't affect its execution. I was curious about this and checked that it is possible with jhat as like the jvm to print a stack trace with signal 3. I am posting this jhat stack trace, although it might be useless.
I also did a test with another smaller instance of scm-manager and this time the execution starts. The webserver at
http://localhost:7000 however complains on the url /histo. It shows this error message: Query '/histo' not implemented. Is this the correct url to check (
http://localhost:7000/histo) ?
jhat stack trace with kill -3:
Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode):
"Service Thread" daemon prio=10 tid=0x00007f8958091800 nid=0x559d runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" daemon prio=10 tid=0x00007f895808f000 nid=0x559c waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" daemon prio=10 tid=0x00007f895808c800 nid=0x559b waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x00007f8958082000 nid=0x559a waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=10 tid=0x00007f895806b000 nid=0x5599 in Object.wait() [0x00007f8955309000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000d174cbd0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
- locked <0x00000000d174cbd0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189)
"Reference Handler" daemon prio=10 tid=0x00007f8958067000 nid=0x5598 in Object.wait() [0x00007f895540a000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000d174c690> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:503)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
- locked <0x00000000d174c690> (a java.lang.ref.Reference$Lock)
"main" prio=10 tid=0x00007f8958009800 nid=0x5594 waiting on condition [0x00007f896003d000]
java.lang.Thread.State: RUNNABLE
at com.sun.tools.hat.internal.parser.HprofReader.getStackTraceFromSerial(HprofReader.java:641)
at com.sun.tools.hat.internal.parser.HprofReader.readInstance(HprofReader.java:731)
at com.sun.tools.hat.internal.parser.HprofReader.readHeapDump(HprofReader.java:484)
at com.sun.tools.hat.internal.parser.HprofReader.read(HprofReader.java:275)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)