Spectrum WebTomcat Process does not start properly after 20.2.x Upgrade.

book

Article ID: 209708

calendar_today

Updated On:

Products

CA Spectrum

Issue/Introduction

After upgrading Spectrum to 20.2.x, the Spectrum WebTomcat process does not start properly. When looking at the <SPECROOT>/webtomcat/logs/catalina.out or stdout.log file, we see the following error:

(WebswingServlet.java:60) Initialization of Webswing failed. 
org.webswing.server.model.exception.WsInitException: Could not instantiate configuration provider org.webswing.server.services.config.DefaultConfigurationProvider
 at org.webswing.server.services.config.ConfigurationServiceImpl.start(ConfigurationServiceImpl.java:48) ~[classes/:?]
 at org.webswing.server.services.startup.StartupServiceImpl.start(StartupServiceImpl.java:34) ~[classes/:?]
 at org.webswing.server.WebswingServlet.init(WebswingServlet.java:54) [classes/:?]
 at javax.servlet.GenericServlet.init(GenericServlet.java:158) [servlet-api.jar:4.0.FR]
 at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1134) [catalina.jar:9.0.41]
 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1089) [catalina.jar:9.0.41]
 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983) [catalina.jar:9.0.41]
 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4902) [catalina.jar:9.0.41]
 at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5211) [catalina.jar:9.0.41]
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.41]
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717) [catalina.jar:9.0.41]
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690) [catalina.jar:9.0.41]
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:706) [catalina.jar:9.0.41]
 at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:978) [catalina.jar:9.0.41]
 at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1848) [catalina.jar:9.0.41]
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_275]
 at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_275]
 at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.41]
 at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112) [?:1.8.0_275]
 at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:773) [catalina.jar:9.0.41]
 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427) [catalina.jar:9.0.41]
 at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576) [catalina.jar:9.0.41]
 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309) [catalina.jar:9.0.41]
 at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) [catalina.jar:9.0.41]
 at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) [catalina.jar:9.0.41]
 at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) [catalina.jar:9.0.41]
 at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936) [catalina.jar:9.0.41]
 at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:843) [catalina.jar:9.0.41]
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.41]
 at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) [catalina.jar:9.0.41]
 at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) [catalina.jar:9.0.41]
 at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_275]
 at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.41]
 at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) [?:1.8.0_275]
 at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) [catalina.jar:9.0.41]
 at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) [catalina.jar:9.0.41]
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.41]
 at org.apache.catalina.core.StandardService.startInternal(StandardService.java:434) [catalina.jar:9.0.41]
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.41]
 at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) [catalina.jar:9.0.41]
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.41]
 at org.apache.catalina.startup.Catalina.start(Catalina.java:772) [catalina.jar:9.0.41]
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_275]
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_275]
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_275]
 at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_275]
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342) [bootstrap.jar:9.0.41]
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473) [bootstrap.jar:9.0.41]
Caused by: java.lang.reflect.InvocationTargetException
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_275]
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_275]
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_275]
 at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_275]
 at org.webswing.server.services.config.ConfigurationServiceImpl.start(ConfigurationServiceImpl.java:43) ~[classes/:?]
 ... 47 more
Caused by: org.webswing.server.model.exception.WsInitException: Webswing application configuration failed to load:
 at org.webswing.server.services.config.DefaultConfigurationProvider.loadConfiguration(DefaultConfigurationProvider.java:174) ~[classes/:?]
 at org.webswing.server.services.config.DefaultConfigurationProvider.<init>(DefaultConfigurationProvider.java:36) ~[classes/:?]
 at org.webswing.server.services.config.DefaultConfigurationProvider.<init>(DefaultConfigurationProvider.java:53) ~[classes/:?]
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_275]
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_275]
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_275]
 at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_275]
 at org.webswing.server.services.config.ConfigurationServiceImpl.start(ConfigurationServiceImpl.java:43) ~[classes/:?]
 ... 47 more
Caused by: com.fasterxml.jackson.core.JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value
 at [Source: (File); line: 46, column: 95]
 at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1840) ~[jackson-core-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:712) ~[jackson-core-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.core.base.ParserBase._throwUnquotedSpace(ParserBase.java:1046) ~[jackson-core-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._finishString2(UTF8StreamJsonParser.java:2508) ~[jackson-core-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._finishAndReturnString(UTF8StreamJsonParser.java:2437) ~[jackson-core-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.getText(UTF8StreamJsonParser.java:293) ~[jackson-core-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializer$Vanilla.deserialize(UntypedObjectDeserializer.java:672) ~[jackson-databind-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializer$Vanilla.mapObject(UntypedObjectDeserializer.java:895) ~[jackson-databind-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializer$Vanilla.deserialize(UntypedObjectDeserializer.java:654) ~[jackson-databind-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializer$Vanilla.mapObject(UntypedObjectDeserializer.java:895) ~[jackson-databind-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializer$Vanilla.deserialize(UntypedObjectDeserializer.java:654) ~[jackson-databind-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:527) ~[jackson-databind-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:364) ~[jackson-databind-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:29) ~[jackson-databind-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4202) ~[jackson-databind-2.10.0.jar:2.10.0]
 at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3070) ~[jackson-databind-2.10.0.jar:2.10.0]
 at org.webswing.server.services.config.DefaultConfigurationProvider.loadConfiguration(DefaultConfigurationProvider.java:164) ~[classes/:?]
 at org.webswing.server.services.config.DefaultConfigurationProvider.<init>(DefaultConfigurationProvider.java:36) ~[classes/:?]
 at org.webswing.server.services.config.DefaultConfigurationProvider.<init>(DefaultConfigurationProvider.java:53) ~[classes/:?]
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_275]
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_275]
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_275]
 at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_275]
 at org.webswing.server.services.config.ConfigurationServiceImpl.start(ConfigurationServiceImpl.java:43) ~[classes/:?]
 ... 47 more

Environment

Release : 20.2.x

Component : Spectrum OneClick

Resolution

This is due to an issue with the webswing.config file. The below steps will resolve this issue.

1. Stop the webtomcat process.

2. Open the <SPECROOT>/webtomcat/webswing/webswing.config file and change line 46 from:

"vmArgs" : "-Xmx1024m -Djavaws.cfg.jauthenticator=true -Dsun.awt.noerasebackground=true

to

"vmArgs" : "-Xmx1024m -Djavaws.cfg.jauthenticator=true -Dsun.awt.noerasebackground=true",

3. Save the file and then start the Webtomcat process.