-
Bug
-
Resolution: Fixed
-
P3
-
8
There is native memory leak in build 8.0-graphics-scrum-1149 which contains only one fix:
RT-30286: Remove copies between T2K & CoreText (& DirectWrite)
The issue is observed by running SpiralText benchmark, max memory usage is increased on each test iterations:
MAX_MEMORY_USAGE 89800.000000 Kb lower-is-better
MAX_MEMORY_USAGE 95064.000000 Kb lower-is-better
MAX_MEMORY_USAGE 101000.000000 Kb lower-is-better
MAX_MEMORY_USAGE 104712.000000 Kb lower-is-better
MAX_MEMORY_USAGE 123632.000000 Kb lower-is-better
MAX_MEMORY_USAGE 123632.000000 Kb lower-is-better
MAX_MEMORY_USAGE 130728.000000 Kb lower-is-better
MAX_MEMORY_USAGE 137316.000000 Kb lower-is-better
MAX_MEMORY_USAGE 145376.000000 Kb lower-is-better
MAX_MEMORY_USAGE 157224.000000 Kb lower-is-better
...
MAX_MEMORY_USAGE 875948.000000 Kb lower-is-better
MAX_MEMORY_USAGE 879672.000000 Kb lower-is-better
MAX_MEMORY_USAGE 881780.000000 Kb lower-is-better
MAX_MEMORY_USAGE 887964.000000 Kb lower-is-better
MAX_MEMORY_USAGE 891524.000000 Kb lower-is-better
MAX_MEMORY_USAGE 908340.000000 Kb lower-is-better
MAX_MEMORY_USAGE 908340.000000 Kb lower-is-better
MAX_MEMORY_USAGE 937964.000000 Kb lower-is-better
MAX_MEMORY_USAGE 1034632.000000 Kb lower-is-better
MAX_MEMORY_USAGE 1129988.000000 Kb lower-is-better
Finally the benchmark fails with
There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 72 bytes for AllocateHeap
# Possible reasons:
# The system is out of physical RAM or swap space
# In 32 bit mode, the process size limit was hit
# Possible solutions:
# Reduce memory load on the system
# Increase physical memory or swap space
# Check if swap backing store is full
# Use 64 bit Java on a 64 bit OS
# Decrease Java heap size (-Xmx/-Xms)
# Decrease number of Java threads
# Decrease Java thread stack sizes (-Xss)
# Set larger code cache with -XX:ReservedCodeCacheSize=
# This output file may be truncated or incomplete.
#
# Out of Memory Error (memory/allocation.inline.hpp:62), pid=1420, tid=6500
#
# JRE version: Java(TM) SE Runtime Environment (8.0-b89) (build 1.8.0-ea-b89)
# Java VM: Java HotSpot(TM) Client VM (25.0-b31 mixed mode windows-x86 )
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
To reproduce the issue run SpiralText benchmark with big number of iterations.
Here is the example:
> cd JFX_WS/tests/performance/Controls/
> ant
> java
-cp "JFX_HOME/rt/lib/ext/jfxrt.jar;./dist/SpiralText.jar;../FXBenchmark/dist/FXBenchmark.jar;../../../import/benchmarks-2.1.1/benchmarks-2.1.1.jar"
jrockit.bm.Main spiraltext.bm.SpiralTextBenchmark -i 1000
The issue is observed by running SpiralText benchmark, max memory usage is increased on each test iterations:
MAX_MEMORY_USAGE 89800.000000 Kb lower-is-better
MAX_MEMORY_USAGE 95064.000000 Kb lower-is-better
MAX_MEMORY_USAGE 101000.000000 Kb lower-is-better
MAX_MEMORY_USAGE 104712.000000 Kb lower-is-better
MAX_MEMORY_USAGE 123632.000000 Kb lower-is-better
MAX_MEMORY_USAGE 123632.000000 Kb lower-is-better
MAX_MEMORY_USAGE 130728.000000 Kb lower-is-better
MAX_MEMORY_USAGE 137316.000000 Kb lower-is-better
MAX_MEMORY_USAGE 145376.000000 Kb lower-is-better
MAX_MEMORY_USAGE 157224.000000 Kb lower-is-better
...
MAX_MEMORY_USAGE 875948.000000 Kb lower-is-better
MAX_MEMORY_USAGE 879672.000000 Kb lower-is-better
MAX_MEMORY_USAGE 881780.000000 Kb lower-is-better
MAX_MEMORY_USAGE 887964.000000 Kb lower-is-better
MAX_MEMORY_USAGE 891524.000000 Kb lower-is-better
MAX_MEMORY_USAGE 908340.000000 Kb lower-is-better
MAX_MEMORY_USAGE 908340.000000 Kb lower-is-better
MAX_MEMORY_USAGE 937964.000000 Kb lower-is-better
MAX_MEMORY_USAGE 1034632.000000 Kb lower-is-better
MAX_MEMORY_USAGE 1129988.000000 Kb lower-is-better
Finally the benchmark fails with
There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 72 bytes for AllocateHeap
# Possible reasons:
# The system is out of physical RAM or swap space
# In 32 bit mode, the process size limit was hit
# Possible solutions:
# Reduce memory load on the system
# Increase physical memory or swap space
# Check if swap backing store is full
# Use 64 bit Java on a 64 bit OS
# Decrease Java heap size (-Xmx/-Xms)
# Decrease number of Java threads
# Decrease Java thread stack sizes (-Xss)
# Set larger code cache with -XX:ReservedCodeCacheSize=
# This output file may be truncated or incomplete.
#
# Out of Memory Error (memory/allocation.inline.hpp:62), pid=1420, tid=6500
#
# JRE version: Java(TM) SE Runtime Environment (8.0-b89) (build 1.8.0-ea-b89)
# Java VM: Java HotSpot(TM) Client VM (25.0-b31 mixed mode windows-x86 )
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
To reproduce the issue run SpiralText benchmark with big number of iterations.
Here is the example:
> cd JFX_WS/tests/performance/Controls/
> ant
> java
-cp "JFX_HOME/rt/lib/ext/jfxrt.jar;./dist/SpiralText.jar;../FXBenchmark/dist/FXBenchmark.jar;../../../import/benchmarks-2.1.1/benchmarks-2.1.1.jar"
jrockit.bm.Main spiraltext.bm.SpiralTextBenchmark -i 1000