Community
Participate
Working Groups
Reproduce by running a sceanrio with the entire world and 512M (or less) for STEM. An "Internal Error" error message is reported in a dialog box, but the true cause of the problem isn't obvious. It would probably be better to catch the error itself, report it with an error message that tells the user what to do, and then terminate the simulation cleanly.
This is not as easy as it sounds. The OutOfMemory can occur in any part of the code, (OSGI, Eclipse code, GUI, or our user code.) We can probably catch some portion of these by looking a parts of our code where we know that we are going to be requesting a lot of memory and catching OutOfMemory. But our ability to terminate cleanly is questionable. Java 1.4, I believe, adds a new call so that one can find out how close we are to running out of memory so perhaps at the start of each cycle, we could verify that we have some percent of free memory (preference) and pause if not enough. That would allow the user to perhaps terminate some views (map, ge, multiple simulations) so that it could then proceed.
This doesn't happen very often, reducing priority.
Yossi, I'm not sure what to do with this one right now, but it might be related to memory leaks.
This is a feature request (to gracefully show warning). Memory leaks have been fixed since this bug.