Error seen when using WebAuthor - ro.sync.servlet.ServletDocumentModelCache

Post here questions and problems related to oXygen frameworks/document types.
gfloodgate
Posts: 3

Error seen when using WebAuthor - ro.sync.servlet.ServletDocumentModelCache

Mon Sep 26, 2016 7:45 pm

Hello,

We are using the Oxygen web author deployment (18.0.0.6) with a customer protocal connctor.

We have deployed the application to a Tomcat container, and when we access a document, we see the following error in the logs:

15935994 ERROR [ http-nio-8080-exec-9 ] ro.sync.servlet.ServletDocumentModelCache - User with id user2711956834878428666 is trying to access a document that belongs to the user user-1474907160811.
15935994 ERROR [ http-nio-8080-exec-9 ] ro.sync.servlet.errors.DefaultExceptionHandler - java.lang.IllegalMonitorStateException
java.lang.IllegalMonitorStateException
at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:151)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1261)
at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:457)
at ro.sync.servlet.datastore.guava.GuavaDiskDatastore$Entry.unlock(GuavaDiskDatastore.java:333)
at ro.sync.servlet.datastore.guava.GuavaDiskDatastore.release(GuavaDiskDatastore.java:190)
at ro.sync.servlet.ServletDocumentModelCache.releaseDocument(ServletDocumentModelCache.java:235)
at ro.sync.servlet.validation.AuthorDocumentAsyncValidator.schedule(AuthorDocumentAsyncValidator.java:97)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:137)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:296)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:250)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:237)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at ro.sync.ecss.webapp.j.h.doFilter(Unknown Source)
at ro.sync.ecss.extensions.api.webapp.license.LicenseEnforcerFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at ro.sync.servlet.config.OxygenContextFilter.doFilter(OxygenContextFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at ro.sync.servlet.config.UTF8CharsetEnforcer.doFilter(UTF8CharsetEnforcer.java:28)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at ro.sync.servlet.config.DynamicResourcesNoCacheFilter.doFilter(DynamicResourcesNoCacheFilter.java:39)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1452)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)


We are supplying the url to webauthor in the format: (the specifics are fictional here to avoid leaking information, but the intent is correct)

http://web-author.blah.com/app/oxygen.h ... user-yyyyy

The document content loads, but we see the above errors in the logs AND the content is not styled correctly.
Any attempt to edit/update the content results in a failure message.

Can someone explain please how we can resolve this issue -= or at the very least - what is causing it ?!?

For info: There is only one user, from one web browser, in one location attempting to access the document at a time.

Kind Regards
Gareth
mihai_coanda
Posts: 4

Re: Error seen when using WebAuthor - ro.sync.servlet.ServletDocumentModelCache

Tue Sep 27, 2016 2:57 pm

Hello,

This error occurs when one user tries to invoke actions on behalf of another user

Code: Select all

User with id user2711956834878428666 is trying to access a document that belongs to the user user-1474907160811

This should never happen unless one tries to act on a document opened in another session. Somehow another user is requesting validation for another user's document.
For further support you can send us your connector plugin and other customization that you have on support@oxygenxml.com

Mihai.
gfloodgate
Posts: 3

Re: Error seen when using WebAuthor - ro.sync.servlet.ServletDocumentModelCache

Wed Sep 28, 2016 10:34 am

Hello,

For the benefir of anyone else coming to this post - we found the cause of the issue - and the workaround.

Cause:
Fundamentally, Oxygen WebAuthor (at the time of writing 18.0.0.6) cannot be deployed in the root context /
If you deploy it under tomcat as ROOT.war - it will deploy, but fail, exhibiting the behaviour seen above.

Workaround:
To deploy an application that works, deploy as a non-root war, e.g. oxygen-webapp.war -- > context /oxygen-webapp/


The Oxygen webauthor team have an internal case to address/resolve this issue in a future release.


Regards
Gareth

Return to “SDK-API, Frameworks - Document Types”

Who is online

Users browsing this forum: mihaela and 4 guests