-
Bug
-
Resolution: Duplicate
-
P4
-
None
-
6u10
-
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 ----------
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 ----------
- duplicates
-
JDK-6966105 PathDasher.appendCubic crash
-
- Closed
-