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

REGRESSION: hang when creating custom cursor on win32

    XMLWordPrintable

Details

    • beta
    • generic, x86
    • generic, windows_nt
    • Verified

    Description

      ###@###.###

      The following test reproduces the problem:
      --------------------------------------------------------
      import java.awt.dnd.DragSource;

      public class HangTest {
          public static void main(String[] args) {
              DragSource dragSource = new DragSource();
          }
      }
      --------------------------------------------------------

      The test case hangs with the following thread dump:
      -------------------------------------------------------
      Full thread dump:

      "AWT-Windows" daemon prio=7 tid=0x7768b0 nid=0x13b runnable [0xe64f000..0xe64fdc0]
              at sun.awt.windows.WToolkit.eventLoop(Native Method)
              at sun.awt.windows.WToolkit.run(WToolkit.java:193)
              at java.lang.Thread.run(../../../src/share/classes/java/lang/Thread.java:488)

      "Signal Dispatcher" daemon prio=10 tid=0x768a10 nid=0xe7 waiting on monitor [0..0]

      "Finalizer" daemon prio=9 tid=0x7652a0 nid=0x11c waiting on monitor [0xe3ef000..0xe3efdc0]
              at java.lang.Object.wait(Native Method)
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:126)
              at java.lang.ref.Finalizer$FinalizerThread.run(../../../src/share/classes/java/lang/ref/Finalizer.java:162)

      "Reference Handler" daemon prio=10 tid=0x765ee0 nid=0x140 waiting on monitor [0xe3af000..0xe3afdc0]
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(../../../src/share/classes/java/lang/Object.java:420)
              at java.lang.ref.Reference$ReferenceHandler.run(../../../src/share/classes/java/lang/ref/Reference.java:110)

      "main" prio=5 tid=0x761320 nid=0x13d waiting on monitor [0x6f000..0x6fc34]
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(../../../src/share/classes/java/lang/Object.java:420)
              at sun.awt.image.ImageRepresentation.reconstruct(ImageRepresentation.java:106)
              at sun.awt.windows.WCustomCursor.createNativeCursor(WCustomCursor.java:41)
              at sun.awt.CustomCursor.<init>(CustomCursor.java:83)
              at sun.awt.windows.WCustomCursor.<init>(WCustomCursor.java:30)
              at sun.awt.windows.WToolkit.createCustomCursor(WToolkit.java:657)
              at java.awt.Cursor$1.run(Cursor.java:274)
              at java.security.AccessController.doPrivileged(Native Method)
              at java.awt.Cursor.getSystemCustomCursor(Cursor.java:268)
              at sun.awt.windows.WToolkit.lazilyLoadDesktopProperty(WToolkit.java:712)
              at java.awt.Toolkit.getDesktopProperty(Toolkit.java:1340)
              at java.awt.dnd.DragSource.load(DragSource.java:113)
              at java.awt.dnd.DragSource.<clinit>(DragSource.java:126)
              at HangTest.main(HangTest.java:5)

      "VM Thread" prio=5 tid=0x763140 nid=0x119 runnable

      "VM Periodic Task Thread" prio=10 tid=0x7676e0 nid=0x141 waiting on monitor
      -------------------------------------------------------

      This regression is introduced with the fix for 4343270.
      When i backout the fix the hang disappears.

      Attachments

        Issue Links

          Activity

            People

              rraysunw Richard Ray (Inactive)
              prssunw Prs Prs (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: