-
Bug
-
Resolution: Fixed
-
P3
-
11, 13
-
b14
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8319320 | 11.0.23-oracle | Daniel Skantz | P3 | Resolved | Fixed | b01 |
JDK-8321426 | 11.0.23 | Andrew Lu | P3 | Resolved | Fixed | b01 |
compiler.codecache.stress.Helper.TestCaseImpl is a nested inner class of
compiler.codecache.stress.Helper so they have nestmate relationship.
However the test defines TestCaseImpl class with a different class loader in
a different runtime package as its nest host class
compiler.codecache.stress.Helper.
TestCaseImpl has a NestHost attribute but TestCaseImpl does not rely on
nestmate access it never validates the nest relationship and so this
problem is not seen.
These tests must be fixed beforeJDK-8171335 that will change the lambda
generation using dynamic nestmates where the nest-host of the nested class
has to be retrieved and results in a failure:
Exception: java.lang.IncompatibleClassChangeError: Type compiler.codecache.stress.Helper$TestCaseImpl (loader: jdk.test.lib.ByteCodeLoader ...) is not a nest member of compiler.codecache.stress.Helper (loader: 'app'): types are in different packages
The nest-host and the nest members must all be in the same package.
The test should be rewritten to use top-level classes rather then nested ones.
http://hg.openjdk.java.net/valhalla/valhalla/rev/ab7ea72963c9
is the patch fixing these tests in valhalla repo nestmates branch.
compiler.codecache.stress.Helper so they have nestmate relationship.
However the test defines TestCaseImpl class with a different class loader in
a different runtime package as its nest host class
compiler.codecache.stress.Helper.
TestCaseImpl has a NestHost attribute but TestCaseImpl does not rely on
nestmate access it never validates the nest relationship and so this
problem is not seen.
These tests must be fixed before
generation using dynamic nestmates where the nest-host of the nested class
has to be retrieved and results in a failure:
Exception: java.lang.IncompatibleClassChangeError: Type compiler.codecache.stress.Helper$TestCaseImpl (loader: jdk.test.lib.ByteCodeLoader ...) is not a nest member of compiler.codecache.stress.Helper (loader: 'app'): types are in different packages
The nest-host and the nest members must all be in the same package.
The test should be rewritten to use top-level classes rather then nested ones.
http://hg.openjdk.java.net/valhalla/valhalla/rev/ab7ea72963c9
is the patch fixing these tests in valhalla repo nestmates branch.
- backported by
-
JDK-8319320 [TESTBUG] compiler.codecache.stress.Helper.TestCaseImpl can't be defined in different runtime package as its nest host
-
- Resolved
-
-
JDK-8321426 [TESTBUG] compiler.codecache.stress.Helper.TestCaseImpl can't be defined in different runtime package as its nest host
-
- Resolved
-
- relates to
-
JDK-8171335 MethodHandle.Lookup functionality to define a nestmate class
-
- Closed
-