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

JVM 1.3.1 receives SEGV and dumps core in Sun native code when java.awt.fonts=""

XMLWordPrintable

    • 2d
    • generic
    • solaris_7


      Java 1.3.1 receives SEGV and dumps core in native code function
      util_EuclidianDistance(), when java.awt.fonts is set to "".

      The problem is strictly reproducible:

      1. Testcase
      -----------
      Please find a complete testcase attached. The testcase consists of the
      following files:
      -rw-r--r-- 1 thomas sun 626 Aug 3 13:37 TestToolkit.java
      -rw-r--r-- 1 thomas sun 142540 Aug 3 13:38 pja.jar
      -rw-r--r-- 1 thomas sun 125725 Aug 3 09:50 doc.zip

      "pja.jar" is 3rd party code and part of PJA 2.1 distribution of www.eteks.com.
      It is used to build a virtual display on Unix servers without framebuffer.
      "doc.zip" contains documentation for "pja.jar".
      "TestToolkit.java" uses two of the classes, provided with "pja.jar".

      % more TestToolkit.java
      import java.awt.*;
      import java.awt.font.*;
      import com.eteks.awt.PJAToolkit;
      import com.eteks.java2d.*;

      public class TestToolkit
      {
        public static void main (String[] args)
        {
              Toolkit toolkit;

              System.setProperty ("java.awt.fonts", "");
              System.setProperty ("java.awt.graphicsenv", "com.eteks.java2d.PJAGraphicsEnvironment");

              GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();

              if (env instanceof com.eteks.java2d.PJAGraphicsEnvironment)
                      toolkit = new PJAToolkit();
              else
                      toolkit = Toolkit.getDefaultToolkit();

              System.out.println (toolkit.toString ());

              System.exit (0);
        }
      }
      %


      2. Compile
      ----------
      % /j2sdk1_3_1/bin/java -fullversion
      java full version "1.3.1-b24"
      /j2sdk1_3_1/bin/javac -g -classpath ./pja.jar:. TestToolkit.java
      %


      3. Run
      ------
      % /j2sdk1_3_1/bin/java -Xbootclasspath/a:./pja.jar:. TestToolkit

      An unexpected exception has been detected in native code outside the VM.
      Unexpected Signal : 11 occurred at PC=0xf48b2c58
      Function name=util_EuclidianDistance
      Library=/j2sdk1_3_1/jre/lib/sparc/libfontmanager.so

      Current Java thread:
              at sun.awt.font.NativeFontWrapper.getFontPath(Native Method)
              at sun.java2d.SunGraphicsEnvironment$1.run(SunGraphicsEnvironment.java:90)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.java2d.SunGraphicsEnvironment.<init>(SunGraphicsEnvironment.java:75)
              at com.eteks.java2d.PJAGraphicsEnvironment.<init>(PJAGraphicsEnvironment.java:66)
              at java.lang.Class.newInstance0(Native Method)
              at java.lang.Class.newInstance(Class.java:237)
              at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:58)
              at TestToolkit.main(TestToolkit.java:15)

      Dynamic libraries:
      0x10000 /j2sdk1_3_1/bin/../bin/sparc/native_threads/java
      0xff360000 /usr/lib/libthread.so.1
      0xff3a0000 /usr/lib/libdl.so.1
      0xff280000 /usr/lib/libc.so.1
      0xff260000 /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
      0xfe480000 /j2sdk1_3_1/jre/lib/sparc/client/libjvm.so
      0xff200000 /usr/lib/libCrun.so.1
      0xff1e0000 /usr/lib/libsocket.so.1
      0xff100000 /usr/lib/libnsl.so.1
      0xff1b0000 /usr/lib/libm.so.1
      0xff230000 /usr/lib/libw.so.1
      0xff0d0000 /usr/lib/libmp.so.2
      0xff090000 /j2sdk1_3_1/jre/lib/sparc/native_threads/libhpi.so
      0xff060000 /j2sdk1_3_1/jre/lib/sparc/libverify.so
      0xff020000 /j2sdk1_3_1/jre/lib/sparc/libjava.so
      0xfe450000 /j2sdk1_3_1/jre/lib/sparc/libzip.so
      0xfd2e0000 /j2sdk1_3_1/jre/lib/sparc/libawt.so
      0xfad80000 /j2sdk1_3_1/jre/lib/sparc/motif21/libmawt.so
      0xfd290000 /j2sdk1_3_1/bin/../jre/lib/sparc/libmlib_image.so
      0xf4980000 /usr/dt/lib/libXm.so.4
      0xfd190000 /usr/openwin/lib/libXt.so.4
      0xfd0d0000 /usr/openwin/lib/libXext.so.0
      0xfd0b0000 /usr/openwin/lib/libXtst.so.1
      0xfac80000 /usr/openwin/lib/libX11.so.4
      0xfd090000 /usr/openwin/lib/libSM.so.6
      0xfd060000 /usr/openwin/lib/libICE.so.6
      0xf4880000 /j2sdk1_3_1/jre/lib/sparc/libfontmanager.so
      0xfafa0000 /usr/openwin/lib/libdps.so.5

      Local Time = Mon Aug 6 09:57:55 2001
      Elapsed Time = 0
      #
      # The exception above was detected in native code outside the VM
      #
      # Java VM: Java HotSpot(TM) Client VM (1.3.1-b24 mixed mode)
      #
      # An error report file has been saved as hs_err_pid26371.log.
      # Please refer to the file for further information.
      #
      %

            Unassigned Unassigned
            thlenz Thomas Lenz (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: