Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8181183

lcms.dll accumulates memory without releasing

XMLWordPrintable

    • x86
    • windows_10

      FULL PRODUCT VERSION :
      jdk 1.8.0_112-b16
      jre 1.8.0_121-b13

      ADDITIONAL OS VERSION INFORMATION :
      Windows 10 ver. 1511

      A DESCRIPTION OF THE PROBLEM :
      My image processing library exhibits a memory leak. That library in turn calls a C library using JNI which we've also developed. The logged messages indicate that the problem occurs when we allocate memory off of the C heap. Initially, the allocation works fine. However, when I loop over the same rendering repeatedly, it will eventually fail to allocate the memory on the C heap.

      To diagnose the problem, I attached a piece of software to it called "C++ Memory Validator", which allows me to, among other things, watch objects that are created and released on the C heap. When I watch the allocated objects in C++ Memory Validator, one particular type grows endlessly. It looks as if memory is being allocated but not deallocated. When I follow a link to see where the memory is allocated, C++ Memory Validator indicates that it is within lcms.dll. It doesn't give me deeper information, because I'm not using a debug version of that library.

      The problematic code seems to be when I do the following two steps in my Java code:
      1) Create a ColorConvertOp instance with a color profile file
      2) Apply that ColorConvertOp to an image

      If I remove either of those steps, by caching the ColorConvertOp object for example, the number of allocated objects grows to a point (around 3000) and then stops growing in number. However, with both steps in place, that same type of object grows without bounds.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      I'll include the source code for my test below. But my process consists of launching my test application through C++ Memory Validator, changing to the Objects tab, and watching the Count column on the line labeled, "[NoFileName:0]".



      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      I would expect the number of those objects to grow to some limit and then stop growing in number. When I remove either of the two lines described above, the number of that type of object tops out at about 3900. That number grows and shrinks by a small amount as objects are allocated and deallocated, but seems to average around 3900.
      ACTUAL -
      The number of those objects grows without bounds. My current test has > 79,000 of them.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      A more complicated version of the test, which actually used my imaging library, produced this error message when it ran out of memory on the C heap. The test code that I'm submitting, though, demonstrates the memory leak without using my library.

      #
      # There is insufficient memory for the Java Runtime Environment to continue.
      # Native memory allocation (malloc) failed to allocate 131088 bytes for Chunk::new
      # 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 (allocation.cpp:390), pid=27104, tid=0x00000000000016bc
      #
      # JRE version: Java(TM) SE Runtime Environment (8.0_102-b14) (build 1.8.0_102-b14)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.102-b14 mixed mode windows-amd64 compressed oops)
      # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
      #

      --------------- T H R E A D ---------------

      Current thread (0x000000001717e000): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=5820, stack(0x0000000017930000,0x0000000017a30000)]

      Stack: [0x0000000017930000,0x0000000017a30000]
      [error occurred during error reporting (printing stack bounds), id 0xc0000005]

      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)


      Current CompileTask:
      C2:379360915 7956 4 java.lang.Throwable::printEnclosedStackTrace (344 bytes)


      --------------- P R O C E S S ---------------

      Java Threads: ( => current thread )
        0x000000001a4f8000 JavaThread "Thread-329747" [_thread_in_vm, id=31252, stack(0x0000000000210000,0x0000000000310000)]
        0x000000001827c000 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=29636, stack(0x0000000019100000,0x0000000019200000)]
        0x0000000018215000 JavaThread "AWT-Windows" daemon [_thread_in_native, id=19996, stack(0x0000000018a40000,0x0000000018b40000)]
        0x0000000018214000 JavaThread "AWT-Shutdown" [_thread_blocked, id=28628, stack(0x0000000018940000,0x0000000018a40000)]
        0x0000000018213800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=39760, stack(0x0000000018810000,0x0000000018910000)]
        0x0000000017217800 JavaThread "Service Thread" daemon [_thread_blocked, id=38984, stack(0x0000000017d30000,0x0000000017e30000)]
        0x0000000017189000 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=32520, stack(0x0000000017c30000,0x0000000017d30000)]
        0x0000000017182800 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=39104, stack(0x0000000017b30000,0x0000000017c30000)]
        0x0000000017180800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=5740, stack(0x0000000017a30000,0x0000000017b30000)]
      =>0x000000001717e000 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=5820, stack(0x0000000017930000,0x0000000017a30000)]
        0x0000000017179000 JavaThread "Attach Listener" daemon [_thread_blocked, id=20824, stack(0x0000000017830000,0x0000000017930000)]
        0x0000000017178000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=29448, stack(0x0000000017730000,0x0000000017830000)]
        0x0000000017170800 JavaThread "Finalizer" daemon [_thread_blocked, id=40068, stack(0x0000000017550000,0x0000000017650000)]
        0x00000000026f8800 JavaThread "Reference Handler" daemon [_thread_blocked, id=38132, stack(0x0000000017050000,0x0000000017150000)]
        0x00000000024fd800 JavaThread "main" [_thread_blocked, id=37044, stack(0x0000000002500000,0x0000000002600000)]

      Other Threads:
        0x0000000015218800 VMThread [stack: 0x0000000016f50000,0x0000000017050000] [id=37828]
        0x000000001725e000 WatcherThread [stack: 0x0000000017e30000,0x0000000017f30000] [id=40248]

      VM state:not at safepoint (normal execution)

      VM Mutex/Monitor currently owned by a thread: None

      Heap:
       PSYoungGen total 232960K, used 92361K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000)
        eden space 116736K, 61% used [0x00000000eab00000,0x00000000ef160538,0x00000000f1d00000)
        from space 116224K, 17% used [0x00000000f8e80000,0x00000000fa252230,0x0000000100000000)
        to space 116224K, 0% used [0x00000000f1d00000,0x00000000f1d00000,0x00000000f8e80000)
       ParOldGen total 699392K, used 561328K [0x00000000c0000000, 0x00000000eab00000, 0x00000000eab00000)
        object space 699392K, 80% used [0x00000000c0000000,0x00000000e242c1e8,0x00000000eab00000)
       Metaspace used 20560K, capacity 20920K, committed 21248K, reserved 1069056K
        class space used 2149K, capacity 2274K, committed 2304K, reserved 1048576K

      Card table byte_map: [0x0000000011ac0000,0x0000000011cd0000] byte_map_base: 0x00000000114c0000

      Marking Bits: (ParMarkBitMap*) 0x000000006dc1a6c0
       Begin Bits: [0x0000000012630000, 0x0000000013630000)
       End Bits: [0x0000000013630000, 0x0000000014630000)

      Polling page: 0x0000000000820000

      CodeCache: size=245760Kb used=21018Kb max_used=21256Kb free=224741Kb
       bounds [0x0000000002700000, 0x0000000003c00000, 0x0000000011700000]
       total_blobs=6065 nmethods=5492 adapters=485
       compilation: enabled

      Compilation events (10 events):
      Event: 379208.442 Thread 0x0000000017182800 nmethod 7950 0x0000000002f6e610 code [0x0000000002f6e7a0, 0x0000000002f6ea50]
      Event: 379254.611 Thread 0x0000000017182800 7951 4 java.lang.Class::getInterfaces (41 bytes)
      Event: 379254.638 Thread 0x0000000017182800 nmethod 7951 0x0000000003784e50 code [0x0000000003784fe0, 0x0000000003785688]
      Event: 379257.096 Thread 0x0000000017189000 7952 3 com.lifetouch.lti.runtime.ImagePathException::<init> (7 bytes)
      Event: 379257.096 Thread 0x0000000017189000 nmethod 7952 0x0000000002f6e110 code [0x0000000002f6e280, 0x0000000002f6e468]
      Event: 379257.096 Thread 0x0000000017189000 7953 3 com.lifetouch.lti.service.impl.ImagePathRenderFailureException::<init> (11 bytes)
      Event: 379257.097 Thread 0x0000000017189000 nmethod 7953 0x0000000002efdb90 code [0x0000000002efdd20, 0x0000000002efe038]
      Event: 379259.665 Thread 0x0000000017189000 7955 3 java.lang.RuntimeException::<init> (6 bytes)
      Event: 379259.666 Thread 0x0000000017189000 nmethod 7955 0x0000000002cd2c50 code [0x0000000002cd2dc0, 0x0000000002cd2fa8]
      Event: 379304.518 Thread 0x000000001717e000 7956 4 java.lang.Throwable::printEnclosedStackTrace (344 bytes)

      GC Heap History (10 events):
      Event: 379304.082 GC heap before
      {Heap before GC invocations=2876757 (full 214806):
       PSYoungGen total 232960K, used 103347K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000)
        eden space 116736K, 88% used [0x00000000eab00000,0x00000000f0fbcd30,0x00000000f1d00000)
        from space 116224K, 0% used [0x00000000f1d00000,0x00000000f1d30000,0x00000000f8e80000)
        to space 116224K, 0% used [0x00000000f8e80000,0x00000000f8e80000,0x0000000100000000)
       ParOldGen total 699392K, used 460197K [0x00000000c0000000, 0x00000000eab00000, 0x00000000eab00000)
        object space 699392K, 65% used [0x00000000c0000000,0x00000000dc169758,0x00000000eab00000)
       Metaspace used 20560K, capacity 20920K, committed 21248K, reserved 1069056K
        class space used 2149K, capacity 2274K, committed 2304K, reserved 1048576K
      Event: 379304.083 GC heap after
      Heap after GC invocations=2876757 (full 214806):
       PSYoungGen total 232960K, used 64K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000)
        eden space 116736K, 0% used [0x00000000eab00000,0x00000000eab00000,0x00000000f1d00000)
        from space 116224K, 0% used [0x00000000f8e80000,0x00000000f8e90000,0x0000000100000000)
        to space 116224K, 0% used [0x00000000f1d00000,0x00000000f1d00000,0x00000000f8e80000)
       ParOldGen total 699392K, used 460229K [0x00000000c0000000, 0x00000000eab00000, 0x00000000eab00000)
        object space 699392K, 65% used [0x00000000c0000000,0x00000000dc171758,0x00000000eab00000)
       Metaspace used 20560K, capacity 20920K, committed 21248K, reserved 1069056K
        class space used 2149K, capacity 2274K, committed 2304K, reserved 1048576K
      }
      Event: 379304.133 GC heap before
      {Heap before GC invocations=2876758 (full 214806):
       PSYoungGen total 232960K, used 116273K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000)
        eden space 116736K, 99% used [0x00000000eab00000,0x00000000f1c7c510,0x00000000f1d00000)
        from space 116224K, 0% used [0x00000000f8e80000,0x00000000f8e90000,0x0000000100000000)
        to space 116224K, 0% used [0x00000000f1d00000,0x00000000f1d00000,0x00000000f8e80000)
       ParOldGen total 699392K, used 460229K [0x00000000c0000000, 0x00000000eab00000, 0x00000000eab00000)
        object space 699392K, 65% used [0x00000000c0000000,0x00000000dc171758,0x00000000eab00000)
       Metaspace used 20560K, capacity 20920K, committed 21248K, reserved 1069056K
        class space used 2149K, capacity 2274K, committed 2304K, reserved 1048576K
      Event: 379304.139 GC heap after
      Heap after GC invocations=2876758 (full 214806):
       PSYoungGen total 232960K, used 83524K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000)
        eden space 116736K, 0% used [0x00000000eab00000,0x00000000eab00000,0x00000000f1d00000)
        from space 116224K, 71% used [0x00000000f1d00000,0x00000000f6e91370,0x00000000f8e80000)
        to space 116224K, 0% used [0x00000000f8e80000,0x00000000f8e80000,0x0000000100000000)
       ParOldGen total 699392K, used 460229K [0x00000000c0000000, 0x00000000eab00000, 0x00000000eab00000)
        object space 699392K, 65% used [0x00000000c0000000,0x00000000dc171758,0x00000000eab00000)
       Metaspace used 20560K, capacity 20920K, committed 21248K, reserved 1069056K
        class space used 2149K, capacity 2274K, committed 2304K, reserved 1048576K
      }
      Event: 379304.249 GC heap before
      {Heap before GC invocations=2876759 (full 214806):
       PSYoungGen total 232960K, used 199685K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000)
        eden space 116736K, 99% used [0x00000000eab00000,0x00000000f1c70428,0x00000000f1d00000)
        from space 116224K, 71% used [0x00000000f1d00000,0x00000000f6e91370,0x00000000f8e80000)
        to space 116224K, 0% used [0x00000000f8e80000,0x00000000f8e80000,0x0000000100000000)
       ParOldGen total 699392K, used 460229K [0x00000000c0000000, 0x00000000eab00000, 0x00000000eab00000)
        object space 699392K, 65% used [0x00000000c0000000,0x00000000dc171758,0x00000000eab00000)
       Metaspace used 20560K, capacity 20920K, committed 21248K, reserved 1069056K
        class space used 2149K, capacity 2274K, committed 2304K, reserved 1048576K
      Event: 379304.262 GC heap after
      Heap after GC invocations=2876759 (full 214806):
       PSYoungGen total 232960K, used 84411K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000)
        eden space 116736K, 0% used [0x00000000eab00000,0x00000000eab00000,0x00000000f1d00000)
        from space 116224K, 72% used [0x00000000f8e80000,0x00000000fe0eec80,0x0000000100000000)
        to space 116224K, 0% used [0x00000000f1d00000,0x00000000f1d00000,0x00000000f8e80000)
       ParOldGen total 699392K, used 520847K [0x00000000c0000000, 0x00000000eab00000, 0x00000000eab00000)
        object space 699392K, 74% used [0x00000000c0000000,0x00000000dfca3d88,0x00000000eab00000)
       Metaspace used 20560K, capacity 20920K, committed 21248K, reserved 1069056K
        class space used 2149K, capacity 2274K, committed 2304K, reserved 1048576K
      }
      Event: 379304.333 GC heap before
      {Heap before GC invocations=2876760 (full 214806):
       PSYoungGen total 232960K, used 199971K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000)
        eden space 116736K, 98% used [0x00000000eab00000,0x00000000f1bda078,0x00000000f1d00000)
        from space 116224K, 72% used [0x00000000f8e80000,0x00000000fe0eec80,0x0000000100000000)
        to space 116224K, 0% used [0x00000000f1d00000,0x00000000f1d00000,0x00000000f8e80000)
       ParOldGen total 699392K, used 520847K [0x00000000c0000000, 0x00000000eab00000, 0x00000000eab00000)
        object space 699392K, 74% used [0x00000000c0000000,0x00000000dfca3d88,0x00000000eab00000)
       Metaspace used 20560K, capacity 20920K, committed 21248K, reserved 1069056K
        class space used 2149K, capacity 2274K, committed 2304K, reserved 1048576K
      Event: 379304.337 GC heap after
      Heap after GC invocations=2876760 (full 214806):
       PSYoungGen total 232960K, used 40561K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000)
        eden space 116736K, 0% used [0x00000000eab00000,0x00000000eab00000,0x00000000f1d00000)
        from space 116224K, 34% used [0x00000000f1d00000,0x00000000f449c460,0x00000000f8e80000)
        to space 116224K, 0% used [0x00000000f8e80000,0x00000000f8e80000,0x0000000100000000)
       ParOldGen total 699392K, used 520871K [0x00000000c0000000, 0x00000000eab00000, 0x00000000eab00000)
        object space 699392K, 74% used [0x00000000c0000000,0x00000000dfca9d88,0x00000000eab00000)
       Metaspace used 20560K, capacity 20920K, committed 21248K, reserved 1069056K
        class space used 2149K, capacity 2274K, committed 2304K, reserved 1048576K
      }
      Event: 379304.445 GC heap before
      {Heap before GC invocations=2876761 (full 214806):
       PSYoungGen total 232960K, used 152418K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000)
        eden space 116736K, 95% used [0x00000000eab00000,0x00000000f183c660,0x00000000f1d00000)
        from space 116224K, 34% used [0x00000000f1d00000,0x00000000f449c460,0x00000000f8e80000)
        to space 116224K, 0% used [0x00000000f8e80000,0x00000000f8e80000,0x0000000100000000)
       ParOldGen total 699392K, used 520871K [0x00000000c0000000, 0x00000000eab00000, 0x00000000eab00000)
        object space 699392K, 74% used [0x00000000c0000000,0x00000000dfca9d88,0x00000000eab00000)
       Metaspace used 20560K, capacity 20920K, committed 21248K, reserved 1069056K
        class space used 2149K, capacity 2274K, committed 2304K, reserved 1048576K
      Event: 379304.452 GC heap after
      Heap after GC invocations=2876761 (full 214806):
       PSYoungGen total 232960K, used 20296K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000)
        eden space 116736K, 0% used [0x00000000eab00000,0x00000000eab00000,0x00000000f1d00000)
        from space 116224K, 17% used [0x00000000f8e80000,0x00000000fa252230,0x0000000100000000)
        to space 116224K, 0% used [0x00000000f1d00000,0x00000000f1d00000,0x00000000f8e80000)
       ParOldGen total 699392K, used 561328K [0x00000000c0000000, 0x00000000eab00000, 0x00000000eab00000)
        object space 699392K, 80% used [0x00000000c0000000,0x00000000e242c1e8,0x00000000eab00000)
       Metaspace used 20560K, capacity 20920K, committed 21248K, reserved 1069056K
        class space used 2149K, capacity 2274K, committed 2304K, reserved 1048576K
      }

      Deoptimization events (10 events):
      Event: 360138.288 Thread 0x000000001a4f8000 Uncommon trap: reason=unloaded action=reinterpret pc=0x00000000038ca510 method=com.lifetouch.lti.image.io.ImageDecoder.decodeArray()Lcom/lifetouch/lti/image/IpImage; @ 17
      Event: 360138.336 Thread 0x000000001a4f8000 Uncommon trap: reason=unloaded action=reinterpret pc=0x0000000002f7e904 method=com.lifetouch.lti.image.handle.AbstractContextImageHandle.fetchImage(I)Lcom/lifetouch/lti/image/source/ImageAndMetadata; @ 55
      Event: 360138.364 Thread 0x000000001a4f8000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000386df6c method=java.text.MessageFormat.subformat([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/util/List;)Ljava/lang/StringBuffer; @ 192
      Event: 369828.054 Thread 0x000000001a4f9800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000002ec298c method=com.lifetouch.lti.image.ipp.ifs.IppSmooth.filter(Ljava/awt/image/BufferedImage;Ljava/awt/image/BufferedImage;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava°SôÖ’’A
      Event: 369828.710 Thread 0x000000001a4f9800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000386df6c method=java.text.MessageFormat.subformat([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/util/List;)Ljava/lang/StringBuffer; @ 192
      Event: 369834.446 Thread 0x000000001a4f8000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000360c7f8 method=com.lifetouch.lti.image.ipp.ifs.IppComposite.compositeAux(Ljava/awt/image/BufferedImage;ZLjava/awt/image/BufferedImage;Ljava/awt/image/BufferedImage;ZLjava/awt/image/BufferedEª,Ž/þA
      Event: 376715.889 Thread 0x000000001a4f3000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002bf4d0c method=java.lang.Throwable.<init>()V @ 24
      Event: 376716.316 Thread 0x000000001a4f9000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002bf4d0c method=java.lang.Throwable.<init>()V @ 24
      Event: 376716.718 Thread 0x000000001a4f5000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002bf4d0c method=java.lang.Throwable.<init>()V @ 24
      Event: 376717.093 Thread 0x000000001a4f4800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002bf4d0c method=java.lang.Throwable.<init>()V @ 24

      Internal exceptions (10 events):
      Event: 379298.696 Thread 0x000000001a4f9000 Exception <a 'java/lang/OutOfMemoryError'> (0x00000000ebea7ab8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u102\7268\hotspot\src\share\vm\prims\jni.cpp, line 735]
      Event: 379299.071 Thread 0x000000001a4f7800 Exception <a 'java/lang/OutOfMemoryError'> (0x00000000efae7638) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u102\7268\hotspot\src\share\vm\prims\jni.cpp, line 735]
      Event: 379299.474 Thread 0x000000001a4f7800 Exception <a 'java/lang/OutOfMemoryError'> (0x00000000edd7e298) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u102\7268\hotspot\src\share\vm\prims\jni.cpp, line 735]
      Event: 379299.857 Thread 0x000000001a4f5000 Exception <a 'java/lang/OutOfMemoryError'> (0x00000000ebe97788) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u102\7268\hotspot\src\share\vm\prims\jni.cpp, line 735]
      Event: 379300.237 Thread 0x000000001a4f3000 Exception <a 'java/lang/OutOfMemoryError'> (0x00000000ebea7ab8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u102\7268\hotspot\src\share\vm\prims\jni.cpp, line 735]
      Event: 379301.780 Thread 0x000000001a4f3000 Exception <a 'java/lang/OutOfMemoryError'> (0x00000000ed5fafc8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u102\7268\hotspot\src\share\vm\prims\jni.cpp, line 735]
      Event: 379302.160 Thread 0x000000001a4f8000 Exception <a 'java/lang/OutOfMemoryError'> (0x00000000edc2c058) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u102\7268\hotspot\src\share\vm\prims\jni.cpp, line 735]
      Event: 379302.542 Thread 0x000000001a4f3000 Exception <a 'java/lang/OutOfMemoryError'> (0x00000000eadd6df0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u102\7268\hotspot\src\share\vm\prims\jni.cpp, line 735]
      Event: 379302.925 Thread 0x000000001a4f9000 Exception <a 'java/lang/OutOfMemoryError'> (0x00000000ef240d58) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u102\7268\hotspot\src\share\vm\prims\jni.cpp, line 735]
      Event: 379303.335 Thread 0x000000001a4f3000 Exception <a 'java/lang/OutOfMemoryError'> (0x00000000ed4ec628) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u102\7268\hotspot\src\share\vm\prims\jni.cpp, line 735]

      Events (10 events):
      Event: 379304.249 Executing VM operation: ParallelGCFailedAllocation
      Event: 379304.262 Executing VM operation: ParallelGCFailedAllocation done
      Event: 379304.333 Executing VM operation: ParallelGCFailedAllocation
      Event: 379304.337 Executing VM operation: ParallelGCFailedAllocation done
      Event: 379304.445 Executing VM operation: ParallelGCFailedAllocation
      Event: 379304.452 Executing VM operation: ParallelGCFailedAllocation done
      Event: 379304.505 Executing VM operation: BulkRevokeBias
      Event: 379304.505 Executing VM operation: BulkRevokeBias done
      Event: 379304.516 Executing VM operation: BulkRevokeBias
      Event: 379304.516 Executing VM operation: BulkRevokeBias done


      Dynamic libraries:
      0x00007ff7488b0000 - 0x00007ff7488e7000 C:\ProgramData\Oracle\Java\javapath\java.exe
      0x00007ffca75f0000 - 0x00007ffca77b1000 C:\WINDOWS\SYSTEM32\ntdll.dll
      0x00007ffca4ea0000 - 0x00007ffca4f4d000 C:\WINDOWS\system32\KERNEL32.DLL
      0x00007ffca3e10000 - 0x00007ffca3ff8000 C:\WINDOWS\system32\KERNELBASE.dll
      0x00007ffca4bb0000 - 0x00007ffca4c57000 C:\WINDOWS\system32\ADVAPI32.dll
      0x00007ffca54b0000 - 0x00007ffca554d000 C:\WINDOWS\system32\msvcrt.dll
      0x00007ffca4b50000 - 0x00007ffca4bab000 C:\WINDOWS\system32\sechost.dll
      0x00007ffca5f70000 - 0x00007ffca608c000 C:\WINDOWS\system32\RPCRT4.dll
      0x00007ffca4c60000 - 0x00007ffca4db6000 C:\WINDOWS\system32\USER32.dll
      0x00007ffca5de0000 - 0x00007ffca5f66000 C:\WINDOWS\system32\GDI32.dll
      0x00007ffc9bda0000 - 0x00007ffc9c014000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.10586.589_none_a2ddb3caa539acce\COMCTL32.dll
      0x00007ffca4fd0000 - 0x00007ffca524d000 C:\WINDOWS\system32\combase.dll
      0x00007ffca3d10000 - 0x00007ffca3d7a000 C:\WINDOWS\system32\bcryptPrimitives.dll
      0x00007ffca5640000 - 0x00007ffca567b000 C:\WINDOWS\system32\IMM32.DLL
      0x000000006dca0000 - 0x000000006dd71000 C:\JAVA\bin\msvcr100.dll
      0x000000006d400000 - 0x000000006dc9a000 C:\JAVA\bin\server\jvm.dll
      0x00007ffca5680000 - 0x00007ffca5688000 C:\WINDOWS\system32\PSAPI.DLL
      0x00007ffc8f240000 - 0x00007ffc8f249000 C:\WINDOWS\SYSTEM32\WSOCK32.dll
      0x00007ffca24b0000 - 0x00007ffca24d3000 C:\WINDOWS\SYSTEM32\WINMM.dll
      0x00007ffca0f50000 - 0x00007ffca0f5a000 C:\WINDOWS\SYSTEM32\VERSION.dll
      0x00007ffca4f50000 - 0x00007ffca4fbb000 C:\WINDOWS\system32\WS2_32.dll
      0x0000000000dc0000 - 0x0000000000dec000 C:\WINDOWS\SYSTEM32\WINMMBASE.dll
      0x00007ffca3ca0000 - 0x00007ffca3ce3000 C:\WINDOWS\system32\cfgmgr32.dll
      0x000000006f520000 - 0x000000006f52f000 C:\JAVA\bin\verify.dll
      0x000000006d3d0000 - 0x000000006d3f9000 C:\JAVA\bin\java.dll
      0x000000006e6a0000 - 0x000000006e6b6000 C:\JAVA\bin\zip.dll
      0x00007ffca6090000 - 0x00007ffca75ec000 C:\WINDOWS\system32\SHELL32.dll
      0x00007ffca4340000 - 0x00007ffca4985000 C:\WINDOWS\system32\windows.storage.dll
      0x00007ffca5d80000 - 0x00007ffca5dd2000 C:\WINDOWS\system32\shlwapi.dll
      0x00007ffca3c70000 - 0x00007ffca3c7f000 C:\WINDOWS\system32\kernel.appcore.dll
      0x00007ffca40b0000 - 0x00007ffca4165000 C:\WINDOWS\system32\shcore.dll
      0x00007ffca3c10000 - 0x00007ffca3c5b000 C:\WINDOWS\system32\powrprof.dll
      0x00007ffca3c80000 - 0x00007ffca3c94000 C:\WINDOWS\system32\profapi.dll
      0x000000006d230000 - 0x000000006d3c8000 C:\JAVA\bin\awt.dll
      0x00007ffca5550000 - 0x00007ffca5616000 C:\WINDOWS\system32\OLEAUT32.dll
      0x00007ffca2310000 - 0x00007ffca2389000 C:\WINDOWS\system32\apphelp.dll
      0x00007ffca1510000 - 0x00007ffca1532000 C:\WINDOWS\system32\DWMAPI.DLL
      0x00007ffca2800000 - 0x00007ffca2896000 C:\WINDOWS\system32\uxtheme.dll
      0x00007ffca49f0000 - 0x00007ffca4b4a000 C:\WINDOWS\system32\MSCTF.dll
      0x00007ffca56f0000 - 0x00007ffca5833000 C:\WINDOWS\system32\ole32.dll
      0x000000006d1e0000 - 0x000000006d227000 C:\JAVA\bin\fontmanager.dll
      0x000000006d1c0000 - 0x000000006d1da000 C:\JAVA\bin\net.dll
      0x00007ffca34e0000 - 0x00007ffca353c000 C:\WINDOWS\system32\mswsock.dll
      0x000000006d1a0000 - 0x000000006d1b1000 C:\JAVA\bin\nio.dll
      0x000000006d150000 - 0x000000006d192000 C:\JAVA\bin\t2k.dll
      0x00007ffc752b0000 - 0x00007ffc764b1000 C:\JAVA\bin\jippLtiIpp64.dll
      0x00007ffca5400000 - 0x00007ffca54a7000 C:\WINDOWS\system32\clbcatq.dll
      0x00007ffca3590000 - 0x00007ffca35a7000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll
      0x00007ffca3220000 - 0x00007ffca3254000 C:\WINDOWS\system32\rsaenh.dll
      0x00007ffca3b40000 - 0x00007ffca3b69000 C:\WINDOWS\SYSTEM32\bcrypt.dll
      0x00007ffca3370000 - 0x00007ffca338f000 C:\WINDOWS\SYSTEM32\USERENV.dll
      0x00007ffca36b0000 - 0x00007ffca36bb000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
      0x00007ffca16b0000 - 0x00007ffca16e8000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
      0x00007ffca4e30000 - 0x00007ffca4e38000 C:\WINDOWS\system32\NSI.dll
      0x00007ffc9e010000 - 0x00007ffc9e026000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL
      0x00007ffc9dff0000 - 0x00007ffc9e00a000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL
      0x000000006d110000 - 0x000000006d141000 C:\JAVA\bin\jpeg.dll
      0x000000006d0d0000 - 0x000000006d10c000 C:\JAVA\bin\lcms.dll

      VM Arguments:
      jvm_args: -Xms1024m -Xmx1024m -Djava.util.logging.config.file=logging.properties
      java_command: com.lifetouch.lti.main.RenderEngineTester scriptFolder=..\production_render_all
      java_class_path (initial): RenderEngineTester-0.0.1-SNAPSHOT.jar;dependencies\aopalliance-1.0.jar;dependencies\aws-java-sdk-1.3.20.jar;dependencies\commons-codec-1.4.jar;dependencies\commons-io-1.2.jar;dependencies\commons-lang-2.1.jar;dependencies\commons-logging-1.1.1.jar;dependencies\dom4j-1.6.1.jar;dependencies\ehcache-core-2.6.6.jar;dependencies\hamcrest-core-1.3.jar;dependencies\httpclient-4.1.jar;dependencies\httpclient-cache-4.1.jar;dependencies\httpcore-4.1.jar;dependencies\httpmime-4.1.jar;dependencies\ImagePath_Core-9.1.2-SNAPSHOT.jar;dependencies\ImagePath_ImageAnalysis-9.1.2-SNAPSHOT.jar;dependencies\ImagePath_LPSIntegration-9.1.2-SNAPSHOT.jar;dependencies\ImagePath_RenderEngine-9.1.2-SNAPSHOT.jar;dependencies\ImagePath_SceneApplication-9.1.2-SNAPSHOT.jar;dependencies\ImagePath_SmallApps-9.1.2-SNAPSHOT.jar;dependencies\IPP-6.0.0-natives-linux.jar;dependencies\IPP-6.0.0-natives-macos.jar;dependencies\IPP-6.0.0-natives-windows.jar;dependencies\IPP-6.0.0.jar;dependencies\itextpdf-5.1.3.jar;dependencies\jackson-annotations-2.4.0.jar;dependencies\jackson-core-2.4.4.jar;dependencies\jackson-core-asl-1.8.9.jar;dependencies\jackson-databind-2.4.4.jar;dependencies\jackson-mapper-asl-1.8.9.jar;dependencies\jaiImageIo-1.0.0.jar;dependencies\jdom-1.1.3.jar;dependencies\jibx-run-1.2.5.jar;dependencies\joda-time-2.9.5.jar;dependencies\json-20090211.jar;dependencies\metadata-extractor-2.8.1.jar;dependencies\objenesis-1.0.jar;dependencies\opencsv-2.3.jar;dependencies\RenderAssetsCustomLTI-0.0.17.jar;dependencies\RenderAssetsStandard-0.0.17.jar;dependencies\slf4j-api-1.6.1.jar;dependencies\slf4j-jdk14-1.6.1.jar;dependencies\spring-aop-3.2.13.RELEASE.jar;dependencies\spring-beans-3.2.13.RELEASE.jar;dependencies\spring-context-3.2.13.RELEASE.jar;dependencies\spring-core-3.2.13.RELEASE.jar;dependencies\spring-expression-3.2.13.RELEASE.jar;dependencies\xml-apis-1.0.b2.jar;dependencies\xmpcore-5.1.2.jar;dependencies\xpp3-1.1.3.4.O.jar
      Launcher Type: SUN_STANDARD

      Environment Variables:
      PATH=C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\JAVA7\bin;C:\Program Files\MATLAB\R2016b\bin;C:\Program Files\TortoiseSVN\bin
      USERNAME=LTIUSER1
      OS=Windows_NT
      PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 60 Stepping 3, GenuineIntel



      --------------- S Y S T E M ---------------

      OS: Windows 10.0 , 64 bit Build 10586 (10.0.10586.589)

      CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 60 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2

      Memory: 4k page, physical 8294360k(1126256k free), swap 9921916k(3244k free)

      vm_info: Java HotSpot(TM) 64-Bit Server VM (25.102-b14) for windows-amd64 JRE (1.8.0_102-b14), built on Jun 22 2016 13:15:21 by "java_re" with MS VC++ 10.0 (VS2010)

      time: Mon Mar 13 21:59:21 2017
      elapsed time: 379304 seconds (4d 9h 21m 44s)



      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      package com.lifetouch.lti.CmmDllMemoryLeakTester;

      import java.awt.color.ICC_Profile;
      import java.awt.image.BufferedImage;
      import java.awt.image.ColorConvertOp;
      import java.io.File;
      import java.io.IOException;

      public class App {
      private static ColorConvertOp theColorConverter;

      public static void main(String[] args) throws IOException {
      if (args.length < 1) {
      System.out.println("Please pass the path to a color profile files the only parameter.");
      System.exit(-1);
      }
      String profilePath1 = args[0];
      File profileFile1 = new File(profilePath1);

      BufferedImage inBufferedImage = new BufferedImage(2100, 3200, BufferedImage.TYPE_INT_RGB);

      int count = 0;
      while (true) {
      if (theColorConverter == null) {
      ICC_Profile adobe98Profile = ICC_Profile.getInstance(profileFile1.getAbsolutePath());
      ICC_Profile[] profiles = new ICC_Profile[] { adobe98Profile };
      theColorConverter = new ColorConvertOp(profiles, null);
      }

      theColorConverter.filter(inBufferedImage, inBufferedImage);

      System.out.println("Just did image #" + count);
      count++;
      }
      }
      }

      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      I haven't found a work-around.

            pardesha Pardeep Sharma
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: