We are seeing several users having OutOfMemory errors due to a bug in the JIT compiler when Java 6 update 18 and above (verified up to update 21). This seems to affect both 64 and 32-bit JVMs. We currently have a KB article about the issue too.
There is an open bug in
Sun Oracle's bug tracker about the issue, but I'm not very hopeful of them fixing it any time soon given it's been an issue since update 18 which was released in January and they haven't fixed it in 3 versions.
It would be good if we included the workaround as part of our standalone install. This would involve modifying the Tomcat startup files. It would be nice if we could add the workaround (i.e. to prevent the JIT compiler from compiling the Foreach.render method) only for Java versions that are affected, as there is a slight performance penalty for the workaround.
It might also be worth looking into why that particular method is the problem and whether we can do anything to change it so it isn't (e.g. upgrade velocity?)
We should also make customers more aware of the issue by mentioning it in the release notes. (Make doc team aware of this?)