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

Test failure in ImageRaceTest on some systems

    Details

      Description

      On my Oracle Linux 7.7 VM I consistently get the following test failure:

      $ gradle --continue --info -PFULL_TEST=true cleanTest :systemTests:test --tests test.com.sun.javafx.image.impl.ImageRaceTest

      test.com.sun.javafx.image.impl.ImageRaceTest > testImageInitializationRaceCondition FAILED
          java.lang.RuntimeException: Initializer Thread[ByteGrayAlpha.ToByteGrayAlphaPre Initializer,5,main] never started
              at test.com.sun.javafx.image.impl.ImageRaceTest.forkAndJoinInitializers(ImageRaceTest.java:82)
              at test.com.sun.javafx.image.impl.ImageRaceTest.testImageInitializationRaceCondition(ImageRaceTest.java:240)

      This is due to the following fragile code in the test:

          while (!ready) { yield(); }

      Thread.yield is documented to be a hint and should not be used in this manner. The fix is to change Thread.yield to Thread.sleep(1) in the two places in the test it occurs.

        Attachments

          Activity

            People

            • Assignee:
              kcr Kevin Rushforth
              Reporter:
              kcr Kevin Rushforth
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: