[infinispan-issues] [JBoss JIRA] (ISPN-4651) LevelDB crashes JVM when stop() is called concurrently with write()

Dan Berindei (JIRA) issues at jboss.org
Wed Aug 20 06:31:29 EDT 2014


    [ https://issues.jboss.org/browse/ISPN-4651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12994276#comment-12994276 ] 

Dan Berindei commented on ISPN-4651:
------------------------------------

I think this JVM crash in CI was related:

{noformat}
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] *** glibc detected *** /home/ec2-user/ispn/jdk1.7.0_45/jre/bin/java: double free or corruption (out): 0x00007f4b100fe910 ***
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] *** glibc detected *** /home/ec2-user/ispn/jdk1.7.0_45/jre/bin/java: free(): corrupted unsorted chunks: 0x00007f4b100729f0 ***
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] ======= Backtrace: =========
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] ======= Backtrace: =========
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] /lib64/libc.so.6[0x3cdf676166]
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] /lib64/libc.so.6[0x3cdf676166]
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] /lib64/libc.so.6[0x3cdf678c93]
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] /tmp/libleveldbjni-64-1-230558425189900646.7(_ZN7leveldb6DBImpl3GetERKNS_11ReadOptionsERKNS_5SliceEPSs+0x167)[0x7f4b20d9d107]
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] /lib64/libc.so.6[0x3cdf678c93]
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] /tmp/libleveldbjni-64-1-230558425189900646.7(+0x43284)[0x7f4b20dc3284]
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] /tmp/libleveldbjni-64-1-230558425189900646.7(_ZN7leveldb10VersionSetD1Ev+0x5b)[0x7f4b20db4c5b]
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] /tmp/libleveldbjni-64-1-230558425189900646.7(_ZN7leveldb6DBImplD0Ev+0x94)[0x7f4b20d9e514]
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] /tmp/libleveldbjni-64-1-230558425189900646.7(Java_org_fusesource_leveldbjni_internal_NativeDB_00024DBJNI_Get+0xa2)[0x7f4b20d9a9f2]
[08:48:05] :		 [org.infinispan:infinispan-cachestore-leveldb] [0x7f4b44f53b46]
{noformat}

http://ci.infinispan.org/viewLog.html?buildId=10981&buildTypeId=bt8&tab=buildLog


> LevelDB crashes JVM when stop() is called concurrently with write()
> -------------------------------------------------------------------
>
>                 Key: ISPN-4651
>                 URL: https://issues.jboss.org/browse/ISPN-4651
>             Project: Infinispan
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Loaders and Stores
>    Affects Versions: 7.0.0.Beta1
>            Reporter: Radim Vansa
>            Assignee: Radim Vansa
>
> This test reproduces the issue:
> {code}
>     public void testConcurrentWriteAndRestart() {
>       final int THREADS = 4;
>       final AtomicBoolean run = new AtomicBoolean(true);
>       final CountDownLatch started = new CountDownLatch(THREADS);
>       ExecutorService executor = Executors.newFixedThreadPool(THREADS);
>       for (int i = 0; i < THREADS; ++i) {
>          executor.execute(new Runnable() {
>             @Override
>             public void run() {
>                started.countDown();
>                int i = 0;
>                while (run.get()) {
>                   InternalCacheEntry entry = TestInternalCacheEntryFactory.create("k" + i, "v" + i);
>                   MarshalledEntry me = TestingUtil.marshalledEntry(entry, getMarshaller());
>                   cl.write(me);
>                   ++i;
>                }
>             }
>          });
>       }
>       try {
>          started.await();
>          Thread.sleep(1000);
>          cl.stop();
>          Thread.sleep(1000);
>          cl.start();
>          Thread.sleep(1000);
>       } catch (InterruptedException e) {
>          throw new IllegalStateException(e);
>       } finally {
>          run.set(false);
>          executor.shutdown();
>       }
>    }
> {code}



--
This message was sent by Atlassian JIRA
(v6.2.6#6264)


More information about the infinispan-issues mailing list