Skip to content

NullPointerException from FStringEqual.hashCode #6039

@jchobantonov

Description

@jchobantonov

Environment
Java web application using jruby-complete as jar file in war's WEB-INF/lib and using embedded jruby mode

  • Windows 10
  • Apache Tomcat/8.5.35
  • Java version:
    openjdk 13.0.1 2019-10-15
    OpenJDK Runtime Environment AdoptOpenJDK (build 13.0.1+9)
    Eclipse OpenJ9 VM AdoptOpenJDK (build openj9-0.17.0, JRE 13 Windows 10 amd64-64-Bit Compressed References 20191031_97 (JIT enabled, AOT enabled)
    OpenJ9 - 77c1cf708
    OMR - 20db4fbc
    JCL - c973c65658 based on jdk-13.0.1+9)

Provide at least:

Other relevant info you may wish to add:

  • During Tomcat server stop using Ctrl+C to stop it Tomcat dump exception from thread leaks detector

Expected Behavior

  • No NullPointerException to occur

Actual Behavior

  • NullPointerException occur during Tomcat stop using Ctrl+C:
    Stacktrace:
2020-01-15 11:15:05.598 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks Unable to determine string representation of value of type [org.jruby.Ruby.FStringEqual]
 java.lang.NullPointerException
        at org.jruby.Ruby$FStringEqual.hashCode(Ruby.java:4860)
        at java.base/java.lang.Object.toString(Object.java:164)
        at org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks(WebappClassLoaderBase.java:1981)
        at org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalsForLeaks(WebappClassLoaderBase.java:1907)
        at org.apache.catalina.loader.WebappClassLoaderBase.clearReferences(WebappClassLoaderBase.java:1577)
        at org.apache.catalina.loader.WebappClassLoaderBase.stop(WebappClassLoaderBase.java:1518)
        at org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:446)
        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:226)
        at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5514)
        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:226)
        at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1439)
        at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1428)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:831)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions