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

2D: Hotjava evokes java2d deadlock.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P4
    • Resolution: Duplicate
    • Affects Version/s: 1.2.0
    • Fix Version/s: None
    • Component/s: client-libs
    • Subcomponent:
      2d
    • CPU:
      generic
    • OS:
      solaris_2.6

      Description

      Running hotjava (on exactvm) occassionally hangs due to a deadlock.

      The following output is from exactvm's deadlock detector,
      identifying two threads, eaching hold a lock the other wants,
      and requesting the other lock.

      We don't have a Java Software JDK example of this failure, however the
      java2d classes and native methods are identical (to fcs-K). The timing
      may be different.

      hotjava:
          HOTJAVA_HOME=/net/galileo.east/files/agesen2/Hotjava/hotjava1.1.5-fcs-c
          JDK_HOME= ?? (your favorite)


      FOUND A JAVA LEVEL DEADLOCK:
      ---------------------------
      t@8 waiting to lock object@0xeb8f1238:"java/lang/Class"
               which is locked by t@23
      t@23 waiting to lock object@0x49574:"sun/awt/motif/MToolkit"
               which is locked by t@8

      JAVA STACK INFORMATION FOR THREADS LISTED ABOVE:
      -----------------------------------------------

      Java Stack for t@8 (EE = 0x2c1d98) "AWT-EventQueue-0" :
      ==========
      [1] sun.awt.font.NativeFontWrapper.drawStringIntDiscrete(Native Method)
      [2] sun.java2d.loops.drawStringBGR.DrawString(TextRendering.java:1170)
      [3] sun.java2d.loops.RasterOutputManager.drawString(RasterOutputManager.java:2671)
      [4] sun.java2d.pipe.ValidatePipe.drawString(ValidatePipe.java:123)
      [5] sun.java2d.SunGraphics2D.drawString(SunGraphics2D.java:2229)
      [6] Plasma.update(Plasma.java)
      [7] sun.awt.motif.MComponentPeer.handleEvent(MComponentPeer.java:261)
      [8] java.awt.Component.dispatchEventImpl(Component.java:2297)
      [9] java.awt.Container.dispatchEventImpl(Container.java:1019)
      [10] java.awt.Component.dispatchEvent(Component.java:2293)
      [11] java.awt.EventQueue.dispatchEvent(EventQueue.java:253)
      [12] java.awt.EventDispatchThread.run(EventDispatchThread.java:65)

      Java Stack for t@23 (EE = 0x78a148) "Screen Updater" :
      ==========
      [1] sun.awt.font.NativeFontWrapper.getAdvance(Native Method)
      [2] sun.awt.font.FontDesignMetrics.charWidth(FontDesignMetrics.java:119)
      [3] sun.awt.font.FontDesignMetrics.stringWidth(FontDesignMetrics.java:139)
      [4] java.awt.FontMetrics.charsWidth(FontMetrics.java:290)
      [5] sunw.hotjava.doc.TextItem.fastFormatText(TextItem.java:410)
      [6] sunw.hotjava.doc.TextItem.formatText(TextItem.java:363)
      [7] sunw.hotjava.doc.TextItem.format(TextItem.java:226)
      [8] sunw.hotjava.doc.Formatter.formatLine(Formatter.java:1058)
      [9] sunw.hotjava.doc.DocumentFormatter.formatDocument(DocumentFormatter.java:1475)
      [10] sunw.hotjava.doc.DocumentFormatter.updateClient(DocumentFormatter.java:1753)
      [11] sun.awt.ScreenUpdater.run(ScreenUpdater.java:98)
      -----------------------------------------------
      Found 1 deadlock

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              foliversunw Fred Oliver (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: