Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Cannot Reproduce
-
None
-
None
-
None
-
None
Description
While running the Solr tests, the JVM often crushes with SIGSEGV. The reason is Caffeine's usage of Unsafe. Please open an issue on this lib or remove this library.
I looked at Caffeine's usage of Unsafe: IT IS TOTALLY USELESS!
See this log: https://jenkins.thetaphi.de/job/Lucene-Solr-6.x-Linux/3347/artifact/solr/build/solr-core/test/J2/hs_err_pid17108.log
Current thread (0xbf7af000): JavaThread "Thread-4" [_thread_in_Java, id=17265, stack(0xc342e000,0xc347f000)] Stack: [0xc342e000,0xc347f000], sp=0xc347dba0, free space=318k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) J 5565% c1 com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueue.poll()Ljava/lang/Object; (108 bytes) @ 0xe7ae7848 [0xe7ae6e20+0x00000a28] j com.github.benmanes.caffeine.cache.BoundedLocalCache.drainWriteBuffer()V+21 j com.github.benmanes.caffeine.cache.BoundedLocalCache.maintenance(Ljava/lang/Runnable;)V+10 j com.github.benmanes.caffeine.cache.BoundedLocalCache.performCleanUp(Ljava/lang/Runnable;)V+11 j com.github.benmanes.caffeine.cache.BoundedLocalCache$PerformCleanupTask.run()V+5 j org.apache.solr.store.blockcache.BlockCache$$Lambda$278.execute(Ljava/lang/Runnable;)V+1 j com.github.benmanes.caffeine.cache.BoundedLocalCache.scheduleDrainBuffers()V+54 j com.github.benmanes.caffeine.cache.BoundedLocalCache.scheduleAfterWrite()V+44 j com.github.benmanes.caffeine.cache.BoundedLocalCache.afterWrite(Lcom/github/benmanes/caffeine/cache/Node;Ljava/lang/Runnable;J)V+47 j com.github.benmanes.caffeine.cache.BoundedLocalCache.put(Ljava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object;+209 j com.github.benmanes.caffeine.cache.BoundedLocalCache.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+5 j com.github.benmanes.caffeine.cache.LocalManualCache.put(Ljava/lang/Object;Ljava/lang/Object;)V+8 j org.apache.solr.store.blockcache.BlockCache.store(Lorg/apache/solr/store/blockcache/BlockCacheKey;I[BII)Z+176 j org.apache.solr.store.blockcache.BlockCacheTest$1.test()V+331 j org.apache.solr.store.blockcache.BlockCacheTest$1.test(I)V+8 j org.apache.solr.store.blockcache.BlockCacheTest$1.run()V+47 v ~StubRoutines::call_stub V [libjvm.so+0x65f759] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x319 V [libjvm.so+0x910889] os::os_exception_wrapper(void (*)(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*), JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x19 V [libjvm.so+0x65e093] JavaCalls::call_virtual(JavaValue*, Handle, KlassHandle, Symbol*, Symbol*, Thread*)+0x163 V [libjvm.so+0x6ee089] thread_entry(JavaThread*, Thread*)+0x89 V [libjvm.so+0xa747d4] JavaThread::thread_main_inner()+0xf4 V [libjvm.so+0x912e5c] thread_native_entry(Thread*)+0x10c C [libpthread.so.0+0x6f72] start_thread+0xd2 C [libc.so.6+0xee2ae] clone+0x5e siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x8d0ffbb0 Register to memory mapping: EAX=0x00000040 is an unknown value EBX=0x00000000 is pointing into the stack for thread: 0xbf7ddc00 ECX=0x00000000 is pointing into the stack for thread: 0xbf7ddc00 EDX=0xc9a00918 is pointing into object: 0xc9a004f8 [error occurred during error reporting (printing register info), id 0xb] Registers: EAX=0x00000040, EBX=0x00000000, ECX=0x00000000, EDX=0xc9a00918 ESP=0xc347dba0, EBP=0xc347dcf0, ESI=0xc9c81ee8, EDI=0xc347dcc8 EIP=0xe7ae7848, EFLAGS=0x00010246, CR2=0x000000008d0ffbb0 Top of Stack: (sp=0xc347dba0) 0xc347dba0: 00000038 bebd16c0 c347dbf8 f702a6f9 0xc347dbb0: e6c031c0 00000028 00000004 c347dc24 Instructions: (pc=0xe7ae7848) 0xe7ae7828: f0 58 0f be b6 e4 01 00 00 83 fe 00 8b bc 24 f8 0xe7ae7838: 00 00 00 8b b4 24 98 00 00 00 0f 85 cc 06 00 00 0xe7ae7848: 89 0c 3e 8d 34 3e 8b fe 33 f9 c1 ef 14 83 ff 00 0xe7ae7858: 0f 85 cf 06 00 00 f0 83 44 24 c0 00 8b 8c 24 f4
The reson for this crash is wrong integer calculations while calculating offsets.
I have seen several Unsafe-related crashes the last weeks. All coming from Caffeine. So please, please, please: Remove that lib or ask them to remove Unsafe!