Java crashes
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Problem
Symptoms include:
- Confluence (and other webapps) are completely unavailable.
- The Java process isn't even running. It was not shut down manually.
Files with names like
hs_err_pid20929.log
being created in your app server'sbin
directory (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 --------------- Current thread (0x01a770e0): JavaThread "JiraQuartzScheduler_Worker-1" [_thread_in_vm, id=17] siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00000000 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