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

Windows regression: Deadlock between printing code and graphics disposal

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 1.3.0
    • 1.3.0
    • client-libs
    • None
    • kestrel
    • x86
    • windows_nt

      Recent changes to the AwtGraphics code now cause a portion of Graphics disposal
      to be synchronized on the Toolkit thread. The SendMessage call is made while
      holding the extern "imageLock" locking object. The imageLock is also required
      for construction of an AwtGraphics.

      The printing code (specifically, AwtMasterPrinterGraphics::CreateAndStart) is
      already synchronized on the Toolkit thread. This function creates a new
      AwtGraphics instance. Since the lock acquisition of these two operations is
      in a different order, there is the potential for deadlock.

      To reproduce the bug, launch the Clock applet. From the Applet menu, repeatedly
      select "Print" and then cancel the printing operation. Eventually, the Applet
      will deadlock.

            dmendenhsunw David Mendenhall (Inactive)
            dmendenhsunw David Mendenhall (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: