0

We are developing a java application that runs on tomcat. This scenario is not reproducible but for the customer, the application crashes with a jvm crash

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000077a60895, pid=3644, tid=3792
#
# JRE version: 6.0_30-b20
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.5-b03 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  [ntdll.dll+0x50895]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#


 Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
v  blob 0x0000000003d6707f
j  java.lang.String.equals(Ljava/lang/Object;)Z+8
j  javax.management.MBeanAttributeInfo.<clinit>()V+25
v  ~StubRoutines::call_stub
j  com.sun.jmx.mbeanserver.MBeanServerDelegateImpl.<clinit>()V+51
v  ~StubRoutines::call_stub
j  com.sun.jmx.mbeanserver.JmxMBeanServer.newMBeanServerDelegate()Ljavax/management/MBeanServerDelegate;+0
j  javax.management.MBeanServerBuilder.newMBeanServerDelegate()Ljavax/management/MBeanServerDelegate;+0
j  javax.management.MBeanServerFactory.newMBeanServer(Ljava/lang/String;)Ljavax/management/MBeanServer;+14
j  javax.management.MBeanServerFactory.createMBeanServer(Ljava/lang/String;)Ljavax/management/MBeanServer;+6
j  javax.management.MBeanServerFactory.createMBeanServer()Ljavax/management/MBeanServer;+1
j  org.apache.catalina.startup.Bootstrap.createClassLoader(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;+549
j  org.apache.catalina.startup.Bootstrap.initClassLoaders()V+5
j  org.apache.catalina.startup.Bootstrap.init()V+9
j  org.apache.catalina.startup.Bootstrap.main([Ljava/lang/String;)V+52
v  ~StubRoutines::call_stub
j  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j  sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
j  sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161
j  net.propero.workspace.windowsinfrastructure.tomcatservice.TomcatService.run()V+153
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub

From the stacktrace it is evident that this is code from tomcat which is causing the failure and not our application specific code. I checked in google but could not find known bug matching this stacktrace. Any ideas on how to resolve this ?

5
  • That's not Tomcat, that is coming from the JVM. You can try upgrading the JRE to the latest available Java 1.6 minor version which is 6u45 oracle.com/technetwork/java/javase/downloads/… Commented Nov 7, 2014 at 12:22
  • Hi thanks for the comment. But I was wondering if this is a known documented issue with jre6.0 b20 that we can communicate to the customer. Surprisingly we have been using the same jre in our application but not able to reproduce the problem inhouse. Commented Nov 7, 2014 at 12:33
  • You can read Oracle's Troubleshooting System Crashes guide but I doubt you will find much. There is also stackoverflow.com/questions/11275814/… which has a similar crash which might have been caused by hard drive errors. There is no obvious InputStream or similar in your case though. Commented Nov 7, 2014 at 12:58
  • @user496934: You can try searching Oracle's bug DB, but that's as far as you can get. If you have a support contract with Oracle, you can talk to them. Otherwise moving to the latest available minor version, or indeed maybe to 1.7 is prob. the best thing you can do. Using older version of JVM is not advisable anyways as they may have unpatched vulnerabilities. Commented Nov 7, 2014 at 14:03
  • 1
    Upgrading the JVM does not guarantee that your issue will be fixed, but it's the first thing you should try. Commented Nov 7, 2014 at 14:04

1 Answer 1

1

It looks like a well known issue when String.equals intrinsic executed before null check:

There is only one workaround: you have to upgrade the JRE to the latest available Java 1.6

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.