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)