-
Bug
-
Resolution: Done
-
Minor
-
4.6.0.Final
-
None
-
- Install ModeShape into WildFly
- Configure sample repository to use Oracle-backed binary store
- Copy zero-length file into repository via WebDAV client
- Try to rename file created at the previous step
Attempt to rename zero-length file via WebDAV fails at least with ojdbc6.jar driver with the following log messages:
2016-04-05 10:19:31,662 ERROR [io.undertow.request] (default task-50) UT005023: Exception handling request to /modeshape-webdav/sample/default/a: javax.servlet.ServletException: org.modeshape.webdav.exceptions.WebdavException at org.modeshape.webdav.WebDavServletBean.service(WebDavServletBean.java:209) [modeshape-webdav-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.web.jcr.webdav.ModeShapeWebdavServlet.service(ModeShapeWebdavServlet.java:121) [modeshape-web-jcr-webdav-4.6.0.Final.jar:4.6.0.Final] at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final] at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final] at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33) [undertow-core-1.1.0.Final.jar:1.1.0.Final] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final] at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51) [undertow-core-1.1.0.Final.jar:1.1.0.Final] at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) [undertow-core-1.1.0.Final.jar:1.1.0.Final] at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:63) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) [undertow-core-1.1.0.Final.jar:1.1.0.Final] at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [undertow-core-1.1.0.Final.jar:1.1.0.Final] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final] at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final] at io.undertow.servlet.handlers.SessionRestoringHandler.handleRequest(SessionRestoringHandler.java:119) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:76) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:166) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] at io.undertow.server.Connectors.executeRootHandler(Connectors.java:197) [undertow-core-1.1.0.Final.jar:1.1.0.Final] at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:759) [undertow-core-1.1.0.Final.jar:1.1.0.Final] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_80] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_80] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_80] Caused by: org.modeshape.webdav.exceptions.WebdavException at org.modeshape.web.jcr.webdav.ModeShapeWebdavServlet.translateError(ModeShapeWebdavServlet.java:146) [modeshape-web-jcr-webdav-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.web.jcr.webdav.ModeShapeWebdavServlet.translate(ModeShapeWebdavServlet.java:129) [modeshape-web-jcr-webdav-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.webdav.WebDavServletBean.service(WebDavServletBean.java:197) [modeshape-webdav-4.6.0.Final.jar:4.6.0.Final] ... 32 more Caused by: java.lang.NullPointerException at org.modeshape.jcr.value.binary.Database$DatabaseBinaryStream.read(Database.java:537) [modeshape-jcr-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.common.util.SelfClosingInputStream.read(SelfClosingInputStream.java:111) [modeshape-common-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.common.util.SecureHash$HashingInputStream.read(SecureHash.java:380) [modeshape-common-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.common.util.IoUtil.write(IoUtil.java:331) [modeshape-common-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.jcr.value.binary.FileSystemBinaryStore.storeValue(FileSystemBinaryStore.java:109) [modeshape-jcr-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.jcr.value.binary.DatabaseBinaryStore.storeValue(DatabaseBinaryStore.java:171) [modeshape-jcr-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.jcr.value.binary.BinaryStoreValueFactory.create(BinaryStoreValueFactory.java:244) [modeshape-jcr-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.jcr.value.binary.BinaryStoreValueFactory.create(BinaryStoreValueFactory.java:49) [modeshape-jcr-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.jcr.JcrValueFactory.createBinary(JcrValueFactory.java:141) [modeshape-jcr-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.jcr.JcrValueFactory.createBinary(JcrValueFactory.java:41) [modeshape-jcr-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.web.jcr.webdav.DefaultContentMapper.setContent(DefaultContentMapper.java:203) [modeshape-web-jcr-webdav-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.web.jcr.webdav.ModeShapeWebdavStore.setResourceContent(ModeShapeWebdavStore.java:446) [modeshape-web-jcr-webdav-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.webdav.methods.DoCopy.copy(DoCopy.java:227) [modeshape-webdav-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.webdav.methods.DoCopy.copyResource(DoCopy.java:173) [modeshape-webdav-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.webdav.methods.DoMove.execute(DoMove.java:79) [modeshape-webdav-4.6.0.Final.jar:4.6.0.Final] at org.modeshape.webdav.WebDavServletBean.service(WebDavServletBean.java:157) [modeshape-webdav-4.6.0.Final.jar:4.6.0.Final] ... 32 more