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

Dirty region optimization (dirtyopts) is not MT-safe

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P3
    • 8
    • 8
    • javafx
    • None

    Description

      This bug was largely masked by RT-24070, since it most easily reproduces with transparent stages.

      The easiest way to reproduce this is to apply the following patch to Ensemble to enable using a transparent stage:

      diff --git a/ga-samples/Ensemble/src/ensemble/Ensemble2.java b/ga-samples/Ensemb
      le/src/ensemble/Ensemble2.java
      --- a/ga-samples/Ensemble/src/ensemble/Ensemble2.java
      +++ b/ga-samples/Ensemble/src/ensemble/Ensemble2.java
      @@ -135,7 +135,7 @@
                   isApplet = false;
               }
               if (!isApplet) {
      - stage.initStyle(StageStyle.UNDECORATED);
      + stage.initStyle(StageStyle.TRANSPARENT);
                   // create window resize button
                   windowResizeButton = new WindowResizeButton(stage, 1020,700);
                   // create root

      -----------------------------------------

      Then run Ensemble and play around with the Animation "Interpolator" sample. It will sometimes stop animating when the mouse is over the thumbnail. The actual sample will also sometimes stop animating when you click on the sample and run it (it's a timing problem so doesn't always show up). If you run it with -Dprism.showdirty=true then you can see the dirty regions being drawn incorrectly. If you turn off multi-threading with -Dquantum.multithreaded=false then it runs fine.

      Note that this bug can also be reproduced on Linux with the unmodified PathAnimation sample. It comes up with a black window on startup.

      Attachments

        Issue Links

          Activity

            People

              msladecek Martin Sládeček
              kcr Kevin Rushforth
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                Imported: