-
Bug
-
Resolution: Fixed
-
P4
-
21.0.7
-
b01
-
generic
-
generic
Backout the backport of 8337994 to 21u.
We see failures of test/jdk/jdk/jfr/jvm/TestChunkIntegrity.java with slowdebug and fastdebug builds.
The failure is well reproducible with the slowdebug build, but with faster binaries the test passes sometimes.
In our nightly CI with high load the fastdebug build fails reliably.
From the .jtr file of the testruns:
Veryfying chunk: disassembled/recording_00.jfr 0
Veryfying chunk: disassembled/recording_01.jfr 3338
Veryfying chunk: disassembled/recording_02.jfr 9083
One value null
Value A: {
type = N/A
name = "bootstrap"
}
Value B: null
Field classLoader doesn't match
Value A: {
type = N/A
name = "bootstrap"
}
Value B: null
Field type doesn't match
Value A: {
classLoader = null
name = "jdk/internal/loader/ClassLoaders$AppClassLoader"
package = {
name = "jdk/internal/loader"
module = {
name = "java.base"
version = "21.0.7-internal"
location = "jrt:/java.base"
classLoader = null
}
exported = true
}
modifiers = 10
hidden = false
}
Value B: {
classLoader = N/A
name = "jdk/internal/loader/ClassLoaders$AppClassLoader"
package = {
name = "jdk/internal/loader"
module = {
name = "java.base"
version = "21.0.7-internal"
location = "jrt:/java.base"
classLoader = N/A
}
exported = true
}
modifiers = 10
hidden = false
}
Field classLoader doesn't match
Value A: {
type = jdk.internal.loader.ClassLoaders$AppClassLoader (classLoader = bootstrap)
name = "app"
}
Value B: {
type = jdk.internal.loader.ClassLoaders$AppClassLoader (classLoader = null)
name = "app"
}
Field type doesn't match
Value A: {
classLoader = jdk.internal.loader.ClassLoaders$AppClassLoader (id = 3)
name = "jdk/jfr/jvm/TestChunkIntegrity$ClassStressor"
package = {
name = "jdk/jfr/jvm"
module = {
name = N/A
version = N/A
location = N/A
classLoader = jdk.internal.loader.ClassLoaders$AppClassLoader (id = 3)
}
exported = true
}
modifiers = 8
hidden = false
}
Value B: {
classLoader = jdk.internal.loader.ClassLoaders$AppClassLoader (id = 3)
name = "jdk/jfr/jvm/TestChunkIntegrity$ClassStressor"
package = {
name = "jdk/jfr/jvm"
module = {
name = N/A
version = N/A
location = N/A
classLoader = jdk.internal.loader.ClassLoaders$AppClassLoader (id = 3)
}
exported = true
}
modifiers = 8
hidden = false
}
Field method doesn't match
Value A: {
type = jdk.jfr.jvm.TestChunkIntegrity$ClassStressor (classLoader = app)
name = "stress"
descriptor = "()V"
modifiers = 4
hidden = false
}
Value B: {
type = jdk.jfr.jvm.TestChunkIntegrity$ClassStressor (classLoader = app)
name = "stress"
descriptor = "()V"
modifiers = 4
hidden = false
}
Array contents doesn't match
Field frames doesn't match
Value A: [Ljava.lang.Object;@16e87903
Value B: [Ljava.lang.Object;@466281af
Object A:
Clazz {
startTime = 01:26:04.779 (2024-12-12)
clazz = jdk.jfr.jvm.TestChunkIntegrity$MyClass (classLoader = JFR TestClassLoader)
eventThread = "Thread-1" (javaThreadId = 33)
stackTrace = [
jdk.jfr.jvm.TestChunkIntegrity$ClassStressor.stress() line: 272
jdk.jfr.jvm.TestChunkIntegrity$StressThread.run() line: 75
]
}
Object B:
Clazz {
startTime = 01:26:04.779 (2024-12-12)
clazz = jdk.jfr.jvm.TestChunkIntegrity$MyClass (classLoader = JFR TestClassLoader)
eventThread = "Thread-1" (javaThreadId = 33)
stackTrace = [
jdk.jfr.jvm.TestChunkIntegrity$ClassStressor.stress() line: 272
jdk.jfr.jvm.TestChunkIntegrity$StressThread.run() line: 75
]
}
----------System.err:(12/755)----------
java.lang.AssertionError: Events don't match. Event number 0
at jdk.jfr.jvm.TestChunkIntegrity.assertEventEquals(TestChunkIntegrity.java:174)
at jdk.jfr.jvm.TestChunkIntegrity.main(TestChunkIntegrity.java:131)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.Thread.run(Thread.java:1583)
JavaTest Message: Test threw exception: java.lang.AssertionError: Events don't match. Event number 0
JavaTest Message: shutting down test
STATUS:Failed.`main' threw exception: java.lang.AssertionError: Events don't match. Event number 0
We see failures of test/jdk/jdk/jfr/jvm/TestChunkIntegrity.java with slowdebug and fastdebug builds.
The failure is well reproducible with the slowdebug build, but with faster binaries the test passes sometimes.
In our nightly CI with high load the fastdebug build fails reliably.
From the .jtr file of the testruns:
Veryfying chunk: disassembled/recording_00.jfr 0
Veryfying chunk: disassembled/recording_01.jfr 3338
Veryfying chunk: disassembled/recording_02.jfr 9083
One value null
Value A: {
type = N/A
name = "bootstrap"
}
Value B: null
Field classLoader doesn't match
Value A: {
type = N/A
name = "bootstrap"
}
Value B: null
Field type doesn't match
Value A: {
classLoader = null
name = "jdk/internal/loader/ClassLoaders$AppClassLoader"
package = {
name = "jdk/internal/loader"
module = {
name = "java.base"
version = "21.0.7-internal"
location = "jrt:/java.base"
classLoader = null
}
exported = true
}
modifiers = 10
hidden = false
}
Value B: {
classLoader = N/A
name = "jdk/internal/loader/ClassLoaders$AppClassLoader"
package = {
name = "jdk/internal/loader"
module = {
name = "java.base"
version = "21.0.7-internal"
location = "jrt:/java.base"
classLoader = N/A
}
exported = true
}
modifiers = 10
hidden = false
}
Field classLoader doesn't match
Value A: {
type = jdk.internal.loader.ClassLoaders$AppClassLoader (classLoader = bootstrap)
name = "app"
}
Value B: {
type = jdk.internal.loader.ClassLoaders$AppClassLoader (classLoader = null)
name = "app"
}
Field type doesn't match
Value A: {
classLoader = jdk.internal.loader.ClassLoaders$AppClassLoader (id = 3)
name = "jdk/jfr/jvm/TestChunkIntegrity$ClassStressor"
package = {
name = "jdk/jfr/jvm"
module = {
name = N/A
version = N/A
location = N/A
classLoader = jdk.internal.loader.ClassLoaders$AppClassLoader (id = 3)
}
exported = true
}
modifiers = 8
hidden = false
}
Value B: {
classLoader = jdk.internal.loader.ClassLoaders$AppClassLoader (id = 3)
name = "jdk/jfr/jvm/TestChunkIntegrity$ClassStressor"
package = {
name = "jdk/jfr/jvm"
module = {
name = N/A
version = N/A
location = N/A
classLoader = jdk.internal.loader.ClassLoaders$AppClassLoader (id = 3)
}
exported = true
}
modifiers = 8
hidden = false
}
Field method doesn't match
Value A: {
type = jdk.jfr.jvm.TestChunkIntegrity$ClassStressor (classLoader = app)
name = "stress"
descriptor = "()V"
modifiers = 4
hidden = false
}
Value B: {
type = jdk.jfr.jvm.TestChunkIntegrity$ClassStressor (classLoader = app)
name = "stress"
descriptor = "()V"
modifiers = 4
hidden = false
}
Array contents doesn't match
Field frames doesn't match
Value A: [Ljava.lang.Object;@16e87903
Value B: [Ljava.lang.Object;@466281af
Object A:
Clazz {
startTime = 01:26:04.779 (2024-12-12)
clazz = jdk.jfr.jvm.TestChunkIntegrity$MyClass (classLoader = JFR TestClassLoader)
eventThread = "Thread-1" (javaThreadId = 33)
stackTrace = [
jdk.jfr.jvm.TestChunkIntegrity$ClassStressor.stress() line: 272
jdk.jfr.jvm.TestChunkIntegrity$StressThread.run() line: 75
]
}
Object B:
Clazz {
startTime = 01:26:04.779 (2024-12-12)
clazz = jdk.jfr.jvm.TestChunkIntegrity$MyClass (classLoader = JFR TestClassLoader)
eventThread = "Thread-1" (javaThreadId = 33)
stackTrace = [
jdk.jfr.jvm.TestChunkIntegrity$ClassStressor.stress() line: 272
jdk.jfr.jvm.TestChunkIntegrity$StressThread.run() line: 75
]
}
----------System.err:(12/755)----------
java.lang.AssertionError: Events don't match. Event number 0
at jdk.jfr.jvm.TestChunkIntegrity.assertEventEquals(TestChunkIntegrity.java:174)
at jdk.jfr.jvm.TestChunkIntegrity.main(TestChunkIntegrity.java:131)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.Thread.run(Thread.java:1583)
JavaTest Message: Test threw exception: java.lang.AssertionError: Events don't match. Event number 0
JavaTest Message: shutting down test
STATUS:Failed.`main' threw exception: java.lang.AssertionError: Events don't match. Event number 0
- relates to
-
JDK-8337994 [REDO] Native memory leak when not recording any events
-
- Resolved
-
-
JDK-8346000 [REDO] Native memory leak when not recording any events
-
- Resolved
-
- links to
-
Commit(master) openjdk/jdk21u-dev/e7111b2d
-
Review(master) openjdk/jdk21u-dev/1226