java.lang.InternalError: backstepping from -13679.261718749998 to -13679.261718749998

JDK Bug System | Ranjith Mandala | 1 decade ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    FULL PRODUCT VERSION : java version "1.6.0-rc" Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0-rc-b70) Java HotSpot(TM) Client VM (build 1.6.0-rc-b70, mixed mode, sharing) ADDITIONAL OS VERSION INFORMATION : Windows XP Professional Version 2002 Service Pack 2 A DESCRIPTION OF THE PROBLEM : The attached code (Areatest.java) creates an Area and then rotates it. The code works on jdk1.5.0_01 but fails on jdk1.6.0_rc. STEPS TO FOLLOW TO REPRODUCE THE PROBLEM : Compile and run the AreaTest with jdk's in question EXPECTED VERSUS ACTUAL BEHAVIOR : EXPECTED - The AreaTest runs OK with jdk1.5.0 and fails with jdk1.6.0_rc. ERROR MESSAGES/STACK TRACES THAT OCCUR : C:\java\jdk1.6.0\bin>java AreaTest this == Curve[1, (-1470.6331787109348, -13679.261718749998), (1470.6331787109348, 13679.261718749998), D] that == Curve[2, (-1470.6331787109252, -13679.261718749998), (-1470.63317871093, -13679.261718749998), (-1470.6331787109 348, -13679.261718749998), U] target range = -13679.261718749998=>-13679.261718749998 Exception in thread "main" java.lang.InternalError: backstepping from -13679.261718749998 to -13679.261718749998 at sun.awt.geom.Curve.compareTo(Curve.java:457) at sun.awt.geom.Order1.compareTo(Order1.java:197) at sun.awt.geom.Edge.compareTo(Edge.java:72) at sun.awt.geom.AreaOp.pruneEdges(AreaOp.java:260) at sun.awt.geom.AreaOp.calculate(AreaOp.java:141) at java.awt.geom.Area.pathToCurves(Area.java:173) at java.awt.geom.Area.transform(Area.java:492) at AreaTest.<init>(areaTest.java:30) at AreaTest.main(areaTest.java:38) REPRODUCIBILITY : This bug can be reproduced always. ---------- BEGIN SOURCE ---------- import java.awt.geom.GeneralPath; import java.awt.geom.Area; import java.awt.geom.AffineTransform; public class AreaTest { public AreaTest() { double angle = Math.PI / 8d; AffineTransform t = new AffineTransform(); t.rotate(angle); GeneralPath path = new GeneralPath(); path.moveTo( -1470.6331984752417f, -13679.261247085042f); path.quadTo( -3303.018649465366f, -13679.261247085042f, -5320.065076739477f, -12843.77326097191f); path.quadTo( -14301.0980122817f, -9123.707614950872f, -8981.032935542218f, 3720.065646021036f); path.quadTo( -7001.947665555501f, 8498.000145915787f, -4516.23223633003f, 10983.71557514126f); path.quadTo( -3069.6527602956367f, 12430.295051175652f, -1451.4908513919768f, 13100.559659959084f); path.quadTo( -54.38163118565376f, 13679.261247085042f, 1470.6331984752403f, 13679.261247085042f); path.closePath(); Area area = new Area(path); for (int i = 0; i < 8; i++) { area.transform(t); } System.out.println("Works with jdk1.5.0"); } public static void main(String[] args) { AreaTest areatest = new AreaTest(); } } ---------- END SOURCE ---------- Release Regression From : 5.0 The above release value was the last known release where this bug was known to work. Since then there has been a regression.

    JDK Bug System | 1 decade ago | Ranjith Mandala
    java.lang.InternalError: backstepping from -13679.261718749998 to -13679.261718749998
  2. 0

    Area transform bug - throws "java.lang.InternalError"

    Oracle Community | 1 decade ago | 843799
    java.lang.InternalError: Odd number of new curves!

    Root Cause Analysis

    1. java.lang.InternalError

      backstepping from -13679.261718749998 to -13679.261718749998

      at sun.awt.geom.Curve.compareTo()
    2. Java RT
      Area.transform
      1. sun.awt.geom.Curve.compareTo(Curve.java:457)
      2. sun.awt.geom.Order1.compareTo(Order1.java:197)
      3. sun.awt.geom.Edge.compareTo(Edge.java:72)
      4. sun.awt.geom.AreaOp.pruneEdges(AreaOp.java:260)
      5. sun.awt.geom.AreaOp.calculate(AreaOp.java:141)
      6. java.awt.geom.Area.pathToCurves(Area.java:173)
      7. java.awt.geom.Area.transform(Area.java:492)
      7 frames
    3. Unknown
      AreaTest.main
      1. AreaTest.<init>(areaTest.java:30)
      2. AreaTest.main(areaTest.java:38)
      2 frames