I got the same behavior under windows (Sun 1.4.2) but the exception is not
reported
http://cires.colorado.edu/~ricardo/temp/bug_windows.JPG
And if I execute the code given in the previous email to reproduce this bug
the output is 1 & 1 so the bug doesn't exists
I am using the latest visad release in both architectures.
any clues?
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