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

2D: Hotjava evokes java2d deadlock.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 1.2.0
    • client-libs
    • 2d
    • generic
    • solaris_2.6

      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

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

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: