Hello,

I have an update. It seems like the unreported/errorous gc Root is somewhere near "securiton.uls.tools.configuration.plugins.graphic.zoneeditor.data.svg.dynamics.impl.LiveItemImpl". I aggressivly nulled out the fields of instances of this Object and now the gc frees sufficient memory. It seems like the LiveItemImpl Objects themself are still leaking without any paths from gc root, but they no longer keep millions of Nodes alive causing our Application to go OutOfmemory within minutes. The Root Cause seems like something Nashorn is doing is confusing the JVM/GC to not free up memory in some specific circumstances. The LiveItemImpl Objects have incoming references from the internals of the nashorn framework.

Best Regards,
Thorsten


Am 28.01.17 um 21:23 schrieb yu.zh...@oracle.com:
Thorsten,

I have updated the bug with more details. I think there is some
inaccuracy when reporting the heap dump.

There might be some memory leak in your application as well.

Thanks

Jenny

On 01/27/2017 04:50 PM, Jenny Zhang wrote:
Hi, Thorsten,

I can reproduce this with a micro. I have filed
https://bugs.openjdk.java.net/browse/JDK-8173594

The micro is mostly based on
http://stackoverflow.com/questions/26027313/how-to-load-and-parse-svg-documents
with some modification. I will upload the micro and details later.

I think this is a issue how jvmti and gc reporting unreachable
objects. Those objects should not be reported as unreachable.

Thanks
Jenny

On 1/25/2017 3:23 PM, yu.zh...@oracle.com wrote:
Thorsten,

Thanks very much for the heap dump and gc log.

I assume the gc log and heap dump are from the same run. It is very
interesting, in the gc log:

2017-01-24T16:41:17.184-0100: 1301.633: [Full GC (Heap Dump Initiated
GC)  3817M->3816M(4096M), 8.9543444 secs]
   [Eden: 2048.0K(2048.0M)->0.0B(2048.0M) Survivors: 0.0B->0.0B Heap:
3817.7M(4096.0M)->3816.2M(4096.0M)], [Metaspace:
142921K->142921K(1175552K)]
 [Times: user=16.35 sys=0.11, real=8.95 secs]

GC thinks there are 3816.2M of objects alive. But in the heap dump,
there is only 1.8G alive.

I can see those unreachable objects with yourkit, mostly are

org.apache.batik.dom.GenerecText

But apparently gc does not think those are dead. It could be a bug in
gc, or jvmti dumping the heap, or tool(yourkit, apache MAT). I need
to discuss this with dev team.

Back to the gc log, it seems the application allocates a lot of
humongous objects. I can see some int[] of 1.5m. In general the heap
is very full, with a lot of to-space exhausted, and full gc. And the
heap usage after full gc is almost the whole heap (4096M).

Thanks

Jenny


On 01/25/2017 01:15 AM, Thorsten Goetzke wrote:
Hello,

You can find the heap dump and gc logs under
https://filesender.freigmbh.de/filesender/?vid=10f1aeb6-82b4-3d09-c201-00002042c681


Link is valid until 28.01.2017 (1/28/2017). Feel free to message me
if you need a reupload.

Best Regards,
Thorsten


Thorsten,

Can you please put the heap dump and gc logs somewhere for download?

Thanks
Jenny

On 1/24/2017 8:30 AM, Thorsten Goetzke wrote:
Hello,

I am working on a closed source software that uses a patched version
of apache-batik to display SVG-Documents one by one. If you keep
loading and discarding some specific SVG-Documents memory consumption
keeps on growing until it reaches more than 95% of the available
memory. The application becomes unusable slow, very little memory
gets
freed, although the gc is constantly running. Sometimes an
OutOfMemoryError gets thrown. I took memory snaphsots and analyzed
them using jvisualvm and yourkit. These tools report the majority of
the memory as unreachable.
I have tried different garbage collectors (G1,ConcurrentMarkSweep),
and different Versions of Java: 1.8_60;1.8_65;1.8_102, the issue is
always reproducible.
Is there something i can do to debug this further? I am currently not
able to reproduce this issue in a somewhat small self contained
example.
I could provide gc-logs and the heap dump (about 1gb zipped) or any
other debuging info if someone is interested.

Best Regards,
Thorsten Goetzke


_______________________________________________
hotspot-gc-use mailing list
hotspot-gc-use@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use


_______________________________________________
hotspot-gc-use mailing list
hotspot-gc-use@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use

_______________________________________________
hotspot-gc-use mailing list
hotspot-gc-use@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use

Reply via email to