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

Color Management code is not thread safe in HT/SMP machine

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 6
    • 1.3.1, 1.4.1, 1.4.2_01, 6
    • client-libs
    • 2d
    • b51
    • generic, x86, sparc
    • generic, linux_redhat_3.0, solaris_8

        There seem thread unsafe API in java2d tech. area.

        REPRODUCE :
          1) Compile the attached test case(multi.java)
          2) Launch "java multi" in HT machine or SMP machine.
             (Please try to launch several times. )
             You will see the following messages.

        [guest@kronos not-thread-safe-java2d]$ java -showversion multi
        java version "1.6.0-ea"
        Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0-ea-b28)
        Java HotSpot(TM) Server VM (build 1.6.0-ea-b28, mixed mode)

        java.awt.color.CMMException: Invalid profile data
                at sun.awt.color.CMM.checkStatus(CMM.java:127)
                at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
                at java.awt.color.ICC_ColorSpace.toRGB(ICC_ColorSpace.java:144)
                at java.awt.image.DirectColorModel.getDefaultRGBComponents(DirectColorModel.java:300)
                at java.awt.image.DirectColorModel.getRed(DirectColorModel.java:357)
                at multi.run(multi.java:25)

        This issue occurs easily on HT or SMP machine.

        CONFIGURATION :
          [guest@kronos not-thread-safe-java2d]$ uname -a
        Linux kronos 2.4.21-4.ELsmp #1 SMP Fri Oct 3 17:52:56 EDT 2003 i686 i686 i386 GNU/Linux

          OS : RHEL AS 3.0
          MPU : xeon 2.0[GHz] *2 (Hyper threading)
          MEM : 2GB


        ###@###.### 2005-03-24 01:18:36 GMT
        ===========================================================================================--
        Customer has sent another test case.
        The following is the message in 1.4.2_08 when the new test case, J100129_01_1.java.

        [guest@kronos test3]$ java J100129_01_1
        java.awt.color.CMMException: Invalid profile data
                at sun.awt.color.CMM.checkStatus(CMM.java:127)
                at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
                at J100129_01_1.run(J100129_01_1.java:35)
        java.awt.color.CMMException: Invalid profile data
                at sun.awt.color.CMM.checkStatus(CMM.java:127)
                at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
                at J100129_01_1.run(J100129_01_1.java:35)
        java.awt.color.CMMException: Invalid profile data
                at sun.awt.color.CMM.checkStatus(CMM.java:127)
                at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
                at J100129_01_1.run(J100129_01_1.java:35)
        java.awt.color.CMMException: Invalid profile data
                at sun.awt.color.CMM.checkStatus(CMM.java:127)
                at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
                at J100129_01_1.run(J100129_01_1.java:35)
        java.awt.color.CMMException: Invalid profile data
                at sun.awt.color.CMM.checkStatus(CMM.java:127)
                at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
                at J100129_01_1.run(J100129_01_1.java:35)
        java.awt.color.CMMException: Invalid profile data
                at sun.awt.color.CMM.checkStatus(CMM.java:127)
                at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
                at J100129_01_1.run(J100129_01_1.java:35)
        java.awt.color.CMMException: Invalid profile data
                at sun.awt.color.CMM.checkStatus(CMM.java:127)
                at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
                at J100129_01_1.run(J100129_01_1.java:35)
        java.awt.color.CMMException: Invalid profile data
                at sun.awt.color.CMM.checkStatus(CMM.java:127)
                at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
                at J100129_01_1.run(J100129_01_1.java:35)
        java.awt.color.CMMException: Invalid profile data
                at sun.awt.color.CMM.checkStatus(CMM.java:127)
                at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
                at J100129_01_1.run(J100129_01_1.java:35)
        java.awt.color.CMMException: Invalid profile data
                at sun.awt.color.CMM.checkStatus(CMM.java:127)
                at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
                at J100129_01_1.run(J100129_01_1.java:35)

              avu Alexey Ushakov
              tbaba Tadayuki Baba (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: