Posted By:
Nathan_Meyers
Posted On:
Tuesday, November 6, 2001 07:49 PM
The short answer is that a JVM should never segfault - if it does, it's a JVM bug. That said, there might be an avoidable cause of the segfault: maybe you're running out of memory and the JVM just isn't handling it very well.
I don't know what the IBM javacores look like. If this is a native core dump, it might be useful to IBM for debugging their JVM (if you can get their interest in supporting you). If it's a dump of the Java thread stacks, you can look at them and see what your application was doing - maybe you'll identify a trigger activity (like a memory allocation) in one of the threads.
As for the 1G memory limit - do these machines have any swap space? It's really physical memory + swap that determines how big processes can grow. You might try running the top utility and watch what's going on - that'll give you some idea how big your processes are and how much physical memory + swap is in use. Maybe you are running out and the IBM JVM isn't being very graceful about handling it.
Finally, are you committed to using the IBM JVMs? Have you tried different ones? IBM seems to be behind Sun and Blackdown in releasing JDKs, and I'm not convinced they're working very hard to get good stuff out there. You might look into an alternative.