NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi Doug, > I have a real-time time series display that periodically updates the > time axis. I've been running into some out of memory problems, so I > wrote a little test program (attached) that has revealed some bugs. I'm > seeing the problems with recent stable and beta versions of the jdk and > java3d on Linux and Windows and with the latest visad.jar. > > 1) After numerous calls (depending on max heap size, less than 5000 with > the attached program with jvm defaults) to ScalarMap.setRange(), I get > an OutOfMemoryError. Smells like a memory leak. RangeControl.setRange() > also leads to an OutOfMemoryError. Hopefully it is not in java3d so we > can do something about it. It does not happen with java2d > (DisplayImplJ2D), though. Since you have a nice test example and are into this, I'd appreciate it if you could run under Optimizeit and let me know what data where is growing. > 2) While running the test, I saw what looks like a Thread bug. Every > once in a while I'll see the following exception. It occurs "randomly" > but not when I throw in a sleep. > > java.lang.ClassCastException: javax.media.j3d.GeometryAtom > at > javax.media.j3d.TransformGroupRetained.setTransform(TransformGroupRetained.java:161) > at > javax.media.j3d.TransformGroup.setTransform(TransformGroup.java:111) > at > visad.java3d.DisplayRendererJ3D.setTransform3D(DisplayRendererJ3D.java:1254) > at > visad.java3d.ProjectionControlJ3D.setMatrix(ProjectionControlJ3D.java:102) > at > visad.java3d.DisplayRendererJ3D.setWaitFlag(DisplayRendererJ3D.java:1376) > at visad.DisplayImpl.doAction(DisplayImpl.java:1312) > at visad.ActionImpl.run(ActionImpl.java:238) > at visad.util.ThreadPool$ThreadMinnow.run(ThreadPool.java:95) I think a ClassCastException inside Java3D is their bug. Please submit this as a bug to the java3d-interest mailing list. Thanks, Bill
visad
archives: