Java crashes

Still need help?

The Atlassian Community is here for you.

Platform Notice: Server and Data Center Only - This article only applies to Atlassian products on the server and data center platforms.

Problem

Symptoms include:

1. Confluence (and other webapps) are completely unavailable.
2. The Java process isn't even running. It was not shut down manually.
3. Files with names like hs_err_pid20929.log being created in your app server's bindirectory (wherever you start it from), containing text like:

#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  SIGSEGV (0xb) at pc=0xfe9bb960, pid=20929, tid=17
#
# Java VM: Java HotSpot(TM) Server VM (1.5.0_01-b08 mixed mode)
# Problematic frame:
# V  [libjvm.so+0x1bb960]
#

---------------  T H R E A D  ---------------

Registers:
O0=0xf5999882 O1=0xf5999882 O2=0x00000000 O3=0x00000000
O4=0x00000000 O5=0x00000001 O6=0xc24ff0b0 O7=0x00008000
G1=0xfe9bb80c G2=0xf5999a48 G3=0x0a67677d G4=0xf5999882
G5=0xc24ff380 G6=0x00000000 G7=0xfdbc3800 Y=0x00000000
PC=0xfe9bb960 nPC=0xfe9bb964
....


this indicates Java is crashing.

Cause

Web applications like JIRA and Confluence run in a Java virtual machine (JVM). The virtual machine is responsible for emulating a CPU, managing memory and devices, just like the operating system does for native applications (MS Office, web browsers etc).

A Java virtual machine crash is analogous to getting a Windows Blue Screen of Death when using MS Office or a web browser.

That said, JVM bugs causing crashes often appear when the JVM is running out of memory. The hs_err_pid*.log file should list the state of memory at the time of the crash. If the JVM was low on memory, then it's a good idea to read the Confluence crashes due to 'OutOfMemoryError Java heap space' error page and follow the suggestions there.

Resolution

• JDK is outdated - upgrade Java and use it. Crashes are often caused by JDK bugs that get fixed over time.
• Ensure that your operating system is one of the Supported System Configurations, and (especially for Solaris) ensure that the operating system has all current required patches applied.
• In rare circumstances, bugs in the product can cause a SIGSEGV fault.

And of course, you can always let us know (include the hs_err_pid*.log files), and we can provide advice taking into account the specifics of your situation.

Locating the Java log file

The location of the Java log file ( hs_err_pid.log) is usually in the directory where Tomcat is run eg. /bin folder. For Windows Services, it should be located in where Windows Services are run.

To define the path to the hs_err_pid file, add the following JVM Parameter to your existing ones:

-XX:ErrorFile=./hs_err_pid<\$pid>.log