RE: java bug to affect VisAD in Sun 1.4.2 JRE

I updated in my Linux machine the java 1.4.2 to the latest built 1.4.2_b28.
Now I don't get the exception but I got the same behavior in VisAD.

(http://cires.colorado.edu/~ricardo/temp/Screenshot.png)

Any clues?

Thanks,
Ricardo

-----Original Message-----
From: owner-visad-list@xxxxxxxxxxxxx
[mailto:owner-visad-list@xxxxxxxxxxxxx]On Behalf Of Ricardo Mantilla
Sent: Saturday, August 16, 2003 4:47 AM
To: visad-list@xxxxxxxxxxxxx
Subject: java bug to affect VisAD in Sun 1.4.2 JRE


Hi All,

I installed Sun 1.4.2 a while ago, and I am very happy with its
performance in Linux, However there is bug on this release that seems to
affect VisAD.  The problem that araises in Visad is that some points in
a lines (e.g. Grid2Dset) are given the vaule "Infinity", which makes the
line go across the image
(http://cires.colorado.edu/~ricardo/temp/Screenshot.png)

The exception I got is:

sun.dc.pr.PRException: endPath: bad path
       at sun.dc.pr.Rasterizer.endPath(Rasterizer.java:537)
       at
sun.java2d.pipe.DuctusRenderer.createShapeRasterizer(DuctusRenderer.java:374
)

       at
sun.java2d.pipe.DuctusShapeRenderer.renderPath(DuctusShapeRenderer.java:57)
       at
sun.java2d.pipe.DuctusShapeRenderer.draw(DuctusShapeRenderer.java:45)
       at sun.java2d.SunGraphics2D.draw(SunGraphics2D.java:2128)
       at visad.java2d.VisADCanvasJ2D.render(VisADCanvasJ2D.java:806)
       at visad.java2d.VisADCanvasJ2D.render(VisADCanvasJ2D.java:577)
       at visad.java2d.VisADCanvasJ2D.render(VisADCanvasJ2D.java:577)
       at visad.java2d.VisADCanvasJ2D.render(VisADCanvasJ2D.java:566)
       at visad.java2d.VisADCanvasJ2D.render(VisADCanvasJ2D.java:577)
       at visad.java2d.VisADCanvasJ2D.render(VisADCanvasJ2D.java:577)
       at
visad.java2d.VisADCanvasJ2D.paintComponent(VisADCanvasJ2D.java:451)
       at visad.java2d.VisADCanvasJ2D.run(VisADCanvasJ2D.java:349)
       at java.lang.Thread.run(Thread.java:534)

This is a known bug in Java.  The report can be found in
http://developer.java.sun.com/developer/bugParade/bugs/4755500.html
It affected previous versions of Java, and it seems it affects as well
this new release.

Is it possible to come up with a workaround for this bug?  Is it
actually the same bug.

REPRODUCIBILITY :

This bug can be reproduced always.

---------- BEGIN SOURCE ----------

public class MathBugTest {
   public static void main(String[] args) {
   System.out.println(Math.round(1d)); // prints "1", as expected
   for (int i=0; i<2000; i++) {
       Math.round(Double.NaN);
   }
   System.out.println(Math.round(1d)); // prints "0", which is wrong
}

}

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

Thanks,
Ricardo