• Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 6u10
    • client-libs
    • 2d
    • x86
    • linux

      FULL PRODUCT VERSION :
      java version "1.6.0_20"
      Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
      Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)


      ADDITIONAL OS VERSION INFORMATION :
      Linux dalsnuten 2.6.24-24-generic #1 SMP Sat Aug 22 00:30:49 UTC 2009 x86_64 GNU/Linux

      A DESCRIPTION OF THE PROBLEM :
      The java server side application create lots of map images. This error happens when a user zoom too far in. In this case, the java application segfaults.

      This bug was earlier reported as bug 6966105, but without the source code to reproduce the problem.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      See attached source code

      % javac PathDasherSegfault.java
      % java PathDasherSegfault
      about to draw
      Segmentation fault (core dumped)


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      about to draw
      OK
      ACTUAL -
      about to draw
      Segmentation fault (core dumped)

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      java does not create any hs_err_pid file in this case

      The stack-trace from the core-file:
      Thread 18032 "TP-Processor15": (state = IN_NATIVE)
          at sun.dc.pr.PathDasher.appendCubic(Native Method)
          at sun.dc.pr.Rasterizer.appendCubic(Rasterizer.java:520)
          at sun.java2d.pipe.DuctusRenderer.createShapeRasterizer(DuctusRenderer.java:553)
          at sun.java2d.pipe.DuctusShapeRenderer.renderPath(DuctusShapeRenderer.java:97)
          at sun.java2d.pipe.DuctusShapeRenderer.draw(DuctusShapeRenderer.java:46)
          at sun.java2d.pipe.PixelToParallelogramConverter.draw(PixelToParallelogramConverter.java:130)
          at sun.java2d.SunGraphics2D.draw(SunGraphics2D.java:2336)

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import java.awt.BasicStroke;
      import java.awt.Graphics2D;
      import java.awt.Stroke;
      import java.awt.geom.GeneralPath;
      import java.awt.image.BufferedImage;

      public class PathDasherSegfault {

      public static void main(String[] args) {

      GeneralPath path = new GeneralPath(GeneralPath.WIND_NON_ZERO);
      path.moveTo(8408685.0, -1124643.0);
      path.curveTo(8408693.0, -1124638.8, 8408703.0, -1124636.8, 8408712.0, -1124637.0);

      BufferedImage image = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
      Graphics2D g2 = image.createGraphics();

      Stroke stroke = new BasicStroke(0.8503937f, BasicStroke.CAP_BUTT,
      BasicStroke.JOIN_MITER, 10f, new float[] { 10.204724f,
      5.102362f }, 0f);
      g2.setStroke(stroke);

      System.out.println("about to draw");
      g2.draw(path);
      System.out.println("OK");

      }

      }

      ---------- END SOURCE ----------

            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: