title: How do I investigate the cause of a JVM crash?
body: <p>One day ago, after a few months of normal working, our java app starts to crash occasionally with the following error:</p>
  
  <pre><code>#
  # A fatal error has been detected by the Java Runtime Environment:
  #
  #  Internal Error (safepoint.cpp:247), pid=2075, tid=140042095163136
  #  guarantee(PageArmed == 0) failed: invariant
  #
  # JRE version: 6.0_23-b05
  # Java VM: Java HotSpot(TM) 64-Bit Server VM (19.0-b09 mixed mode linux-amd64 compressed oops)
  # An error report file with more information is saved as:
  # /var/chat/jSocketer/build/hs_err_pid2075.log
  #
  # If you would like to submit a bug report, please visit:
  #   http://java.sun.com/webapps/bugreport/crash.jsp
  #
  </code></pre>
  
  <p>I looked in hs_err_pid2075.log and saw that there was an active thread, that processed a network communication. However there wasn't any application or environment changes done in the last few months. Also there wasn't any load growth.
  What can I do to understand, what is the reason of crash? Are there any common steps to investigate a jvm crash?</p>
  
  <p>UPD
  <a href="http://www.wuala.com/ubear/public" rel="noreferrer">http://www.wuala.com/ubear/public</a></p>