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

[AIX] ShrinkGrowMultiJVM.java fails on AIX

XMLWordPrintable

      The test fails probably because of JDK-8338526:

      vmTestbase/metaspace/shrink_grow/ShrinkGrowMultiJVM/ShrinkGrowMultiJVM.java fail on AIX.
      Exception/error message is
      metaspace.shrink_grow.ShrinkGrowTest.ShrinkGrowTest$TestFault: %jvm#2%We haven't cleaned metaspace yet!
      at metaspace.shrink_grow.ShrinkGrowTest.ShrinkGrowTest.throwFault(ShrinkGrowTest.java:105)
      at metaspace.shrink_grow.ShrinkGrowTest.ShrinkGrowTest.go(ShrinkGrowTest.java:150)
      at metaspace.shrink_grow.ShrinkGrowTest.ShrinkGrowTest.run(ShrinkGrowTest.java:125)
      at metaspace.shrink_grow.ShrinkGrowTest.ShrinkGrowTest.main(ShrinkGrowTest.java:82)
      Exception in thread "main" metaspace.shrink_grow.ShrinkGrowTest.ShrinkGrowTest$TestFault: %jvm#2%We haven't cleaned metaspace yet!
      at metaspace.shrink_grow.ShrinkGrowTest.ShrinkGrowTest.throwFault(ShrinkGrowTest.java:105)
      at metaspace.shrink_grow.ShrinkGrowTest.ShrinkGrowTest.go(ShrinkGrowTest.java:150)
      at metaspace.shrink_grow.ShrinkGrowTest.ShrinkGrowTest.run(ShrinkGrowTest.java:125)
      at metaspace.shrink_grow.ShrinkGrowTest.ShrinkGrowTest.main(ShrinkGrowTest.java:82)
      %jvm#2%failed :%jvm#2%We haven't cleaned metaspace yet!

      Comments copied from JDK-8338526:
      [Coleen]
      I don't know if JDK-8340184 will fix it. The test is trying to fill class metaspace with interface classes, which is harder for it to do. It should probably be fixed to not use an interface class. Also I had to change the test to not get OOME for metaspace for String concat classes that were wrapped in BootstrapMethodError.

      [Thomas]
      I took a look at the test but did not really understand what is going wrong here. Someone will have to analyze on AIX.

      We move interface classes from class metaspace to non-class metaspace. But the total Metaspace usage should not change (much, modulo tiny alignment effects). The test runs with -XX:+MaxMetaspaceSize. That size is a threshold for the sum of class and non-class metaspace. It should not matter much whether we now use more non-class metaspace at the expense of less class space, the sum should be nearly identical.

      I also don't get what AIX has to do with this, but remember Andreas Steiner asking me not long ago why AIX metaspace usage is higher than other platforms. No idea why, unless ppc JIT needs more memory for things like methodcounters? That is the only thing I could think of that could bring per-platform differences.

            varadam Varada M
            mdoerr Martin Doerr
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: