Tomcat crash with StringCache.findClosest NPE

Tomcat 7.0.59 has crashed a few times with the report below.

I couldn't find any other references anywhere with this issue.

Any advice/help/solutions welcome.

    #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        #  SIGSEGV (0xb) at pc=0x00002aaaadfe68b5, pid=3318, tid=1376909632
        #
        # JRE version: Java(TM) SE Runtime Environment (8.0_51-b16) (build 1.8.0_51-b16)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.51-b03 mixed mode linux-amd64 compressed oops)
        # Problematic frame:
        # J 15283 C2 org.apache.tomcat.util.buf.StringCache.findClosest(Lorg/apache/tomcat/util/buf/ByteChunk;[Lorg/apache/tomcat/util/buf/StringCache$ByteEntry;I)I (119 bytes) @ 0x00002aaaadfe68b5 [0x00002aaaadfe65e0+0x2d5]
        #
        # Core dump written. Default location: /home/xxx/core or core.3318
        #
        # If you would like to submit a bug report, please visit:
        #   http://bugreport.java.com/bugreport/crash.jsp
        #

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

        Current thread (0x00002aaadc530800):  JavaThread "zs-exec-65" daemon [_thread_in_Java, id=3903, stack(0x000000005201f000,0x0000000052120000)]

        siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x00000000000001e8

        Registers:
        RAX=0x00000006d517ad08, RBX=0x0000000000004000, RCX=0x0000000000000076, RDX=0x0000000000000065
        RSP=0x000000005211e350, RBP=0x0000000000000074, RSI=0x0000000000000011, RDI=0x0000000000000000
        R8 =0x000000000000000d, R9 =0x000000000000000c, R10=0x0000000000000000, R11=0x00000000000000ed
        R12=0x0000000000000000, R13=0x00000006db952db0, R14=0x0000000000000075, R15=0x00002aaadc530800
        RIP=0x00002aaaadfe68b5, EFLAGS=0x0000000000010293, CSGSFS=0x0000000000000033, ERR=0x0000000000000004
          TRAPNO=0x000000000000000e

        Top of Stack: (sp=0x000000005211e350)
        0x000000005211e350:   0000000d000000c8 00000078fffffd28
        0x000000005211e360:   00000006db9de448 000002d8000002d8
        0x000000005211e370:   00000007c04e0f40 00002aaaafdc03b4
        0x000000005211e380:   0000000743a0dda8 00000006d38a4868
        0x000000005211e390:   0000000000000009 0000000000000001
        0x000000005211e3a0:   00000006db957700 00002aaaaeba6a28
        0x000000005211e3b0:   00000083000000c8 00000062ffffffe7
        0x000000005211e3c0:   00000006d398c060 00000006c358efe0
        0x000000005211e3d0:   0000000000000000 00000006db6f1de8
        0x000000005211e3e0:   0000000000000082 00002aaaac5bbba8
        0x000000005211e3f0:   00000006db959740 00002aaaad15f12c
        0x000000005211e400:   7f2396bcc3d08790 00000006d398c060
        0x000000005211e410:   00000006c358efe0 000000010000003c
        0x000000005211e420:   00000006db959640 00002aaaaeee3ef0
        0x000000005211e430:   00000006db959610 0000000743a0e168
        0x000000005211e440:   00000006db6f1de8 0000000600000082
        0x000000005211e450:   00000000db72aeda 00002aaaae0ed654
        0x000000005211e460:   00000006db9576d0 0000000f0000000f
        0x000000005211e470:   00000006d398b130 00000006c358efe0
        0x000000005211e480:   0000000700000001 00002aaab9012000
        0x000000005211e490:   0000000700000083 00002ada74141003
        0x000000005211e4a0:   000000005ac72374 00000000000498ea
        0x000000005211e4b0:   00000006d75e23a8 00002aaab03a6a20
        0x000000005211e4c0:   00000006d75e23a8 00002aaab9012000
        0x000000005211e4d0:   00000006c353d408 00000006db95bb38
        0x000000005211e4e0:   00000006db95be70 00000006db9cbc98
        0x000000005211e4f0:   0000000000000000 0000000743a0e2b8
        0x000000005211e500:   00000000da72fb81 00002aaaad861d28
        0x000000005211e510:   00000006db9586b0 00000006c351ba78
        0x000000005211e520:   0000000000000001 00002aaab02adc80
        0x000000005211e530:   0000000743a0d798 0000000200000009
        0x000000005211e540:   0000000743a0d780 0000000100000001 

        Instructions: (pc=0x00002aaaadfe68b5)
        0x00002aaaadfe6895:   01 fd 44 8b d9 44 03 5c 24 0c 44 8b f1 41 8b cb
        0x00002aaaadfe68a5:   d1 e9 3b 0c 24 0f 83 ad 05 00 00 66 49 0f 7e ca
        0x00002aaaadfe68b5:   45 8b 54 8a 10 47 8b 54 d4 0c 43 8b 74 d4 0c 44
        0x00002aaaadfe68c5:   8b 5c 24 04 44 3b de 7d 05 45 8b c3 eb 03 44 8b 

        Register to memory mapping:

        RAX=0x00000006d517ad08 is an oop
        [B 
         - klass: {type array byte}
         - length: 17
        RBX=0x0000000000004000 is an unknown value
        RCX=0x0000000000000076 is an unknown value
        RDX=0x0000000000000065 is an unknown value
        RSP=0x000000005211e350 is pointing into the stack for thread: 0x00002aaadc530800
        RBP=0x0000000000000074 is an unknown value
        RSI=0x0000000000000011 is an unknown value
        RDI=0x0000000000000000 is an unknown value
        R8 =0x000000000000000d is an unknown value
        R9 =0x000000000000000c is an unknown value
        R10=0x0000000000000000 is an unknown value
        R11=0x00000000000000ed is an unknown value
        R12=0x0000000000000000 is an unknown value
        R13=0x00000006db952db0 is an oop
        [B 
         - klass: {type array byte}
         - length: 16384
        R14=0x0000000000000075 is an unknown value
        R15=0x00002aaadc530800 is a thread


        Stack: [0x000000005201f000,0x0000000052120000],  sp=0x000000005211e350,  free space=1020k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        J 15283 C2 org.apache.tomcat.util.buf.StringCache.findClosest(Lorg/apache/tomcat/util/buf/ByteChunk;[Lorg/apache/tomcat/util/buf/StringCache$ByteEntry;I)I (119 bytes) @ 0x00002aaaadfe68b5 [0x00002aaaadfe65e0+0x2d5]
    ......
    Deoptimization events (10 events):
    Event: 41745.498 Thread 0x00002aaaca7ba000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00002aaaafbef34c method=sun.net.www.MeteredStream.finalize()V @ 1
    Event: 41897.577 Thread 0x00002aaadeee7000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00002aaaaf350b50 method=com.sogou.baike.mobile.bean.image.ImageDescriptor.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V @ 6
    Event: 42611.355 Thread 0x00002aaad8f7c800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00002aaaaff77f0c method=com.sogou.baike.mobile.utils.SearchKey.removeInvalid(Ljava/lang/String;)Ljava/lang/String; @ 145
    Event: 42824.615 Thread 0x00002aaade3bb000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00002aaab086ea08 method=org.jsoup.helper.StringUtil.padding(I)Ljava/lang/String; @ 19
    Event: 42824.615 Thread 0x00002aaade3bb000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00002aaaae667920 method=org.jsoup.helper.StringUtil.padding(I)Ljava/lang/String; @ 19
    Event: 43120.973 Thread 0x00002aaadeeff800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00002aaab0b7ae84 method=com.sogou.baike.mobile.service.lemma.parse.temp.LemmaParseToMobile.exeModuleDataInfo(Lcom/sogou/baike/mobile/service/lemma/model/MobileLemma;Ljava/util/concurrent/atomic/Ato
    Event: 43175.582 Thread 0x0000000001072000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00002aaab0e652cc method=com.sogou.baike.mobile.service.lemma.parse.h.RichtextParser.parse(Ljava/lang/String;ZLcom/sogou/baike/mobile/utils/URLBuilder;Z)Lcom/sogou/baike/mobile/service/lemma/parse/h
    Event: 43339.578 Thread 0x00002aaad8f79000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00002aaab098a390 method=java.util.regex.Pattern$Dot.isSatisfiedBy(I)Z @ 9
    Event: 43769.256 Thread 0x0000000000bb6800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00002aaaaf8009c8 method=org.htmlcleaner.HtmlTokenizer.identifier()Ljava/lang/String; @ 106
    Event: 43946.670 Thread 0x00002aaadc52e800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00002aaaafc5b3bc method=org.jsoup.parser.HtmlTreeBuilderState$15.process(Lorg/jsoup/parser/Token;Lorg/jsoup/parser/HtmlTreeBuilder;)Z @ 295

    Internal exceptions (10 events):
    Event: 44375.480 Thread 0x00000000019e4000 Exception <a 'java/lang/NoSuchMethodError': <clinit>> (0x0000000774579b50) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/prims/jni.cpp, line 1598]
    Event: 44375.486 Thread 0x0000000001d16800 Exception <a 'java/lang/NoSuchMethodError': <clinit>> (0x0000000773f44020) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/prims/jni.cpp, line 1598]
    Event: 44426.659 Thread 0x0000000000bd6000 Exception <a 'java/lang/NoSuchMethodError': <clinit>> (0x00000007558fff78) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/prims/jni.cpp, line 1598]
    Event: 44435.477 Thread 0x0000000001e86000 Exception <a 'java/lang/NoSuchMethodError': <clinit>> (0x0000000761fc5d38) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/prims/jni.cpp, line 1598]
    Event: 44435.477 Thread 0x00002aaadc027000 Exception <a 'java/lang/NoSuchMethodError': <clinit>> (0x0000000761fd3160) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/prims/jni.cpp, line 1598]
    Event: 44435.478 Thread 0x00002aaadc026800 Exception <a 'java/lang/NoSuchMethodError': <clinit>> (0x0000000761fe4328) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/prims/jni.cpp, line 1598]
    Event: 44435.485 Thread 0x00002aaadc027000 Exception <a 'java/lang/NoSuchMethodError': <clinit>> (0x0000000761d47968) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/prims/jni.cpp, line 1598]
    Event: 44435.490 Thread 0x0000000001e86000 Exception <a 'java/lang/NoSuchMethodError': <clinit>> (0x0000000761d60160) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/prims/jni.cpp, line 1598]
    Event: 44435.512 Thread 0x00002aaad53ee000 Exception <a 'java/lang/NoSuchMethodError': <clinit>> (0x000000076235c370) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/prims/jni.cpp, line 1598]
    Event: 44467.295 Thread 0x00002aaadc530800 Implicit null exception at 0x00002aaaadfe68b5 to 0x0000000000000000
... 

The thread (pid=3903) stack info in core dump is empty.

Thread 3903: (state = IN_JAVA)

What puzzles me is what circumstances tomcat stringcache can produce a null pointer?