JDK-8340274 : [AIX] ShrinkGrowMultiJVM.java fails on AIX
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 24
  • Priority: P4
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: aix
  • Submitted: 2024-09-17
  • Updated: 2025-08-08
  • Resolved: 2025-08-08
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 24
24Resolved
Related Reports
Relates :  
Relates :  
Description
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.
Comments
It looks like the issue disappeared from our tests after 9th of October 2024. So I'm closing this issue.
08-08-2025