You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Alexander Klimetschek (JIRA)" <ji...@apache.org> on 2014/03/28 00:31:15 UTC

[jira] [Created] (OAK-1634) After crash, segment persistence is broken with failures in java.nio classes (with v0.19)

Alexander Klimetschek created OAK-1634:
------------------------------------------

             Summary: After crash, segment persistence is broken with failures in java.nio classes (with v0.19)
                 Key: OAK-1634
                 URL: https://issues.apache.org/jira/browse/OAK-1634
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: segmentmk
    Affects Versions: 0.15
            Reporter: Alexander Klimetschek
            Assignee: Jukka Zitting
             Fix For: 0.17.1


For some unknown reasons my laptop crashed and with it our Oak-based application. After starting it again, the persistence is broken, and nothing works. My OS and file system looks fine (Operating system: OSX Mavericks, rebooted by itself while it was closed, only noticeable through a "your system was restarted" dialog).

There are java.nio DirectByteBuffer, ByteBuffer and Buffer exceptions (null argument, index out of bounds, and bufferoverflow) see below.

{code}
07.02.2014 07:04:43.843 *ERROR* [pool-7-thread-1] org.apache.sling.commons.scheduler.impl.QuartzScheduler Exception during job execution of org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate@691a70f1 : null
java.lang.IllegalArgumentException: null
	at java.nio.Buffer.position(Buffer.java:216) ~[na:1.6.0_29]
	at org.apache.jackrabbit.oak.plugins.segment.file.MappedAccess.write(MappedAccess.java:65) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.file.TarFile.writeEntry(TarFile.java:166) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.file.FileStore.writeSegment(FileStore.java:318) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.flush(SegmentWriter.java:201) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.prepare(SegmentWriter.java:238) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeMapLeaf(SegmentWriter.java:310) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeMapBucket(SegmentWriter.java:376) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeMapBucket(SegmentWriter.java:403) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeMapBucket(SegmentWriter.java:412) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeMapBucket(SegmentWriter.java:412) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeMap(SegmentWriter.java:590) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:894) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:62) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.checkpoint(SegmentNodeStore.java:210) ~[na:na]
	at org.apache.jackrabbit.oak.spi.state.ProxyNodeStore.checkpoint(ProxyNodeStore.java:60) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate.run(AsyncIndexUpdate.java:115) ~[na:na]
	at org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:105) ~[org.apache.sling.commons.scheduler-2.4.2.jar:na]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:207) [org.apache.sling.commons.scheduler-2.4.2.jar:na]
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_29]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_29]
	at java.lang.Thread.run(Thread.java:680) [na:1.6.0_29]

07.02.2014 07:10:23.841 *ERROR* [pool-7-thread-1] org.apache.sling.commons.scheduler.impl.QuartzScheduler Exception during job execution of org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate@691a70f1 : null
java.lang.IndexOutOfBoundsException: null
	at java.nio.ByteBuffer.wrap(ByteBuffer.java:352) ~[na:1.6.0_29]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.flush(SegmentWriter.java:197) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.prepare(SegmentWriter.java:238) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.prepare(SegmentWriter.java:214) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeValueRecord(SegmentWriter.java:476) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeString(SegmentWriter.java:614) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeProperty(SegmentWriter.java:726) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:918) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeAdded(SegmentWriter.java:871) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:384) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:868) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:62) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.checkpoint(SegmentNodeStore.java:210) ~[na:na]
	at org.apache.jackrabbit.oak.spi.state.ProxyNodeStore.checkpoint(ProxyNodeStore.java:60) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate.run(AsyncIndexUpdate.java:115) ~[na:na]
	at org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:105) ~[org.apache.sling.commons.scheduler-2.4.2.jar:na]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:207) [org.apache.sling.commons.scheduler-2.4.2.jar:na]
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_29]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_29]
	at java.lang.Thread.run(Thread.java:680) [na:1.6.0_29]

07.02.2014 07:02:34.408 *ERROR* [TarMK flush thread: /Users/alex/Work/code/cq/master/quickstart/target/crx-quickstart/repository] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[TarMK flush thread: /Users/alex/Work/code/cq/master/quickstart/target/crx-quickstart/repository,1,main]
java.nio.BufferOverflowException: null
	at java.nio.DirectByteBuffer.put(DirectByteBuffer.java:352) ~[na:1.6.0_29]
	at org.apache.jackrabbit.oak.plugins.segment.file.MappedAccess.write(MappedAccess.java:66) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.file.TarFile.writeEntry(TarFile.java:169) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.file.FileStore.writeSegment(FileStore.java:318) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.flush(SegmentWriter.java:201) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.file.FileStore.flush(FileStore.java:189) ~[na:na]
	at org.apache.jackrabbit.oak.plugins.segment.file.FileStore$1.run(FileStore.java:164) ~[na:na]
	at java.lang.Thread.run(Thread.java:680) ~[na:1.6.0_29]
{code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)