Start-up error when migrating from 25.0 to 25.1

Having trouble deploying Oxygen XML Web Author? Got a bug to report? Post it all here.
Johann
Posts: 199
Joined: Wed Jun 17, 2015 12:46 pm

Start-up error when migrating from 25.0 to 25.1

Post by Johann »

Hello,

When I upgraded web-author-component from 25.0.0.0 to 25.1.0.0, I cannot start up web author.

I get this error:

Code: Select all

Stack trace of not completed getInstance()
java.lang.Exception
	at ro.sync.exml.options.Options.getInstance(Unknown Source)
	at ro.sync.exml.options.Options.getInstance(Unknown Source)
	at ro.sync.ecss.extensions.api.webapp.WebappAuthorDocumentFactory.init(Unknown Source)
	at ro.sync.ecss.extensions.api.webapp.WebappAuthorDocumentFactory.setOptions(Unknown Source)
	at ro.sync.servlet.StartupServlet.setFactoryOptions(StartupServlet.java:590)
	at ro.sync.servlet.StartupServlet.loadOptions(StartupServlet.java:575)
	at ro.sync.servlet.StartupServlet.prepareWebappFactory(StartupServlet.java:275)
	at ro.sync.servlet.StartupServlet.contextInitialized(StartupServlet.java:844)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4686)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5147)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
	at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1727)
	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.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:288)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:456)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:405)
	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.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:288)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)
	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408)
	at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
	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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
	at sun.rmi.transport.Transport$1.run(Transport.java:200)
	at sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Stack trace of current getInstance()
java.lang.Exception
	at ro.sync.exml.options.Options.getInstance(Unknown Source)
	at ro.sync.exml.options.Options.getInstance(Unknown Source)
	at ro.sync.servlet.datastore.guava.GuavaDatastoreFactory.createDocumentDatastore(GuavaDatastoreFactory.java:86)
	at ro.sync.servlet.ServletDocumentModelCache.<init>(ServletDocumentModelCache.java:121)
	at ro.sync.servlet.ServletDocumentModelCache.<init>(ServletDocumentModelCache.java:113)
	at ro.sync.servlet.ServletDocumentModelCache.<clinit>(ServletDocumentModelCache.java:60)
	at ro.sync.servlet.StartupServlet.contextDestroyed(StartupServlet.java:1185)
	at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4732)
	at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5397)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:187)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
	at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1727)
	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.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:288)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:456)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:405)
	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.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:288)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)
	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408)
	at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
	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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
	at sun.rmi.transport.Transport$1.run(Transport.java:200)
	at sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Do you have an idea about this error?

Thank you,

Johann
cristi_talau
Posts: 496
Joined: Thu Sep 04, 2014 4:22 pm

Re: Start-up error when migrating from 25.0 to 25.1

Post by cristi_talau »

Hello,

This error appears while the application stops because it failed to start. I would expect to have more errors before this one in the logs. Can you share a larger snippet of the logs?

Best,
Cristian
Johann
Posts: 199
Joined: Wed Jun 17, 2015 12:46 pm

Re: Start-up error when migrating from 25.0 to 25.1

Post by Johann »

Hello,

Indeed, this seems to be the root cause:

Code: Select all

06-Apr-2023 14:05:15.320 GRAVE [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) [ro.sync.servlet.StartupServlet]
	java.lang.NoSuchMethodError: org.slf4j.Logger.debug(Ljava/lang/String;[Ljava/util/function/Supplier;)V
		at ro.sync.find.c.k.g(Unknown Source)
		at ro.sync.find.c.k.h(Unknown Source)
		at ro.sync.find.c.k.<init>(Unknown Source)
		at ro.sync.find.c.k.<init>(Unknown Source)
		at ro.sync.find.c.k.<init>(Unknown Source)
		at ro.sync.find.c.c.<init>(Unknown Source)
		at ro.sync.exml.editor.lg.<clinit>(Unknown Source)
		at ro.sync.svn.options.SVNFileTypeAssociation.getDefault(Unknown Source)
		at ro.sync.exml.options.x.j(Unknown Source)
		at ro.sync.exml.options.ld.j(Unknown Source)
		at ro.sync.exml.options.x.<init>(Unknown Source)
		at ro.sync.exml.options.ld.<init>(Unknown Source)
		at ro.sync.exml.options.ld$_b.<clinit>(Unknown Source)
		at ro.sync.exml.options.ld.l(Unknown Source)
		at ro.sync.exml.options.Options.init(Unknown Source)
		at ro.sync.exml.options.Options.init(Unknown Source)
		at ro.sync.exml.options.Options.getInstance(Unknown Source)
		at ro.sync.exml.options.Options.getInstance(Unknown Source)
		at ro.sync.ecss.extensions.api.webapp.WebappAuthorDocumentFactory.init(Unknown Source)
		at ro.sync.ecss.extensions.api.webapp.WebappAuthorDocumentFactory.setOptions(Unknown Source)
		at ro.sync.servlet.StartupServlet.setFactoryOptions(StartupServlet.java:590)
		at ro.sync.servlet.StartupServlet.loadOptions(StartupServlet.java:575)
		at ro.sync.servlet.StartupServlet.prepareWebappFactory(StartupServlet.java:275)
		at ro.sync.servlet.StartupServlet.contextInitialized(StartupServlet.java:844)
		at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4686)
		at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5147)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
		at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
		at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
		at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1727)
		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.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:288)
		at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
		at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
		at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:456)
		at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:405)
		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.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:288)
		at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
		at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
		at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)
		at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
		at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
		at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
		at java.security.AccessController.doPrivileged(Native Method)
		at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408)
		at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
		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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
		at sun.rmi.transport.Transport$1.run(Transport.java:200)
		at sun.rmi.transport.Transport$1.run(Transport.java:197)
		at java.security.AccessController.doPrivileged(Native Method)
		at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
		at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
		at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
		at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
		at java.security.AccessController.doPrivileged(Native Method)
		at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
		at java.lang.Thread.run(Thread.java:748)
Regards,

Johann
cristi_talau
Posts: 496
Joined: Thu Sep 04, 2014 4:22 pm

Re: Start-up error when migrating from 25.0 to 25.1

Post by cristi_talau »

Hello,

The error is appears because Web Author is distributed with a patched version of Slf4j. Your Web Author Component WAR it seems to contain the original version of slf4j library. Can you check the WEB-INF/lib folder of the resulting WAR to see if it contains a slf4j.jar library. If yes, you should first try to run mvn clean to avoid having JARs from an older version of Web Author in the target folder, then build the WAR again.

If the problem persists, look at the customizations you made and make sure they do not add a dependency on slf4j.

Best,
Cristian
Johann
Posts: 199
Joined: Wed Jun 17, 2015 12:46 pm

Re: Start-up error when migrating from 25.0 to 25.1

Post by Johann »

Hello,

Indeed, the war did include the slf4j-api lib, it worked with version 25.0 but it is no longer the case with version 25.1.
By excluding this lib from the war, I can start Author web again.

Thank you,

Johann
Post Reply