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

[asan] some oops (mode) related tests fail

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 26
    • 25, 26
    • hotspot
    • b12
    • generic
    • linux

      When running with asan - enabled binaries, some oops related tests fail.
      This seems to be related to (small) changes in memory layout caused by asan.
      examples :
      runtime/CompressedOops/UseCompressedOops.java

      java.lang.RuntimeException: 'Zero based' missing from stdout/stderr
                     at jdk.test.lib.process.OutputAnalyzer.shouldContain(OutputAnalyzer.java:253)
                     at UseCompressedOops.testCompressedOopsModes(UseCompressedOops.java:98)
                     at UseCompressedOops.testCompressedOopsModesGCs(UseCompressedOops.java:59)
                     at UseCompressedOops.main(UseCompressedOops.java:48)
                     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
                     at java.base/java.lang.reflect.Method.invoke(Method.java:565)
                     at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
                     at java.base/java.lang.Thread.run(Thread.java:1474)



      jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWith32BitOops.java

      Error: Value not equal to 32-bit, field='compressedOopsMode', value='Non-zero based' expected: Non-zero based but was: 32-bit
      Failed event:
      jdk.GCHeapConfiguration {
        startTime = 13:13:02.886 (2025-08-09)
        minSize = 100.0 MB
        maxSize = 100.0 MB
        initialSize = 100.0 MB
        usesCompressedOops = true
        compressedOopsMode = "Non-zero based"
        objectAlignment = 8 bytes
        heapAddressBits = 32
      }

      ----------System.err:(20/1718)----------
      java.lang.RuntimeException: Value not equal to 32-bit, field='compressedOopsMode', value='Non-zero based' expected: Non-zero based but was: 32-bit
                     at jdk.test.lib.Asserts.fail(Asserts.java:715)
                     at jdk.test.lib.Asserts.assertEquals(Asserts.java:208)
                     at jdk.test.lib.jfr.EventField.lambda$equal$0(EventField.java:50)
                     at jdk.test.lib.jfr.EventField.doAssert(EventField.java:114)
                     at jdk.test.lib.jfr.EventField.equal(EventField.java:50)
                     at jdk.test.lib.jfr.EventVerifier.verifyEquals(EventVerifier.java:35)
                     at jdk.jfr.event.gc.configuration.GCHeapConfigurationEventVerifier.verifyCompressedOopModeIs(GCHeapConfigurationEventVerifier.java:59)
                     at jdk.jfr.event.gc.configuration.ThirtyTwoBitsVerifier.verify(TestGCHeapConfigurationEventWith32BitOops.java:74)
                     at jdk.jfr.event.gc.configuration.GCHeapConfigurationEventTester.run(GCHeapConfigurationEventTester.java:46)
                     at jdk.jfr.event.gc.configuration.TestGCHeapConfigurationEventWith32BitOops.main(TestGCHeapConfigurationEventWith32BitOops.java:49)
                     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
                     at java.base/java.lang.reflect.Method.invoke(Method.java:565)
                     at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
                     at java.base/java.lang.Thread.run(Thread.java:1474)


      jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWithZeroBasedOops.java


      Error: Value not equal to Zero based, field='compressedOopsMode', value='Non-zero based' expected: Non-zero based but was: Zero based
      Failed event:
      jdk.GCHeapConfiguration {
        startTime = 13:13:02.073 (2025-08-09)
        minSize = 8.0 MB
        maxSize = 4.0 GB
        initialSize = 1000.0 MB
        usesCompressedOops = true
        compressedOopsMode = "Non-zero based"
        objectAlignment = 8 bytes
        heapAddressBits = 32
      }

      ----------System.err:(20/1754)----------
      java.lang.RuntimeException: Value not equal to Zero based, field='compressedOopsMode', value='Non-zero based' expected: Non-zero based but was: Zero based
                     at jdk.test.lib.Asserts.fail(Asserts.java:715)
                     at jdk.test.lib.Asserts.assertEquals(Asserts.java:208)
                     at jdk.test.lib.jfr.EventField.lambda$equal$0(EventField.java:50)
                     at jdk.test.lib.jfr.EventField.doAssert(EventField.java:114)
                     at jdk.test.lib.jfr.EventField.equal(EventField.java:50)
                     at jdk.test.lib.jfr.EventVerifier.verifyEquals(EventVerifier.java:35)
                     at jdk.jfr.event.gc.configuration.GCHeapConfigurationEventVerifier.verifyCompressedOopModeIs(GCHeapConfigurationEventVerifier.java:59)
                     at jdk.jfr.event.gc.configuration.ZeroBasedOopsVerifier.verify(TestGCHeapConfigurationEventWithZeroBasedOops.java:67)
                     at jdk.jfr.event.gc.configuration.GCHeapConfigurationEventTester.run(GCHeapConfigurationEventTester.java:46)
                     at jdk.jfr.event.gc.configuration.TestGCHeapConfigurationEventWithZeroBasedOops.main(TestGCHeapConfigurationEventWithZeroBasedOops.java:44)
                     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
                     at java.base/java.lang.reflect.Method.invoke(Method.java:565)
                     at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
                     at java.base/java.lang.Thread.run(Thread.java:1474)



            mbaesken Matthias Baesken
            mbaesken Matthias Baesken
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: