2

I've been experiencing a lot of crashes of the Sun JVM on both Ubuntu Server 10.04.1 and 10.04.2. The crashes seem to happening at random intervals. Sometimes they occur when the server is stressed, other times when there is no load on the server at all.

I'm running a host with four virtual machines using KVM as the virtualisation technology. Each of the guests is configured to have 1 gigabyte of memory.

The host:

law@gandalf:~$ uname -a Linux gandalf 2.6.32-27-server #49-Ubuntu SMP Thu Dec 2 02:05:21 UTC 2010 x86_64 GNU/Linux

And each guest:

confluence@lw-confluence:~$ uname -a Linux lw-confluence 2.6.32-24-server #43-Ubuntu SMP Thu Sep 16 16:05:42 UTC 2010 x86_64 GNU/Linux

On 3 of the guests I am running an instance of Tomcat with a single application. I am running:

  • 1 instance of Atlassian Jira
  • 1 instance of Atlassian Confluence
  • 1 instance of Magnolia CMS

I have experienced random crashes of the JVM across all three machines. I have experienced these crashes in JVM versions 1.6.0_22 (64 bit), 1.6.0_24 (64 bit) and 1.6.0_24 (32 bit).

The crash seems to be consistently occurring within a native call to libjvm.so. I believe that it is happening when the JVM requests garbage collection, but I'm not fully sure of this. I have a sample of some of the crash dumps:

On the guest running Confluence:

http://pastebin.com/BaC9yddr

On the guest running Jira:

http://pastebin.com/hfC0m9sv

I have tried the following thus far:

  • Re-installing the JVM
  • Updating the JVM from 1.6.0_22 to 1.6.0_24
  • Using a 32-bit JVM instead of the 64 bit version

I'm at a bit of a loss as to what to try next, so any help would be greatly appreciated.

Jorge Castro
  • 71,754

1 Answers1

0

On the web there are reports of crashes on quite similar operations that seem to be related to a unhealthful maximum size setting of the PermGen.

Seeing through your VM args you seem to have 256 MB allowed for PermGen but only 384/512 MB for your heap, which is at least an uncommon setting in my experience. For a process with such a small heap I would not expect that the PermGen would need any special setting (but this actually depends on what your process does).

However, if you run out of ideas, I would try to remove this VM argument:

-XX:MaxPermSize=256m

This may have your app running into OutOfMemoryError: PermGen size sometime - if there really was a cause for this setting - but at least not a complete VM crash. That way you could at least troubleshoot if the crashes are related to this setting.

Jorge Castro
  • 71,754
Oliver
  • 51