Uwe Schindler created SOLR-10553:
------------------------------------

             Summary: Caffeine causes SIGSEGV in Solr tests
                 Key: SOLR-10553
                 URL: https://issues.apache.org/jira/browse/SOLR-10553
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
            Reporter: Uwe Schindler
            Priority: Critical


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

{noformat}
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 
{noformat}

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!



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to