[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