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

REG: VM crashes when printing all the fonts available on the system, on Solaris

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2
    • Resolution: Cannot Reproduce
    • Affects Version/s: 6
    • Fix Version/s: None
    • Component/s: hotspot
    • Subcomponent:
    • CPU:
      sparc
    • OS:
      solaris_10

      Description

      I am getting all the fonts on the system and printing them one by one to the printer using java.awt.print.PrinterJob API. When I run this application on Solaris-Sparc10 with Mustang-b30, I am getting a VM crash. This is not seen on Mustang-b27 and a regression introduced in 28.

      This is happening on client as well as server VM. I tried replacing the 'libjvm.so' file of b30 with b27 and it started working fine. It is not exactly related to Printing or Fonts.

      I have attached a sample test. Make sure you have some printers configured on your sparc system. Execute the attached app with Mustang-b30 on Sparc9 or Sparc10. You would see a VM crash on the console.
      ---------------------------------------------------------------------
      Log information:
      ----------------
      #
      # An unexpected error has been detected by HotSpot Virtual Machine:
      #
      # Internal Error (53484152454432554E54494D450E43505001D8 01), pid=28814, tid=1
      #
      # Java VM: Java HotSpot(TM) Server VM (1.6.0-ea-b30 mixed mode)

      --------------- T H R E A D ---------------

      Current thread (0x000347e8): JavaThread "main" [_thread_in_Java, id=1]

      Stack: [0xffb80000,0xffc00000), sp=0xffbfccd0, free space=499k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x65b6d4]
      V [libjvm.so+0x3c444c]
      V [libjvm.so+0x297ecc]
      V [libjvm.so+0x2234f8]
      C [libc.so.1+0xbbf50]
      C [libc.so.1+0xb1368]
      V [libjvm.so+0x60e438]
      J sun.font.FileFont.getGlyphOutline(JIFF)Ljava/awt/geom/GeneralPath;
      J sun.font.FileFont.getGlyphOutline(JIFF)Ljava/awt/geom/GeneralPath;
      j sun.font.FileFontStrike.getGlyphOutline(IFF)Ljava/awt/geom/GeneralPath;+11
      j sun.font.StandardGlyphVector$GlyphStrike.getGlyphOutlineBounds(IFF)Ljava/awt/geom/Rectangle2D;+45
      j sun.font.StandardGlyphVector.getGlyphOutlineBounds(I)Ljava/awt/geom/Rectangle2D;+37
      j sun.font.StandardGlyphVector.getGlyphVisualBounds(I)Ljava/awt/Shape;+100
      j sun.font.StandardGlyphVector.getVisualBounds()Ljava/awt/geom/Rectangle2D;+22
      j sun.font.ExtendedTextSourceLabel.handleGetVisualBounds()Ljava/awt/geom/Rectangle2D;+4
      j sun.font.Decoration.getVisualBounds(Lsun/font/Decoration$Label;)Ljava/awt/geom/Rectangle2D;+1
      j sun.font.ExtendedTextSourceLabel.getVisualBounds(FF)Ljava/awt/geom/Rectangle2D;+13
      j sun.font.TextLabel.getVisualBounds()Ljava/awt/geom/Rectangle2D;+3
      j java.awt.font.TextLine.getBounds()Ljava/awt/geom/Rectangle2D;+61
      j java.awt.font.TextLayout.getBounds()Ljava/awt/geom/Rectangle2D;+30
      j sun.print.PeekGraphics.drawTextLayout(Ljava/awt/font/TextLayout;FF)V+2
      j sun.print.PeekGraphics.drawString(Ljava/lang/String;II)V+29
      j PrintFont_2D$Display.drawDemo(Ljava/awt/Graphics2D;)V+208
      j PrintFont_2D$Display.paint(Ljava/awt/Graphics;)V+7
      j PrintFont_2D$Display.print(Ljava/awt/Graphics;Ljava/awt/print/PageFormat;I)I+28
      j sun.print.RasterPrinterJob.printPage(Ljava/awt/print/Pageable;I)I+515
      j sun.print.RasterPrinterJob.print(Ljavax/print/attribute/PrintRequestAttributeSet;)V+630
      j sun.print.RasterPrinterJob.print()V+5
      j PrintFont_2D.performAction()V+37
      j PrintFont_2D.<init>()V+134
      j PrintFont_2D.main([Ljava/lang/String;)V+4
      v ~StubRoutines::call_stub
      V [libjvm.so+0x178a6c]
      V [libjvm.so+0x27df9c]
      C [java+0x1c18] main+0x760

      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      J sun.font.FileFont.getGlyphOutline(JIFF)Ljava/awt/geom/GeneralPath;
      j sun.font.FileFontStrike.getGlyphOutline(IFF)Ljava/awt/geom/GeneralPath;+11
      j sun.font.StandardGlyphVector$GlyphStrike.getGlyphOutlineBounds(IFF)Ljava/awt/geom/Rectangle2D;+45
      j sun.font.StandardGlyphVector.getGlyphOutlineBounds(I)Ljava/awt/geom/Rectangle2D;+37
      j sun.font.StandardGlyphVector.getGlyphVisualBounds(I)Ljava/awt/Shape;+100
      j sun.font.StandardGlyphVector.getVisualBounds()Ljava/awt/geom/Rectangle2D;+22
      j sun.font.ExtendedTextSourceLabel.handleGetVisualBounds()Ljava/awt/geom/Rectangle2D;+4
      j sun.font.Decoration.getVisualBounds(Lsun/font/Decoration$Label;)Ljava/awt/geom/Rectangle2D;+1
      j sun.font.ExtendedTextSourceLabel.getVisualBounds(FF)Ljava/awt/geom/Rectangle2D;+13
      j sun.font.TextLabel.getVisualBounds()Ljava/awt/geom/Rectangle2D;+3
      j java.awt.font.TextLine.getBounds()Ljava/awt/geom/Rectangle2D;+61
      j java.awt.font.TextLayout.getBounds()Ljava/awt/geom/Rectangle2D;+30
      j sun.print.PeekGraphics.drawTextLayout(Ljava/awt/font/TextLayout;FF)V+2
      j sun.print.PeekGraphics.drawString(Ljava/lang/String;II)V+29
      j PrintFont_2D$Display.drawDemo(Ljava/awt/Graphics2D;)V+208
      j PrintFont_2D$Display.paint(Ljava/awt/Graphics;)V+7
      j PrintFont_2D$Display.print(Ljava/awt/Graphics;Ljava/awt/print/PageFormat;I)I+28
      j sun.print.RasterPrinterJob.printPage(Ljava/awt/print/Pageable;I)I+515
      j sun.print.RasterPrinterJob.print(Ljavax/print/attribute/PrintRequestAttributeSet;)V+630
      j sun.print.RasterPrinterJob.print()V+5
      j PrintFont_2D.performAction()V+37
      j PrintFont_2D.<init>()V+134
      j PrintFont_2D.main([Ljava/lang/String;)V+4
      v ~StubRoutines::call_stub

      --------------- P R O C E S S ---------------

      Java Threads: ( => current thread )
        0x003e5d90 JavaThread "Keep-Alive-Timer" daemon [_thread_blocked, id=16]
        0x001de5a8 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=15]
        0x001dd570 JavaThread "AWT-Shutdown" [_thread_blocked, id=14]
        0x001d6ce0 JavaThread "AWT-XAWT" daemon [_thread_in_native, id=13]
        0x00135380 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=12]
        0x00103c00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=10]
        0x001023f8 JavaThread "CompilerThread1" daemon [_thread_blocked, id=9]
        0x001015d8 JavaThread "CompilerThread0" daemon [_thread_blocked, id=8]
        0x001009b0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=7]
        0x000f2ae8 JavaThread "Finalizer" daemon [_thread_blocked, id=6]
        0x000f1e08 JavaThread "Reference Handler" daemon [_thread_blocked, id=5]
      =>0x000347e8 JavaThread "main" [_thread_in_Java, id=1]

      Other Threads:
        0x000ef7e0 VMThread [id=4]
        0x00104e38 WatcherThread [id=11]

      VM state:not at safepoint (normal execution)

      VM Mutex/Monitor currently owned by a thread: None

      Heap
       PSYoungGen total 75264K, used 11880K (0xf8c00000, 0xf3c00000, 0xee000000]
        eden space 73728K, 14% used [0xf3c00000,0xf461c128,0xf8400000)
        from space 1536K, 99% used [0xf8a80000,0xf8bfe2d0,0xf8c00000)
        to space 2240K, 0% used [0xf87a0000,0xf87a0000,0xf89d0000)
       PSOldGen total 24576K, used 1346K [0xd8800000, 0xda000000, 0xee000000)
        object space 24576K, 5% used [0xd8800000,0xd8950b40,0xda000000)
       PSPermGen total 16384K, used 6436K [0xd4800000, 0xd5800000, 0xd8800000)
        object space 16384K, 39% used [0xd4800000,0xd4e49088,0xd5800000)

      Dynamic libraries:
      0x00010000 java
      0xff3f8000 /lib/libthread.so.1
      0xff3a0000 /lib/libdl.so.1
      0xff280000 /lib/libc.so.1
      0xff270000 /platform/SUNW,Sun-Blade-2500/lib/libc_psr.so.1
      0xfe800000 /net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/lib/sparc/server/libjvm.so
      0xff230000 /lib/libsocket.so.1
      0xff260000 /usr/lib/libsched.so.1
      0xff1f0000 /usr/lib/libCrun.so.1
      0xff1d0000 /lib/libm.so.1
      0xff100000 /lib/libnsl.so.1
      0xff000000 /lib/libm.so.2
      0xff0d0000 /lib/libscf.so.1
      0xfefe0000 /lib/libdoor.so.1
      0xfefc0000 /lib/libuutil.so.1
      0xfefa0000 /lib/libmd5.so.1
      0xfe7e0000 /platform/SUNW,Sun-Blade-2500/lib/libmd5_psr.so.1
      0xfe7c0000 /lib/libmp.so.2
      0xfe780000 /net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/lib/sparc/native_threads/libhpi.so
      0xfe730000 /net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/lib/sparc/libverify.so
      0xfe6f0000 /net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/lib/sparc/libjava.so
      0xfe6d0000 /net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/lib/sparc/libzip.so
      0xd4080000 /net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/lib/sparc/libawt.so
      0xd3f00000 /net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/lib/sparc/libmlib_image.so
      0xfbeb0000 /net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/lib/sparc/xawt/libmawt.so
      0xfbdc0000 /usr/lib/libXext.so.0
      0xd3e00000 /usr/lib/libX11.so.4
      0xfbc00000 /net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/lib/sparc/libfontmanager.so
      0xfb3d0000 /net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/lib/sparc/libnet.so
      0xfbe90000 /net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/lib/sparc/libnio.so
      0xfbbe0000 /lib/librt.so.1
      0xfb3b0000 /lib/libaio.so.1
      0xfb390000 /usr/lib/libsendfile.so.1
      0xd3300000 /usr/lib/libcups.so
      0xd3720000 /lib/nss_files.so.1
      0xd3660000 /lib/nss_nis.so.1

      VM Arguments:
      java_command: PrintFont_2D

      Environment Variables:
      JAVA_HOME=/net/sqindia/export/disk09/jdk/1.6.0/b27/binaries/solsparc
      PATH=/home/pm143956/gnu_utils/sparc:/net/sqindia/export/disk09/jdk/1.6.0/latest/binaries/solsparc/bin:/usr/dist/share/devpro,v4.2/5.x-sparc/bin:/usr/dt/bin:/usr/openwin/bin:/usr/ccs/bin:/usr/dist/share/forte_dev,v6.2/SUNWspro/bin:/usr/bin:/usr/sbin:/sbin:/usr/ucb:/usr/dist/local/exe:/usr/sfw/bin:/usr/dist/exe:/usr/lib/lp/postscript:.
      LD_LIBRARY_PATH=/net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/lib/sparc/server:/net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/lib/sparc:/net/sqindia/export/disk09/jdk/1.6.0/b30/binaries/solsparc/jre/../lib/sparc
      SHELL=/bin/csh
      DISPLAY=divinemelody:0.0

      Signal Handlers:
      SIGSEGV: [libjvm.so+0x65c08c], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
      SIGBUS: [libjvm.so+0x65c08c], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
      SIGFPE: [libjvm.so+0x222f94], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
      SIGPIPE: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000
      SIGILL: [libjvm.so+0x222f94], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
      SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
      SIGUSR2: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
      SIGHUP: [libjvm.so+0x5e4f30], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
      SIGINT: [libjvm.so+0x5e4f30], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
      SIGQUIT: [libjvm.so+0x5e4f30], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
      SIGTERM: [libjvm.so+0x5e4f30], sa_mask[0]=0xffbffeff, sa_flags=0x00000004


      --------------- S Y S T E M ---------------

      OS: Solaris 10 s10_73 SPARC
                 Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
                              Use is subject to license terms.
                                 Assembled 02 December 2004

      uname:SunOS 5.10 s10_73 sun4u (T2 libthread)
      rlimit: STACK 8192k, CORE infinity, NOFILE 65536, AS infinity
      load average:0.43 0.38 0.40

      CPU:total 2 has_v8, has_v9, has_vis1, has_vis2, is_ultra3

      Memory: 8k page, physical 2097152k(1183792k free)

      vm_info: Java HotSpot(TM) Server VM (1.6.0-ea-b30) for solaris-sparc, built on Mar 31 2005 02:13:28 by unknown with unknown Workshop:0x570

      ###@###.### 2005-04-08 10:52:02 GMT
      I re-tested the attached application on SolSparc10-JDS with Mustang-b47 and found that the VM crash is not reproducible. It is reproducible with Mustang-b32 on the same machine.

        Attachments

          Activity

            People

            Assignee:
            collins Gary Collins (Inactive)
            Reporter:
            pmohansunw Praveen Mohan (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: