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

Memory leak in PermGen during excessive class loading

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 6
    • 6
    • hotspot
    • b91
    • generic
    • solaris
    • Verified

      A number of tests fail with OutOfMemoryError in PermGen, though PermGen is not exhausted.
      GC debug output shows no PermGen space exhaustion. Here it is just before described situation:
      {Heap before GC invocations=383 (full 177):
       PSYoungGen total 58688K, used 645K [0xf7800000, 0xfb200000, 0xfb200000)
        eden space 57984K, 0% used [0xf7800000,0xf7800000,0xfb0a0000)
        from space 704K, 91% used [0xfb150000,0xfb1f15a8,0xfb200000)
        to space 704K, 0% used [0xfb0a0000,0xfb0a0000,0xfb150000)
       PSOldGen total 466944K, used 824K [0xdb000000, 0xf7800000, 0xf7800000)
        object space 466944K, 0% used [0xdb000000,0xdb0ce038,0xf7800000)
       PSPermGen total 22528K, used 22527K [0xd9a00000, 0xdb000000, 0xdb000000)
        object space 22528K, 99% used [0xd9a00000,0xdafffcd0,0xdb000000)
       [PSYoungGen: 645K->0K(58688K)] [PSOldGen: 824K->1145K(466944K)] 1469K->1145K(525632K) [PSPermGen: 22527K->3321K(22528K)], 0.0409780 secs]
      Heap after GC invocations=383 (full 177):
       PSYoungGen total 58688K, used 0K [0xf7800000, 0xfb200000, 0xfb200000)
        eden space 57984K, 0% used [0xf7800000,0xf7800000,0xfb0a0000)
        from space 704K, 0% used [0xfb150000,0xfb150000,0xfb200000)
        to space 704K, 0% used [0xfb0a0000,0xfb0a0000,0xfb150000)
       PSOldGen total 466944K, used 1145K [0xdb000000, 0xf7800000, 0xf7800000)
        object space 466944K, 0% used [0xdb000000,0xdb11e7d0,0xf7800000)
       PSPermGen total 22528K, used 3321K [0xd9a00000, 0xdb000000, 0xdb000000)
        object space 22528K, 14% used [0xd9a00000,0xd9d3e750,0xdb000000)
      }

      During test execution, swap space exhaustion is observed.

      In some cases inspite of throwing OOME JVM can crash with the following messages:

      # An unexpected error has been detected by Java Runtime Environment:
      #
      # SIGBUS (0xa) at pc=0xfc40c4c8, pid=17847, tid=3146
      #
      # Java VM: Java HotSpot(TM) Server VM (1.6.0-beta2-b80 mixed mode)
      # Problematic frame:
      # j java.lang.OutOfMemoryError.<init>()V+0

      or

      # java.lang.OutOfMemoryError: requested 11302 bytes for u1 in /BUILD_AREA/jdk6.0/hotspot/src/share/vm/runtime/classFileParser.cpp. Out of swap space?
      #
      # Internal Error (/BUILD_AREA/jdk6.0/hotspot/src/share/vm/memory/allocation.inline.hpp, 23 [ Patched ]), pid=18467, tid=2970
      #
      # Java VM: Java HotSpot(TM) Server VM (1.6.0-beta2-fastdebug-b80-debug mixed mode)

      How to reproduce:
          1. Go to /net/vmsqe-amd-01.russia/export2/homes/vi158347/OOME_In_PermGen
          2. Specify tested JDK in JAVA_HOME environment variable
          3. Run reproduce.sh
      Optional:
          additional JVM flags can be passed through EXT_FLAGS variable

      Also, a number of hs_err* files generated after crashes are stored with reproduce script.

      Affected tests:
          runtime/ParallelClassLoading/mixed/combine/forName/mixed_2
          runtime/ParallelClassLoading/mixed/combine/forName/mixed_3
          runtime/ParallelClassLoading/mixed/combine/forName/mixed_4
          runtime/ParallelClassLoading/mixed/combine/forName/mixed_5
          runtime/ParallelClassLoading/mixed/combine/forName/mixed_6
          runtime/ParallelClassLoading/mixed/combine/forName/mixed_7
          runtime/ParallelClassLoading/mixed/combine/forName/mixed_8
          runtime/ParallelClassLoading/mixed/combine/forName/mixed_9
          runtime/ParallelClassLoading/mixed/combine/forName/mixed_10
          runtime/ParallelClassLoading/mixed/combine/loadClass/mixed_2
          runtime/ParallelClassLoading/mixed/combine/loadClass/mixed_3
          runtime/ParallelClassLoading/mixed/combine/loadClass/mixed_4
          runtime/ParallelClassLoading/mixed/combine/loadClass/mixed_5
          runtime/ParallelClassLoading/mixed/combine/loadClass/mixed_6
          runtime/ParallelClassLoading/mixed/combine/loadClass/mixed_7
          runtime/ParallelClassLoading/mixed/combine/loadClass/mixed_8
          runtime/ParallelClassLoading/mixed/combine/loadClass/mixed_9
          runtime/ParallelClassLoading/mixed/combine/loadClass/mixed_10

            kamg Keith Mcguigan (Inactive)
            vlivanov Vladimir Ivanov
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: