[ 
https://issues.apache.org/jira/browse/OAK-1634?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Klimetschek updated OAK-1634:
---------------------------------------

    Description: 
Reopening of OAK-1409, as it still occurs with 0.19.0. Below is the latest 
stacktrace I get after my instance crashed hard due to an OS crash.

{code}
27.03.2014 14:46:24.045 *ERROR* [qtp981488976-157] 
org.apache.sling.jcr.webdav.impl.servlets.SlingSimpleWebDavServlet service: 
Uncaught RuntimeException
java.nio.BufferOverflowException: null
        at java.nio.DirectByteBuffer.put(DirectByteBuffer.java:352)
        at 
org.apache.jackrabbit.oak.plugins.segment.file.MappedAccess.write(MappedAccess.java:64)
        at 
org.apache.jackrabbit.oak.plugins.segment.file.TarFile.writeEntryHeader(TarFile.java:201)
        at 
org.apache.jackrabbit.oak.plugins.segment.file.TarFile.writeEntry(TarFile.java:134)
        at 
org.apache.jackrabbit.oak.plugins.segment.file.FileStore.writeSegment(FileStore.java:387)
        at 
org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.internalWriteStream(SegmentWriter.java:744)
        at 
org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeStream(SegmentWriter.java:711)
        at 
org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.createBlob(SegmentNodeStore.java:174)
        at 
org.apache.jackrabbit.oak.spi.state.ProxyNodeStore.createBlob(ProxyNodeStore.java:57)
        at 
org.apache.jackrabbit.oak.core.MutableRoot.createBlob(MutableRoot.java:314)
        at 
org.apache.jackrabbit.oak.plugins.value.ValueFactoryImpl.createBinaryValue(ValueFactoryImpl.java:286)
        at 
org.apache.jackrabbit.oak.plugins.value.ValueFactoryImpl.createValue(ValueFactoryImpl.java:143)
        at 
org.apache.jackrabbit.oak.jcr.session.NodeImpl.setProperty(NodeImpl.java:455)
        at 
org.apache.jackrabbit.server.io.DefaultHandler.importData(DefaultHandler.java:237)
        at 
org.apache.jackrabbit.server.io.DefaultHandler.importContent(DefaultHandler.java:188)
        at 
org.apache.jackrabbit.server.io.DefaultHandler.importContent(DefaultHandler.java:215)
        at 
org.apache.sling.jcr.webdav.impl.handler.DefaultHandlerService.importContent(DefaultHandlerService.java:116)
        at 
org.apache.jackrabbit.server.io.IOManagerImpl.importContent(IOManagerImpl.java:129)
        at 
org.apache.jackrabbit.webdav.simple.DavResourceImpl.addMember(DavResourceImpl.java:528)
        at 
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doPut(AbstractWebdavServlet.java:629)
        at 
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:357)
        at 
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:291)
        at 
org.apache.sling.jcr.webdav.impl.servlets.SlingSimpleWebDavServlet.doService(SlingSimpleWebDavServlet.java:88)
        at 
org.apache.sling.jcr.webdav.impl.servlets.SlingSimpleWebDavServlet.service(SlingSimpleWebDavServlet.java:67)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
{code}

  was:
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}


> 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.19
>            Reporter: Alexander Klimetschek
>            Assignee: Jukka Zitting
>
> Reopening of OAK-1409, as it still occurs with 0.19.0. Below is the latest 
> stacktrace I get after my instance crashed hard due to an OS crash.
> {code}
> 27.03.2014 14:46:24.045 *ERROR* [qtp981488976-157] 
> org.apache.sling.jcr.webdav.impl.servlets.SlingSimpleWebDavServlet service: 
> Uncaught RuntimeException
> java.nio.BufferOverflowException: null
>       at java.nio.DirectByteBuffer.put(DirectByteBuffer.java:352)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.file.MappedAccess.write(MappedAccess.java:64)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.file.TarFile.writeEntryHeader(TarFile.java:201)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.file.TarFile.writeEntry(TarFile.java:134)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.file.FileStore.writeSegment(FileStore.java:387)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.internalWriteStream(SegmentWriter.java:744)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeStream(SegmentWriter.java:711)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.createBlob(SegmentNodeStore.java:174)
>       at 
> org.apache.jackrabbit.oak.spi.state.ProxyNodeStore.createBlob(ProxyNodeStore.java:57)
>       at 
> org.apache.jackrabbit.oak.core.MutableRoot.createBlob(MutableRoot.java:314)
>       at 
> org.apache.jackrabbit.oak.plugins.value.ValueFactoryImpl.createBinaryValue(ValueFactoryImpl.java:286)
>       at 
> org.apache.jackrabbit.oak.plugins.value.ValueFactoryImpl.createValue(ValueFactoryImpl.java:143)
>       at 
> org.apache.jackrabbit.oak.jcr.session.NodeImpl.setProperty(NodeImpl.java:455)
>       at 
> org.apache.jackrabbit.server.io.DefaultHandler.importData(DefaultHandler.java:237)
>       at 
> org.apache.jackrabbit.server.io.DefaultHandler.importContent(DefaultHandler.java:188)
>       at 
> org.apache.jackrabbit.server.io.DefaultHandler.importContent(DefaultHandler.java:215)
>       at 
> org.apache.sling.jcr.webdav.impl.handler.DefaultHandlerService.importContent(DefaultHandlerService.java:116)
>       at 
> org.apache.jackrabbit.server.io.IOManagerImpl.importContent(IOManagerImpl.java:129)
>       at 
> org.apache.jackrabbit.webdav.simple.DavResourceImpl.addMember(DavResourceImpl.java:528)
>       at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doPut(AbstractWebdavServlet.java:629)
>       at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:357)
>       at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:291)
>       at 
> org.apache.sling.jcr.webdav.impl.servlets.SlingSimpleWebDavServlet.doService(SlingSimpleWebDavServlet.java:88)
>       at 
> org.apache.sling.jcr.webdav.impl.servlets.SlingSimpleWebDavServlet.service(SlingSimpleWebDavServlet.java:67)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> {code}



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

Reply via email to