Segmentation Violation
1 posts in topic
Flat View  Flat View
TOPIC ACTIONS:
 

Posted By:   Liz_Bastian
Posted On:   Tuesday, November 6, 2001 12:10 PM

I have an RMI product which consists of one server and multiple workers. The product runs on VALinux machines using Kernel 2.2.18, and the IBM 1.3 version of the jre. Very sporadically we are seeing a 'Segmentation Violation' on the workers. I am not sure how to read the java core dump file that it spits out as a result of that. Have browsed using various search engines and am unable to find any help on this subject. So that's my first question... How do I make use of the javacore files? Second, has anybody else either experienced this problem or been made aware of an issue similar to this? To complicate things we are also running another application on the same worker boxes using Sun's JDK1.3. The workers have 1Gig total of memory, 800Meg of w   More>>


I have an RMI product which consists of one server and multiple workers. The product runs on VALinux machines using Kernel 2.2.18, and the IBM 1.3 version of the jre. Very sporadically we are seeing a 'Segmentation Violation' on the workers. I am not sure how to read the java core dump file that it spits out as a result of that. Have browsed using various search engines and am unable to find any help on this subject. So that's my first question... How do I make use of the javacore files? Second, has anybody else either experienced this
problem or been made aware of an issue similar to this? To complicate things we are also running another application on the same worker boxes using Sun's JDK1.3. The workers have 1Gig total of memory, 800Meg of which is dedicated to the sun jdk1.3 application. Note my application has a max heap size of 256Meg. 800M+256M > 1G. Could this be a problem? Or would I just get an out of memory exception if I couldn't expand the memory to 256M if necessary?


Any replies would be helpful.


Regards,


Liz

   <<Less

Re: Segmentation Violation

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.

About | Sitemap | Contact