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 Nash'at, > Thanks Bill, > > I ran it using java -mx256m and I was able to do a lot of re-displays > before I got that error again. I have a question though- I thought that > Java does automatic memory management. Once I clear the display, it should > release all the memory, but it seems that somethings are kept causing > the application to crash at a later time. Can you give some insight > on this? > > Any suggestion/help would be appreciated. I am taking the liberty of CC'ing this to the VisAD mailing list since this issue may be of general interest. There are still some memory leaks in Java3D. One of the reasons we are working so closely with the Java3D team at Sun is to make sure that VisAD will be able to use the new Java3D version 1.2.1 (1.2 and 1.1.3 throw Exceptions that make them unusable with VisAD). Version 1.2.1 will include fixes for many memory leaks and other memory use problems. Also, Sun's Java3D team recently helped us to find a memory leak in VisAD (leaks can occur in Java code if you have Vectors that grow indefinately). I have just updated the VisAD ftp server with the fix for this memory leak. It occured if you repeatedly called DisplayImpl.removeReference() and DisplayImpl.addReference(). However, if you just leave a DataReference linked to your DisplayImpl and change you data by repeated calls to DataReference.setData(), or by calls to Field.setSamples(), then your memory leak is probably in Java3D rather than in VisAD. You may also want to look for Vectors that grow indefinately in your own code. Cheers, Bill ---------------------------------------------------------- Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706 hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738 http://www.ssec.wisc.edu/~billh/vis.html
visad
archives: