"From: Bill Hibbard " wrote:
>
> 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.
>
Here's the info from Optimizeit:
Class name: count: size:
float[] 9797 30347K
Object[] 220777 8870K
javax.vecmath.Point3d 74015 3469K
java.util.ArrayList 69935 2731K
javax.medis.j3d.Shape3DRetained 8561 2073K
javax.media.j3d.J3dMessage 34461 1884K
javax.media.j3d.LineArrayRetained 4280 1772K
int[] 19169 1590K
...
Once the setRange loop started, the float[] started dominating and
Point3d climbed up the list.
Hope that helps,
Doug
--
*----------------------------------------------------------------------*
| Doug Lindholm, Software Engineer | E-mail: lind@xxxxxxxx |
| Research Applications Program | Phone: 303-497-8374 |
| National Center for Atmospheric Research | |
| P.O. Box 3000 | There's no place |
| Boulder, Colorado 80307-3000 | like $HOME |
*----------------------------------------------------------------------*