You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@juneau.apache.org by David Goddard <go...@acm.org> on 2018/10/28 10:33:00 UTC

Allocate exception for servlet under certain Windows environments

Hi,

I'm having a very odd problem when trying to test deployment of an 
application I have recently updated to use Juneau 7.2.x.  The problem 
appears to be specific to certain Windows environments.

When I call a GET or POST against the application deployed in Tomcat, I 
get a 500 server error.  Tomcat logs report the cause as:

org.apache.juneau.FormattedRuntimeException: Could not instantiate class 
org.apache.juneau.svl.Var

This appears to be caused by a npe:

org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871)
	... 26 more
Caused by: java.lang.NullPointerException
	at java.util.Objects.requireNonNull(Objects.java:203)
	at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
	at java.util.Arrays.asList(Arrays.java:3800)
	at org.apache.juneau.utils.Args.<init>(Args.java:115)
	at org.apache.juneau.utils.Args.<init>(Args.java:149)
	at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)

(Interestingly I am having trouble getting the log4j logging to work in 
this environment also, but that may be unconnected)

This app works fine in:
  - Windows based Eclipse development environment (using Maven 
tomcat7:run goal to spin up a server)
  - Tomcat 9 deployment on MacOS

Fails in:
  - Windows Tomcat 8.5 environment on different Windows Server 2009 R2 
machine
  - Windows Tomcat 8.5 environment on Windows 10 desktop

I've tried both IBM and Sun JREs, most recently an Oracle 1.8.0_192-b12 
- this does not change the result.

I've tested with both 7.2.0 and the 7.2.1 RC, with the same results.

Any ideas?

##############################################

This is my tomcat log output using the 7.2.1 RC binary:

28-Oct-2018 11:10:19.536 SEVERE [http-nio-8080-exec-7] 
org.apache.catalina.core.StandardWrapperValve.invoke Allocate exception 
for servlet [RootResources]
  java.lang.NullPointerException
         at java.util.Objects.requireNonNull(Objects.java:203)
         at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
         at java.util.Arrays.asList(Arrays.java:3800)
         at org.apache.juneau.utils.Args.<init>(Args.java:115)
         at org.apache.juneau.utils.Args.<init>(Args.java:149)
         at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
         at 
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
         at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
         at 
org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871)
         at 
org.apache.juneau.internal.ClassUtils.newInstance(ClassUtils.java:1810)
         at 
org.apache.juneau.svl.VarResolverBuilder.vars(VarResolverBuilder.java:54)
         at 
org.apache.juneau.svl.VarResolverBuilder.defaultVars(VarResolverBuilder.java:82)
         at 
org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:131)
         at org.apache.juneau.rest.RestContext.create(RestContext.java:3078)
         at org.apache.juneau.rest.RestServlet.init(RestServlet.java:50)
         at 
org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
         at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
         at 
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
         at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
         at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
         at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
         at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
         at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
         at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
         at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
         at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
         at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
         at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
         at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
         at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
         at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
         at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
         at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
         at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
         at java.lang.Thread.run(Thread.java:748)

##############################################

This is from the Tomcat stderr log:

Servlet init error on class 
'com.ibm.cognos.sdk.framework.c10ServiceFrameworkReferenceImplementation.RootResources'
javax.servlet.ServletException: 
org.apache.juneau.FormattedRuntimeException: Could not instantiate class 
org.apache.juneau.svl.Var
	at 
org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:251)
	at org.apache.juneau.rest.RestContext.create(RestContext.java:3078)
	at org.apache.juneau.rest.RestServlet.init(RestServlet.java:50)
	at 
org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
	at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
	at 
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
	at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
	at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
	at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
	at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
	at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
	at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
	at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
	at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
	at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.juneau.FormattedRuntimeException: Could not 
instantiate class org.apache.juneau.svl.Var
	at 
org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1890)
	at org.apache.juneau.internal.ClassUtils.newInstance(ClassUtils.java:1810)
	at 
org.apache.juneau.svl.VarResolverBuilder.vars(VarResolverBuilder.java:54)
	at 
org.apache.juneau.svl.VarResolverBuilder.defaultVars(VarResolverBuilder.java:82)
	at 
org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:131)
	... 22 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at 
org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871)
	... 26 more
Caused by: java.lang.NullPointerException
	at java.util.Objects.requireNonNull(Objects.java:203)
	at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
	at java.util.Arrays.asList(Arrays.java:3800)
	at org.apache.juneau.utils.Args.<init>(Args.java:115)
	at org.apache.juneau.utils.Args.<init>(Args.java:149)
	at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
	... 31 more
Servlet init error on class 
'com.ibm.cognos.sdk.framework.c10ServiceFrameworkReferenceImplementation.RootResources'
javax.servlet.ServletException: 
org.apache.juneau.FormattedRuntimeException: Could not instantiate class 
org.apache.juneau.svl.Var
	at 
org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:251)
	at org.apache.juneau.rest.RestContext.create(RestContext.java:3078)
	at org.apache.juneau.rest.RestServlet.init(RestServlet.java:50)
	at 
org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
	at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
	at 
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
	at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
	at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
	at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
	at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
	at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
	at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
	at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
	at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
	at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.juneau.FormattedRuntimeException: Could not 
instantiate class org.apache.juneau.svl.Var
	at 
org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1890)
	at org.apache.juneau.internal.ClassUtils.newInstance(ClassUtils.java:1810)
	at 
org.apache.juneau.svl.VarResolverBuilder.vars(VarResolverBuilder.java:54)
	at 
org.apache.juneau.svl.VarResolverBuilder.defaultVars(VarResolverBuilder.java:82)
	at 
org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:131)
	... 22 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at 
org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871)
	... 26 more
Caused by: java.lang.NullPointerException
	at java.util.Objects.requireNonNull(Objects.java:203)
	at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
	at java.util.Arrays.asList(Arrays.java:3800)
	at org.apache.juneau.utils.Args.<init>(Args.java:115)
	at org.apache.juneau.utils.Args.<init>(Args.java:149)
	at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
	... 31 more


##############################################

This is the catalina log showing server startup:

28-Oct-2018 11:09:09.187 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Server version: 
     Apache Tomcat/8.5.32
28-Oct-2018 11:09:09.192 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Server built: 
     Jun 20 2018 19:50:35 UTC
28-Oct-2018 11:09:09.193 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Server number: 
     8.5.32.0
28-Oct-2018 11:09:09.193 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log OS Name: 
     Windows Server 2008 R2
28-Oct-2018 11:09:09.193 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log OS Version: 
     6.1
28-Oct-2018 11:09:09.193 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Architecture: 
     amd64
28-Oct-2018 11:09:09.193 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Java Home: 
     D:\Java\jdk1.8.0_192\jre
28-Oct-2018 11:09:09.194 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 
     1.8.0_192-b12
28-Oct-2018 11:09:09.194 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: 
     Oracle Corporation
28-Oct-2018 11:09:09.194 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: 
     D:\Program Files\Apache Software Foundation\Tomcat 8.5
28-Oct-2018 11:09:09.194 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: 
     D:\Program Files\Apache Software Foundation\Tomcat 8.5
28-Oct-2018 11:09:09.195 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Dcatalina.home=D:\Program Files\Apache Software 
Foundation\Tomcat 8.5
28-Oct-2018 11:09:09.195 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Dcatalina.base=D:\Program Files\Apache Software 
Foundation\Tomcat 8.5
28-Oct-2018 11:09:09.195 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Djava.io.tmpdir=D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\temp
28-Oct-2018 11:09:09.197 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
28-Oct-2018 11:09:09.197 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Djava.util.logging.config.file=D:\Program Files\Apache 
Software Foundation\Tomcat 8.5\conf\logging.properties
28-Oct-2018 11:09:09.197 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: exit
28-Oct-2018 11:09:09.197 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: abort
28-Oct-2018 11:09:09.197 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Xms256m
28-Oct-2018 11:09:09.198 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Xmx2048m
28-Oct-2018 11:09:09.199 INFO [main] 
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR 
based Apache Tomcat Native library [1.2.17] using APR version [1.6.3].
28-Oct-2018 11:09:09.199 INFO [main] 
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR 
capabilities: IPv6 [true], sendfile [true], accept filters [false], 
random [true].
28-Oct-2018 11:09:09.199 INFO [main] 
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL 
configuration: useAprConnector [false], useOpenSSL [true]
28-Oct-2018 11:09:09.988 INFO [main] 
org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL 
successfully initialized [OpenSSL 1.0.2o  27 Mar 2018]
28-Oct-2018 11:09:10.186 INFO [main] 
org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler 
["http-nio-8080"]
28-Oct-2018 11:09:10.326 INFO [main] 
org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a 
shared selector for servlet write/read
28-Oct-2018 11:09:10.336 INFO [main] 
org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler 
["ajp-nio-8009"]
28-Oct-2018 11:09:10.339 INFO [main] 
org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a 
shared selector for servlet write/read
28-Oct-2018 11:09:10.340 INFO [main] 
org.apache.catalina.startup.Catalina.load Initialization processed in 
1748 ms
28-Oct-2018 11:09:10.386 INFO [main] 
org.apache.catalina.core.StandardService.startInternal Starting service 
[Catalina]
28-Oct-2018 11:09:10.386 INFO [main] 
org.apache.catalina.core.StandardEngine.startInternal Starting Servlet 
Engine: Apache Tomcat/8.5.32
28-Oct-2018 11:09:10.423 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployWAR Deploying web 
application archive [D:\Program Files\Apache Software Foundation\Tomcat 
8.5\webapps\c10ServiceFrameworkReferenceImplementation.war]
28-Oct-2018 11:09:12.492 INFO [localhost-startStop-1] 
org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was 
scanned for TLDs yet contained no TLDs. Enable debug logging for this 
logger for a complete list of JARs that were scanned but no TLDs were 
found in them. Skipping unneeded JARs during scanning can improve 
startup time and JSP compilation time.
28-Oct-2018 11:09:12.544 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployWAR Deployment of web 
application archive [D:\Program Files\Apache Software Foundation\Tomcat 
8.5\webapps\c10ServiceFrameworkReferenceImplementation.war] has finished 
in [2,121] ms
[...]
28-Oct-2018 11:09:14.824 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\docs]
28-Oct-2018 11:09:14.856 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\docs] has finished in [32] ms
28-Oct-2018 11:09:14.856 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\examples]
28-Oct-2018 11:09:15.195 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\examples] has finished in [339] ms
28-Oct-2018 11:09:15.195 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\host-manager]
28-Oct-2018 11:09:15.239 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\host-manager] has finished in [44] ms
28-Oct-2018 11:09:15.240 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\manager]
28-Oct-2018 11:09:15.281 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\manager] has finished in [42] ms
28-Oct-2018 11:09:15.281 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\ROOT]
28-Oct-2018 11:09:15.310 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\ROOT] has finished in [29] ms
28-Oct-2018 11:09:15.337 INFO [main] 
org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler 
["http-nio-8080"]
28-Oct-2018 11:09:15.354 INFO [main] 
org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler 
["ajp-nio-8009"]
28-Oct-2018 11:09:15.357 INFO [main] 
org.apache.catalina.startup.Catalina.start Server startup in 5016 ms

##############################################

Thanks,

David

Re: Allocate exception for servlet under certain Windows environments

Posted by James Bognar <ja...@apache.org>.
This problem should now be fixed.
https://issues.apache.org/jira/browse/JUNEAU-90

On Mon, Oct 29, 2018 at 9:08 AM James Bognar <ja...@apache.org> wrote:

> Hi David,
>
> I'll take a look today.
>
> On Mon, Oct 29, 2018 at 8:04 AM David Goddard <go...@acm.org> wrote:
>
>> Further testing indicates that the common theme here is that I get the
>> error when running Tomcat as a Windows Service.  If I start the Tomcat
>> instance using the startup.bat script, it works fine.  Unfortunately
>> this makes it hard to attach a remote debugger to investigate, because
>> when I start the server up in debug mode, it doesn't have the problem.
>>
>> To compare, here are the startup log entries when running as a Windows
>> service:
>>
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Server version:
>>      Apache Tomcat/8.5.32
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Server built:
>>      Jun 20 2018 19:50:35 UTC
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Server number:
>>      8.5.32.0
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log OS Name:
>>      Windows Server 2008 R2
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log OS Version:
>>      6.1
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Architecture:
>>      amd64
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Java Home:
>>      D:\Java\jdk1.8.0_192\jre
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log JVM Version:
>>      1.8.0_192-b12
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:
>>      Oracle Corporation
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:
>>      D:\Program Files\Apache Software Foundation\Tomcat 8.5
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:
>>      D:\Program Files\Apache Software Foundation\Tomcat 8.5
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Dcatalina.home=D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Dcatalina.base=D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Djava.io.tmpdir=D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5\temp
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument:
>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Djava.util.logging.config.file=D:\Program Files\Apache
>> Software Foundation\Tomcat 8.5\conf\logging.properties
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: exit
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: abort
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Xms256m
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Xmx2048m
>> 29-Oct-2018 12:34:41.330 INFO [main]
>> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR
>> based Apache Tomcat Native library [1.2.17] using APR version [1.6.3].
>> 29-Oct-2018 12:34:41.345 INFO [main]
>> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR
>> capabilities: IPv6 [true], sendfile [true], accept filters [false],
>> random [true].
>> 29-Oct-2018 12:34:41.345 INFO [main]
>> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL
>> configuration: useAprConnector [false], useOpenSSL [true]
>> 29-Oct-2018 12:34:42.172 INFO [main]
>> org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL
>> successfully initialized [OpenSSL 1.0.2o  27 Mar 2018]
>> 29-Oct-2018 12:34:42.359 INFO [main]
>> org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
>> ["http-nio-8080"]
>> 29-Oct-2018 12:34:42.500 INFO [main]
>> org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a
>> shared selector for servlet write/read
>> 29-Oct-2018 12:34:42.500 INFO [main]
>> org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
>> ["ajp-nio-8009"]
>> 29-Oct-2018 12:34:42.515 INFO [main]
>> org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a
>> shared selector for servlet write/read
>> 29-Oct-2018 12:34:42.515 INFO [main]
>> org.apache.catalina.startup.Catalina.load Initialization processed in
>> 1935 ms
>> 29-Oct-2018 12:34:42.562 INFO [main]
>> org.apache.catalina.core.StandardService.startInternal Starting service
>> [Catalina]
>> 29-Oct-2018 12:34:42.562 INFO [main]
>> org.apache.catalina.core.StandardEngine.startInternal Starting Servlet
>> Engine: Apache Tomcat/8.5.32
>> 29-Oct-2018 12:34:42.593 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployWAR Deploying web
>> application archive [D:\Program Files\Apache Software Foundation\Tomcat
>> 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war]
>> 29-Oct-2018 12:34:44.497 INFO [localhost-startStop-1]
>> org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was
>> scanned for TLDs yet contained no TLDs. Enable debug logging for this
>> logger for a complete list of JARs that were scanned but no TLDs were
>> found in them. Skipping unneeded JARs during scanning can improve
>> startup time and JSP compilation time.
>> 29-Oct-2018 12:34:44.559 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployWAR Deployment of web
>> application archive [D:\Program Files\Apache Software Foundation\Tomcat
>> 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war] has finished
>> in [1,950] ms
>> [...]
>> 29-Oct-2018 12:34:47.111 INFO [main]
>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>> ["http-nio-8080"]
>> 29-Oct-2018 12:34:47.127 INFO [main]
>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>> ["ajp-nio-8009"]
>> 29-Oct-2018 12:34:47.127 INFO [main]
>> org.apache.catalina.startup.Catalina.start Server startup in 4616 ms
>>
>> ###########################################################
>>
>> Here are the same when starting from the startup script:
>>
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Server version:
>>      Apache Tomcat/8.5.32
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Server built:
>>      Jun 20 2018 19:50:35 UTC
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Server number:
>>      8.5.32.0
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log OS Name:
>>      Windows Server 2008 R2
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log OS Version:
>>      6.1
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Architecture:
>>      amd64
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Java Home:
>>      D:\Java\jdk1.8.0_192\jre
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log JVM Version:
>>      1.8.0_192-b12
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:
>>      Oracle Corporation
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:
>>      D:\Program Files\Apache Software Foundation\Tomcat 8.5
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:
>>      D:\Program Files\Apache Software Foundation\Tomcat 8.5
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Djava.util.logging.config.file=D:\Program Files\Apache
>> Software Foundation\Tomcat 8.5\conf\logging.properties
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument:
>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
>> 29-Oct-2018 12:35:34.909 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Djdk.tls.ephemeralDHKeySize=2048
>> 29-Oct-2018 12:35:34.925 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
>> 29-Oct-2018 12:35:34.925 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Dignore.endorsed.dirs=
>> 29-Oct-2018 12:35:34.925 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Dcatalina.base=D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5
>> 29-Oct-2018 12:35:34.925 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Dcatalina.home=D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5
>> 29-Oct-2018 12:35:34.925 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Djava.io.tmpdir=D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5\temp
>> 29-Oct-2018 12:35:34.925 INFO [main]
>> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR
>> based Apache Tomcat Native library [1.2.17] using APR version [1.6.3].
>> 29-Oct-2018 12:35:34.925 INFO [main]
>> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR
>> capabilities: IPv6 [true], sendfile [true], accept filters [false],
>> random [true].
>> 29-Oct-2018 12:35:34.925 INFO [main]
>> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL
>> configuration: useAprConnector [false], useOpenSSL [true]
>> 29-Oct-2018 12:35:35.830 INFO [main]
>> org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL
>> successfully initialized [OpenSSL 1.0.2o  27 Mar 2018]
>> 29-Oct-2018 12:35:36.032 INFO [main]
>> org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
>> ["http-nio-8080"]
>> 29-Oct-2018 12:35:36.173 INFO [main]
>> org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a
>> shared selector for servlet write/read
>> 29-Oct-2018 12:35:36.173 INFO [main]
>> org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
>> ["ajp-nio-8009"]
>> 29-Oct-2018 12:35:36.188 INFO [main]
>> org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a
>> shared selector for servlet write/read
>> 29-Oct-2018 12:35:36.188 INFO [main]
>> org.apache.catalina.startup.Catalina.load Initialization processed in
>> 1908 ms
>> 29-Oct-2018 12:35:36.220 INFO [main]
>> org.apache.catalina.core.StandardService.startInternal Starting service
>> [Catalina]
>> 29-Oct-2018 12:35:36.220 INFO [main]
>> org.apache.catalina.core.StandardEngine.startInternal Starting Servlet
>> Engine: Apache Tomcat/8.5.32
>> 29-Oct-2018 12:35:36.251 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployWAR Deploying web
>> application archive [D:\Program Files\Apache Software Foundation\Tomcat
>> 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war]
>> 29-Oct-2018 12:35:38.185 INFO [localhost-startStop-1]
>> org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was
>> scanned for TLDs yet contained no TLDs. Enable debug logging for this
>> logger for a complete list of JARs that were scanned but no TLDs were
>> found in them. Skipping unneeded JARs during scanning can improve
>> startup time and JSP compilation time.
>> 29-Oct-2018 12:35:38.232 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployWAR Deployment of web
>> application archive [D:\Program Files\Apache Software Foundation\Tomcat
>> 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war] has finished
>> in [1,981] ms
>> [...]
>> 29-Oct-2018 12:35:40.494 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>> application directory [D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5\webapps\docs]
>> 29-Oct-2018 12:35:40.526 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
>> application directory [D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5\webapps\docs] has finished in [32] ms
>> 29-Oct-2018 12:35:40.526 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>> application directory [D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5\webapps\examples]
>> 29-Oct-2018 12:35:40.869 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
>> application directory [D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5\webapps\examples] has finished in [343] ms
>> 29-Oct-2018 12:35:40.869 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>> application directory [D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5\webapps\host-manager]
>> 29-Oct-2018 12:35:40.931 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
>> application directory [D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5\webapps\host-manager] has finished in [62] ms
>> 29-Oct-2018 12:35:40.931 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>> application directory [D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5\webapps\manager]
>> 29-Oct-2018 12:35:40.978 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
>> application directory [D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5\webapps\manager] has finished in [47] ms
>> 29-Oct-2018 12:35:40.978 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>> application directory [D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5\webapps\ROOT]
>> 29-Oct-2018 12:35:40.994 INFO [localhost-startStop-1]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
>> application directory [D:\Program Files\Apache Software
>> Foundation\Tomcat 8.5\webapps\ROOT] has finished in [16] ms
>> 29-Oct-2018 12:35:41.056 INFO [main]
>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>> ["http-nio-8080"]
>> 29-Oct-2018 12:35:41.072 INFO [main]
>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>> ["ajp-nio-8009"]
>> 29-Oct-2018 12:35:41.072 INFO [main]
>> org.apache.catalina.startup.Catalina.start Server startup in 4890 ms
>>
>>
>> ###########################################################
>>
>> This may be a red herring but comparing the startup options, I see:
>>
>> -Only present when starting from script:
>>
>> Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
>> Command line argument:
>> -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
>> Command line argument: -Dignore.endorsed.dirs=
>>
>> -Only present when starting as service:
>>
>> Command line argument: exit
>> Command line argument: abort
>> Command line argument: -Xms256m
>> Command line argument: -Xmx2048m
>>
>>
>> Adding the three arguments from the script to the service configuration
>> doesn't have any effect.  I'm unable to remove the 'exit' and 'abort'
>> arguments from the service, as these are not explicitly configured.
>>
>> I tried changing the service to execute as the logged-in user
>> (administrator on this machine), but this does not resolve the problem.
>>
>> I can try and follow the code to see what
>> VarResolverBuilder.defaultVars() is processing during the REST call, but
>> this is tricky because I can't find a way of attaching a debugger that
>> does not cause the problem to go away.
>>
>> David
>>
>>
>> On 28/10/2018 11:33, David Goddard wrote:
>> > Hi,
>> >
>> > I'm having a very odd problem when trying to test deployment of an
>> > application I have recently updated to use Juneau 7.2.x.  The problem
>> > appears to be specific to certain Windows environments.
>> >
>> > When I call a GET or POST against the application deployed in Tomcat, I
>> > get a 500 server error.  Tomcat logs report the cause as:
>> >
>> > org.apache.juneau.FormattedRuntimeException: Could not instantiate
>> class
>> > org.apache.juneau.svl.Var
>> >
>> > This appears to be caused by a npe:
>> >
>> >
>> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871)
>>
>> >
>> >      ... 26 more
>> > Caused by: java.lang.NullPointerException
>> >      at java.util.Objects.requireNonNull(Objects.java:203)
>> >      at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
>> >      at java.util.Arrays.asList(Arrays.java:3800)
>> >      at org.apache.juneau.utils.Args.<init>(Args.java:115)
>> >      at org.apache.juneau.utils.Args.<init>(Args.java:149)
>> >      at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
>> >
>> > (Interestingly I am having trouble getting the log4j logging to work in
>> > this environment also, but that may be unconnected)
>> >
>> > This app works fine in:
>> >   - Windows based Eclipse development environment (using Maven
>> > tomcat7:run goal to spin up a server)
>> >   - Tomcat 9 deployment on MacOS
>> >
>> > Fails in:
>> >   - Windows Tomcat 8.5 environment on different Windows Server 2009 R2
>> > machine
>> >   - Windows Tomcat 8.5 environment on Windows 10 desktop
>> >
>> > I've tried both IBM and Sun JREs, most recently an Oracle 1.8.0_192-b12
>> > - this does not change the result.
>> >
>> > I've tested with both 7.2.0 and the 7.2.1 RC, with the same results.
>> >
>> > Any ideas?
>> >
>> > ##############################################
>> >
>> > This is my tomcat log output using the 7.2.1 RC binary:
>> >
>> > 28-Oct-2018 11:10:19.536 SEVERE [http-nio-8080-exec-7]
>> > org.apache.catalina.core.StandardWrapperValve.invoke Allocate exception
>> > for servlet [RootResources]
>> >   java.lang.NullPointerException
>> >          at java.util.Objects.requireNonNull(Objects.java:203)
>> >          at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
>> >          at java.util.Arrays.asList(Arrays.java:3800)
>> >          at org.apache.juneau.utils.Args.<init>(Args.java:115)
>> >          at org.apache.juneau.utils.Args.<init>(Args.java:149)
>> >          at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
>> >          at
>> > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>> >          at
>> >
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>>
>> >
>> >          at
>> >
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>
>> >
>> >          at
>> java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>> >          at
>> >
>> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871)
>>
>> >
>> >          at
>> > org.apache.juneau.internal.ClassUtils.newInstance(ClassUtils.java:1810)
>> >          at
>> >
>> org.apache.juneau.svl.VarResolverBuilder.vars(VarResolverBuilder.java:54)
>> >          at
>> >
>> org.apache.juneau.svl.VarResolverBuilder.defaultVars(VarResolverBuilder.java:82)
>>
>> >
>> >          at
>> >
>> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:131)
>>
>> >
>> >          at
>> > org.apache.juneau.rest.RestContext.create(RestContext.java:3078)
>> >          at org.apache.juneau.rest.RestServlet.init(RestServlet.java:50)
>> >          at
>> >
>> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
>>
>> >
>> >          at
>> >
>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
>>
>> >
>> >          at
>> >
>> org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
>> >          at
>> >
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
>>
>> >
>> >          at
>> >
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
>>
>> >
>> >          at
>> >
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
>>
>> >
>> >          at
>> >
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
>>
>> >
>> >          at
>> >
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
>>
>> >
>> >          at
>> >
>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
>>
>> >
>> >          at
>> >
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
>>
>> >
>> >          at
>> >
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
>> >          at
>> >
>> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
>> >          at
>> >
>> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
>>
>> >
>> >          at
>> >
>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
>>
>> >
>> >          at
>> > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
>>
>> >
>> >          at
>> > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>>
>> >
>> >          at
>> >
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>>
>> >
>> >          at
>> >
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>>
>> >
>> >          at
>> >
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>
>> >
>> >          at java.lang.Thread.run(Thread.java:748)
>> >
>> > ##############################################
>> >
>> > This is from the Tomcat stderr log:
>> >
>> > Servlet init error on class
>> >
>> 'com.ibm.cognos.sdk.framework.c10ServiceFrameworkReferenceImplementation.RootResources'
>>
>> >
>> > javax.servlet.ServletException:
>> > org.apache.juneau.FormattedRuntimeException: Could not instantiate
>> class
>> > org.apache.juneau.svl.Var
>> >      at
>> >
>> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:251)
>>
>> >
>> >      at org.apache.juneau.rest.RestContext.create(RestContext.java:3078)
>> >      at org.apache.juneau.rest.RestServlet.init(RestServlet.java:50)
>> >      at
>> >
>> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
>> >      at
>> >
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
>> >      at
>> >
>> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
>> >      at
>> >
>> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
>>
>> >
>> >      at
>> >
>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
>>
>> >
>> >      at
>> > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
>>
>> >
>> >      at
>> > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>>
>> >
>> >      at
>> >
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>>
>> >
>> >      at
>> >
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>>
>> >
>> >      at
>> >
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>
>> >
>> >      at java.lang.Thread.run(Thread.java:748)
>> > Caused by: org.apache.juneau.FormattedRuntimeException: Could not
>> > instantiate class org.apache.juneau.svl.Var
>> >      at
>> >
>> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1890)
>>
>> >
>> >      at
>> > org.apache.juneau.internal.ClassUtils.newInstance(ClassUtils.java:1810)
>> >      at
>> >
>> org.apache.juneau.svl.VarResolverBuilder.vars(VarResolverBuilder.java:54)
>> >      at
>> >
>> org.apache.juneau.svl.VarResolverBuilder.defaultVars(VarResolverBuilder.java:82)
>>
>> >
>> >      at
>> >
>> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:131)
>>
>> >
>> >      ... 22 more
>> > Caused by: java.lang.reflect.InvocationTargetException
>> >      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> > Method)
>> >      at
>> >
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>>
>> >
>> >      at
>> >
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>
>> >
>> >      at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>> >      at
>> >
>> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871)
>>
>> >
>> >      ... 26 more
>> > Caused by: java.lang.NullPointerException
>> >      at java.util.Objects.requireNonNull(Objects.java:203)
>> >      at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
>> >      at java.util.Arrays.asList(Arrays.java:3800)
>> >      at org.apache.juneau.utils.Args.<init>(Args.java:115)
>> >      at org.apache.juneau.utils.Args.<init>(Args.java:149)
>> >      at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
>> >      ... 31 more
>> > Servlet init error on class
>> >
>> 'com.ibm.cognos.sdk.framework.c10ServiceFrameworkReferenceImplementation.RootResources'
>>
>> >
>> > javax.servlet.ServletException:
>> > org.apache.juneau.FormattedRuntimeException: Could not instantiate
>> class
>> > org.apache.juneau.svl.Var
>> >      at
>> >
>> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:251)
>>
>> >
>> >      at org.apache.juneau.rest.RestContext.create(RestContext.java:3078)
>> >      at org.apache.juneau.rest.RestServlet.init(RestServlet.java:50)
>> >      at
>> >
>> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
>> >      at
>> >
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
>>
>> >
>> >      at
>> >
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
>> >      at
>> >
>> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
>> >      at
>> >
>> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
>>
>> >
>> >      at
>> >
>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
>>
>> >
>> >      at
>> > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
>>
>> >
>> >      at
>> > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>>
>> >
>> >      at
>> >
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>>
>> >
>> >      at
>> >
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>>
>> >
>> >      at
>> >
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>
>> >
>> >      at java.lang.Thread.run(Thread.java:748)
>> > Caused by: org.apache.juneau.FormattedRuntimeException: Could not
>> > instantiate class org.apache.juneau.svl.Var
>> >      at
>> >
>> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1890)
>>
>> >
>> >      at
>> > org.apache.juneau.internal.ClassUtils.newInstance(ClassUtils.java:1810)
>> >      at
>> >
>> org.apache.juneau.svl.VarResolverBuilder.vars(VarResolverBuilder.java:54)
>> >      at
>> >
>> org.apache.juneau.svl.VarResolverBuilder.defaultVars(VarResolverBuilder.java:82)
>>
>> >
>> >      at
>> >
>> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:131)
>>
>> >
>> >      ... 22 more
>> > Caused by: java.lang.reflect.InvocationTargetException
>> >      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> > Method)
>> >      at
>> >
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>>
>> >
>> >      at
>> >
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>
>> >
>> >      at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>> >      at
>> >
>> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871)
>>
>> >
>> >      ... 26 more
>> > Caused by: java.lang.NullPointerException
>> >      at java.util.Objects.requireNonNull(Objects.java:203)
>> >      at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
>> >      at java.util.Arrays.asList(Arrays.java:3800)
>> >      at org.apache.juneau.utils.Args.<init>(Args.java:115)
>> >      at org.apache.juneau.utils.Args.<init>(Args.java:149)
>> >      at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
>> >      ... 31 more
>> >
>> >
>> > ##############################################
>> >
>> > This is the catalina log showing server startup:
>> >
>> > 28-Oct-2018 11:09:09.187 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Server version:
>> >      Apache Tomcat/8.5.32
>> > 28-Oct-2018 11:09:09.192 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Server built:
>> > Jun 20 2018 19:50:35 UTC
>> > 28-Oct-2018 11:09:09.193 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Server number:
>>
>> > 8.5.32.0
>> > 28-Oct-2018 11:09:09.193 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log OS Name:
>> > Windows Server 2008 R2
>> > 28-Oct-2018 11:09:09.193 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log OS Version:
>> 6.1
>> > 28-Oct-2018 11:09:09.193 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Architecture:
>> > amd64
>> > 28-Oct-2018 11:09:09.193 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Java Home:
>> > D:\Java\jdk1.8.0_192\jre
>> > 28-Oct-2018 11:09:09.194 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log JVM Version:
>> > 1.8.0_192-b12
>> > 28-Oct-2018 11:09:09.194 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:
>> > Oracle Corporation
>> > 28-Oct-2018 11:09:09.194 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:
>>
>> > D:\Program Files\Apache Software Foundation\Tomcat 8.5
>> > 28-Oct-2018 11:09:09.194 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:
>>
>> > D:\Program Files\Apache Software Foundation\Tomcat 8.5
>> > 28-Oct-2018 11:09:09.195 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Command line
>> > argument: -Dcatalina.home=D:\Program Files\Apache Software
>> > Foundation\Tomcat 8.5
>> > 28-Oct-2018 11:09:09.195 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Command line
>> > argument: -Dcatalina.base=D:\Program Files\Apache Software
>> > Foundation\Tomcat 8.5
>> > 28-Oct-2018 11:09:09.195 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Command line
>> > argument: -Djava.io.tmpdir=D:\Program Files\Apache Software
>> > Foundation\Tomcat 8.5\temp
>> > 28-Oct-2018 11:09:09.197 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Command line
>> > argument:
>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
>> > 28-Oct-2018 11:09:09.197 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Command line
>> > argument: -Djava.util.logging.config.file=D:\Program Files\Apache
>> > Software Foundation\Tomcat 8.5\conf\logging.properties
>> > 28-Oct-2018 11:09:09.197 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Command line
>> > argument: exit
>> > 28-Oct-2018 11:09:09.197 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Command line
>> > argument: abort
>> > 28-Oct-2018 11:09:09.197 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Command line
>> > argument: -Xms256m
>> > 28-Oct-2018 11:09:09.198 INFO [main]
>> > org.apache.catalina.startup.VersionLoggerListener.log Command line
>> > argument: -Xmx2048m
>> > 28-Oct-2018 11:09:09.199 INFO [main]
>> > org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR
>> > based Apache Tomcat Native library [1.2.17] using APR version [1.6.3].
>> > 28-Oct-2018 11:09:09.199 INFO [main]
>> > org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR
>> > capabilities: IPv6 [true], sendfile [true], accept filters [false],
>> > random [true].
>> > 28-Oct-2018 11:09:09.199 INFO [main]
>> > org.apache.catalina.core.AprLifecycleListener.lifecycleEvent
>> APR/OpenSSL
>> > configuration: useAprConnector [false], useOpenSSL [true]
>> > 28-Oct-2018 11:09:09.988 INFO [main]
>> > org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL
>> > successfully initialized [OpenSSL 1.0.2o  27 Mar 2018]
>> > 28-Oct-2018 11:09:10.186 INFO [main]
>> > org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
>> > ["http-nio-8080"]
>> > 28-Oct-2018 11:09:10.326 INFO [main]
>> > org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a
>> > shared selector for servlet write/read
>> > 28-Oct-2018 11:09:10.336 INFO [main]
>> > org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
>> > ["ajp-nio-8009"]
>> > 28-Oct-2018 11:09:10.339 INFO [main]
>> > org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a
>> > shared selector for servlet write/read
>> > 28-Oct-2018 11:09:10.340 INFO [main]
>> > org.apache.catalina.startup.Catalina.load Initialization processed in
>> > 1748 ms
>> > 28-Oct-2018 11:09:10.386 INFO [main]
>> > org.apache.catalina.core.StandardService.startInternal Starting service
>> > [Catalina]
>> > 28-Oct-2018 11:09:10.386 INFO [main]
>> > org.apache.catalina.core.StandardEngine.startInternal Starting Servlet
>> > Engine: Apache Tomcat/8.5.32
>> > 28-Oct-2018 11:09:10.423 INFO [localhost-startStop-1]
>> > org.apache.catalina.startup.HostConfig.deployWAR Deploying web
>> > application archive [D:\Program Files\Apache Software Foundation\Tomcat
>> > 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war]
>> > 28-Oct-2018 11:09:12.492 INFO [localhost-startStop-1]
>> > org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was
>> > scanned for TLDs yet contained no TLDs. Enable debug logging for this
>> > logger for a complete list of JARs that were scanned but no TLDs were
>> > found in them. Skipping unneeded JARs during scanning can improve
>> > startup time and JSP compilation time.
>> > 28-Oct-2018 11:09:12.544 INFO [localhost-startStop-1]
>> > org.apache.catalina.startup.HostConfig.deployWAR Deployment of web
>> > application archive [D:\Program Files\Apache Software Foundation\Tomcat
>> > 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war] has
>> finished
>> > in [2,121] ms
>> > [...]
>> > 28-Oct-2018 11:09:14.824 INFO [localhost-startStop-1]
>> > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>> > application directory [D:\Program Files\Apache Software
>> > Foundation\Tomcat 8.5\webapps\docs]
>> > 28-Oct-2018 11:09:14.856 INFO [localhost-startStop-1]
>> > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of
>> web
>> > application directory [D:\Program Files\Apache Software
>> > Foundation\Tomcat 8.5\webapps\docs] has finished in [32] ms
>> > 28-Oct-2018 11:09:14.856 INFO [localhost-startStop-1]
>> > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>> > application directory [D:\Program Files\Apache Software
>> > Foundation\Tomcat 8.5\webapps\examples]
>> > 28-Oct-2018 11:09:15.195 INFO [localhost-startStop-1]
>> > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of
>> web
>> > application directory [D:\Program Files\Apache Software
>> > Foundation\Tomcat 8.5\webapps\examples] has finished in [339] ms
>> > 28-Oct-2018 11:09:15.195 INFO [localhost-startStop-1]
>> > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>> > application directory [D:\Program Files\Apache Software
>> > Foundation\Tomcat 8.5\webapps\host-manager]
>> > 28-Oct-2018 11:09:15.239 INFO [localhost-startStop-1]
>> > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of
>> web
>> > application directory [D:\Program Files\Apache Software
>> > Foundation\Tomcat 8.5\webapps\host-manager] has finished in [44] ms
>> > 28-Oct-2018 11:09:15.240 INFO [localhost-startStop-1]
>> > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>> > application directory [D:\Program Files\Apache Software
>> > Foundation\Tomcat 8.5\webapps\manager]
>> > 28-Oct-2018 11:09:15.281 INFO [localhost-startStop-1]
>> > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of
>> web
>> > application directory [D:\Program Files\Apache Software
>> > Foundation\Tomcat 8.5\webapps\manager] has finished in [42] ms
>> > 28-Oct-2018 11:09:15.281 INFO [localhost-startStop-1]
>> > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>> > application directory [D:\Program Files\Apache Software
>> > Foundation\Tomcat 8.5\webapps\ROOT]
>> > 28-Oct-2018 11:09:15.310 INFO [localhost-startStop-1]
>> > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of
>> web
>> > application directory [D:\Program Files\Apache Software
>> > Foundation\Tomcat 8.5\webapps\ROOT] has finished in [29] ms
>> > 28-Oct-2018 11:09:15.337 INFO [main]
>> > org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>> > ["http-nio-8080"]
>> > 28-Oct-2018 11:09:15.354 INFO [main]
>> > org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>> > ["ajp-nio-8009"]
>> > 28-Oct-2018 11:09:15.357 INFO [main]
>> > org.apache.catalina.startup.Catalina.start Server startup in 5016 ms
>> >
>> > ##############################################
>> >
>> > Thanks,
>> >
>> > David
>> >
>>
>>
>>

Re: Allocate exception for servlet under certain Windows environments

Posted by James Bognar <ja...@apache.org>.
Hi David,

I'll take a look today.

On Mon, Oct 29, 2018 at 8:04 AM David Goddard <go...@acm.org> wrote:

> Further testing indicates that the common theme here is that I get the
> error when running Tomcat as a Windows Service.  If I start the Tomcat
> instance using the startup.bat script, it works fine.  Unfortunately
> this makes it hard to attach a remote debugger to investigate, because
> when I start the server up in debug mode, it doesn't have the problem.
>
> To compare, here are the startup log entries when running as a Windows
> service:
>
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Server version:
>      Apache Tomcat/8.5.32
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Server built:
>      Jun 20 2018 19:50:35 UTC
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Server number:
>      8.5.32.0
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log OS Name:
>      Windows Server 2008 R2
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log OS Version:
>      6.1
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Architecture:
>      amd64
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Java Home:
>      D:\Java\jdk1.8.0_192\jre
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log JVM Version:
>      1.8.0_192-b12
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:
>      Oracle Corporation
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:
>      D:\Program Files\Apache Software Foundation\Tomcat 8.5
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:
>      D:\Program Files\Apache Software Foundation\Tomcat 8.5
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Dcatalina.home=D:\Program Files\Apache Software
> Foundation\Tomcat 8.5
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Dcatalina.base=D:\Program Files\Apache Software
> Foundation\Tomcat 8.5
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Djava.io.tmpdir=D:\Program Files\Apache Software
> Foundation\Tomcat 8.5\temp
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Djava.util.logging.config.file=D:\Program Files\Apache
> Software Foundation\Tomcat 8.5\conf\logging.properties
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: exit
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: abort
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Xms256m
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Xmx2048m
> 29-Oct-2018 12:34:41.330 INFO [main]
> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR
> based Apache Tomcat Native library [1.2.17] using APR version [1.6.3].
> 29-Oct-2018 12:34:41.345 INFO [main]
> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR
> capabilities: IPv6 [true], sendfile [true], accept filters [false],
> random [true].
> 29-Oct-2018 12:34:41.345 INFO [main]
> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL
> configuration: useAprConnector [false], useOpenSSL [true]
> 29-Oct-2018 12:34:42.172 INFO [main]
> org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL
> successfully initialized [OpenSSL 1.0.2o  27 Mar 2018]
> 29-Oct-2018 12:34:42.359 INFO [main]
> org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
> ["http-nio-8080"]
> 29-Oct-2018 12:34:42.500 INFO [main]
> org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a
> shared selector for servlet write/read
> 29-Oct-2018 12:34:42.500 INFO [main]
> org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
> ["ajp-nio-8009"]
> 29-Oct-2018 12:34:42.515 INFO [main]
> org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a
> shared selector for servlet write/read
> 29-Oct-2018 12:34:42.515 INFO [main]
> org.apache.catalina.startup.Catalina.load Initialization processed in
> 1935 ms
> 29-Oct-2018 12:34:42.562 INFO [main]
> org.apache.catalina.core.StandardService.startInternal Starting service
> [Catalina]
> 29-Oct-2018 12:34:42.562 INFO [main]
> org.apache.catalina.core.StandardEngine.startInternal Starting Servlet
> Engine: Apache Tomcat/8.5.32
> 29-Oct-2018 12:34:42.593 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployWAR Deploying web
> application archive [D:\Program Files\Apache Software Foundation\Tomcat
> 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war]
> 29-Oct-2018 12:34:44.497 INFO [localhost-startStop-1]
> org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was
> scanned for TLDs yet contained no TLDs. Enable debug logging for this
> logger for a complete list of JARs that were scanned but no TLDs were
> found in them. Skipping unneeded JARs during scanning can improve
> startup time and JSP compilation time.
> 29-Oct-2018 12:34:44.559 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployWAR Deployment of web
> application archive [D:\Program Files\Apache Software Foundation\Tomcat
> 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war] has finished
> in [1,950] ms
> [...]
> 29-Oct-2018 12:34:47.111 INFO [main]
> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
> ["http-nio-8080"]
> 29-Oct-2018 12:34:47.127 INFO [main]
> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
> ["ajp-nio-8009"]
> 29-Oct-2018 12:34:47.127 INFO [main]
> org.apache.catalina.startup.Catalina.start Server startup in 4616 ms
>
> ###########################################################
>
> Here are the same when starting from the startup script:
>
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Server version:
>      Apache Tomcat/8.5.32
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Server built:
>      Jun 20 2018 19:50:35 UTC
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Server number:
>      8.5.32.0
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log OS Name:
>      Windows Server 2008 R2
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log OS Version:
>      6.1
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Architecture:
>      amd64
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Java Home:
>      D:\Java\jdk1.8.0_192\jre
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log JVM Version:
>      1.8.0_192-b12
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:
>      Oracle Corporation
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:
>      D:\Program Files\Apache Software Foundation\Tomcat 8.5
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:
>      D:\Program Files\Apache Software Foundation\Tomcat 8.5
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Djava.util.logging.config.file=D:\Program Files\Apache
> Software Foundation\Tomcat 8.5\conf\logging.properties
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
> 29-Oct-2018 12:35:34.909 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Djdk.tls.ephemeralDHKeySize=2048
> 29-Oct-2018 12:35:34.925 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
> 29-Oct-2018 12:35:34.925 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Dignore.endorsed.dirs=
> 29-Oct-2018 12:35:34.925 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Dcatalina.base=D:\Program Files\Apache Software
> Foundation\Tomcat 8.5
> 29-Oct-2018 12:35:34.925 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Dcatalina.home=D:\Program Files\Apache Software
> Foundation\Tomcat 8.5
> 29-Oct-2018 12:35:34.925 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Djava.io.tmpdir=D:\Program Files\Apache Software
> Foundation\Tomcat 8.5\temp
> 29-Oct-2018 12:35:34.925 INFO [main]
> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR
> based Apache Tomcat Native library [1.2.17] using APR version [1.6.3].
> 29-Oct-2018 12:35:34.925 INFO [main]
> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR
> capabilities: IPv6 [true], sendfile [true], accept filters [false],
> random [true].
> 29-Oct-2018 12:35:34.925 INFO [main]
> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL
> configuration: useAprConnector [false], useOpenSSL [true]
> 29-Oct-2018 12:35:35.830 INFO [main]
> org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL
> successfully initialized [OpenSSL 1.0.2o  27 Mar 2018]
> 29-Oct-2018 12:35:36.032 INFO [main]
> org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
> ["http-nio-8080"]
> 29-Oct-2018 12:35:36.173 INFO [main]
> org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a
> shared selector for servlet write/read
> 29-Oct-2018 12:35:36.173 INFO [main]
> org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
> ["ajp-nio-8009"]
> 29-Oct-2018 12:35:36.188 INFO [main]
> org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a
> shared selector for servlet write/read
> 29-Oct-2018 12:35:36.188 INFO [main]
> org.apache.catalina.startup.Catalina.load Initialization processed in
> 1908 ms
> 29-Oct-2018 12:35:36.220 INFO [main]
> org.apache.catalina.core.StandardService.startInternal Starting service
> [Catalina]
> 29-Oct-2018 12:35:36.220 INFO [main]
> org.apache.catalina.core.StandardEngine.startInternal Starting Servlet
> Engine: Apache Tomcat/8.5.32
> 29-Oct-2018 12:35:36.251 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployWAR Deploying web
> application archive [D:\Program Files\Apache Software Foundation\Tomcat
> 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war]
> 29-Oct-2018 12:35:38.185 INFO [localhost-startStop-1]
> org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was
> scanned for TLDs yet contained no TLDs. Enable debug logging for this
> logger for a complete list of JARs that were scanned but no TLDs were
> found in them. Skipping unneeded JARs during scanning can improve
> startup time and JSP compilation time.
> 29-Oct-2018 12:35:38.232 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployWAR Deployment of web
> application archive [D:\Program Files\Apache Software Foundation\Tomcat
> 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war] has finished
> in [1,981] ms
> [...]
> 29-Oct-2018 12:35:40.494 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
> application directory [D:\Program Files\Apache Software
> Foundation\Tomcat 8.5\webapps\docs]
> 29-Oct-2018 12:35:40.526 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
> application directory [D:\Program Files\Apache Software
> Foundation\Tomcat 8.5\webapps\docs] has finished in [32] ms
> 29-Oct-2018 12:35:40.526 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
> application directory [D:\Program Files\Apache Software
> Foundation\Tomcat 8.5\webapps\examples]
> 29-Oct-2018 12:35:40.869 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
> application directory [D:\Program Files\Apache Software
> Foundation\Tomcat 8.5\webapps\examples] has finished in [343] ms
> 29-Oct-2018 12:35:40.869 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
> application directory [D:\Program Files\Apache Software
> Foundation\Tomcat 8.5\webapps\host-manager]
> 29-Oct-2018 12:35:40.931 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
> application directory [D:\Program Files\Apache Software
> Foundation\Tomcat 8.5\webapps\host-manager] has finished in [62] ms
> 29-Oct-2018 12:35:40.931 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
> application directory [D:\Program Files\Apache Software
> Foundation\Tomcat 8.5\webapps\manager]
> 29-Oct-2018 12:35:40.978 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
> application directory [D:\Program Files\Apache Software
> Foundation\Tomcat 8.5\webapps\manager] has finished in [47] ms
> 29-Oct-2018 12:35:40.978 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
> application directory [D:\Program Files\Apache Software
> Foundation\Tomcat 8.5\webapps\ROOT]
> 29-Oct-2018 12:35:40.994 INFO [localhost-startStop-1]
> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
> application directory [D:\Program Files\Apache Software
> Foundation\Tomcat 8.5\webapps\ROOT] has finished in [16] ms
> 29-Oct-2018 12:35:41.056 INFO [main]
> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
> ["http-nio-8080"]
> 29-Oct-2018 12:35:41.072 INFO [main]
> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
> ["ajp-nio-8009"]
> 29-Oct-2018 12:35:41.072 INFO [main]
> org.apache.catalina.startup.Catalina.start Server startup in 4890 ms
>
>
> ###########################################################
>
> This may be a red herring but comparing the startup options, I see:
>
> -Only present when starting from script:
>
> Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
> Command line argument:
> -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
> Command line argument: -Dignore.endorsed.dirs=
>
> -Only present when starting as service:
>
> Command line argument: exit
> Command line argument: abort
> Command line argument: -Xms256m
> Command line argument: -Xmx2048m
>
>
> Adding the three arguments from the script to the service configuration
> doesn't have any effect.  I'm unable to remove the 'exit' and 'abort'
> arguments from the service, as these are not explicitly configured.
>
> I tried changing the service to execute as the logged-in user
> (administrator on this machine), but this does not resolve the problem.
>
> I can try and follow the code to see what
> VarResolverBuilder.defaultVars() is processing during the REST call, but
> this is tricky because I can't find a way of attaching a debugger that
> does not cause the problem to go away.
>
> David
>
>
> On 28/10/2018 11:33, David Goddard wrote:
> > Hi,
> >
> > I'm having a very odd problem when trying to test deployment of an
> > application I have recently updated to use Juneau 7.2.x.  The problem
> > appears to be specific to certain Windows environments.
> >
> > When I call a GET or POST against the application deployed in Tomcat, I
> > get a 500 server error.  Tomcat logs report the cause as:
> >
> > org.apache.juneau.FormattedRuntimeException: Could not instantiate class
> > org.apache.juneau.svl.Var
> >
> > This appears to be caused by a npe:
> >
> >
> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871)
>
> >
> >      ... 26 more
> > Caused by: java.lang.NullPointerException
> >      at java.util.Objects.requireNonNull(Objects.java:203)
> >      at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
> >      at java.util.Arrays.asList(Arrays.java:3800)
> >      at org.apache.juneau.utils.Args.<init>(Args.java:115)
> >      at org.apache.juneau.utils.Args.<init>(Args.java:149)
> >      at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
> >
> > (Interestingly I am having trouble getting the log4j logging to work in
> > this environment also, but that may be unconnected)
> >
> > This app works fine in:
> >   - Windows based Eclipse development environment (using Maven
> > tomcat7:run goal to spin up a server)
> >   - Tomcat 9 deployment on MacOS
> >
> > Fails in:
> >   - Windows Tomcat 8.5 environment on different Windows Server 2009 R2
> > machine
> >   - Windows Tomcat 8.5 environment on Windows 10 desktop
> >
> > I've tried both IBM and Sun JREs, most recently an Oracle 1.8.0_192-b12
> > - this does not change the result.
> >
> > I've tested with both 7.2.0 and the 7.2.1 RC, with the same results.
> >
> > Any ideas?
> >
> > ##############################################
> >
> > This is my tomcat log output using the 7.2.1 RC binary:
> >
> > 28-Oct-2018 11:10:19.536 SEVERE [http-nio-8080-exec-7]
> > org.apache.catalina.core.StandardWrapperValve.invoke Allocate exception
> > for servlet [RootResources]
> >   java.lang.NullPointerException
> >          at java.util.Objects.requireNonNull(Objects.java:203)
> >          at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
> >          at java.util.Arrays.asList(Arrays.java:3800)
> >          at org.apache.juneau.utils.Args.<init>(Args.java:115)
> >          at org.apache.juneau.utils.Args.<init>(Args.java:149)
> >          at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
> >          at
> > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> >          at
> >
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>
> >
> >          at
> >
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>
> >
> >          at
> java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> >          at
> >
> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871)
>
> >
> >          at
> > org.apache.juneau.internal.ClassUtils.newInstance(ClassUtils.java:1810)
> >          at
> > org.apache.juneau.svl.VarResolverBuilder.vars(VarResolverBuilder.java:54)
> >          at
> >
> org.apache.juneau.svl.VarResolverBuilder.defaultVars(VarResolverBuilder.java:82)
>
> >
> >          at
> >
> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:131)
>
> >
> >          at
> > org.apache.juneau.rest.RestContext.create(RestContext.java:3078)
> >          at org.apache.juneau.rest.RestServlet.init(RestServlet.java:50)
> >          at
> >
> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
>
> >
> >          at
> >
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
>
> >
> >          at
> >
> org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
> >          at
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
>
> >
> >          at
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
>
> >
> >          at
> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
>
> >
> >          at
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
>
> >
> >          at
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
>
> >
> >          at
> >
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
>
> >
> >          at
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
>
> >
> >          at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
> >          at
> >
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
> >          at
> >
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
>
> >
> >          at
> >
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
>
> >
> >          at
> > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
>
> >
> >          at
> > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>
> >
> >          at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>
> >
> >          at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>
> >
> >          at
> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>
> >
> >          at java.lang.Thread.run(Thread.java:748)
> >
> > ##############################################
> >
> > This is from the Tomcat stderr log:
> >
> > Servlet init error on class
> >
> 'com.ibm.cognos.sdk.framework.c10ServiceFrameworkReferenceImplementation.RootResources'
>
> >
> > javax.servlet.ServletException:
> > org.apache.juneau.FormattedRuntimeException: Could not instantiate class
> > org.apache.juneau.svl.Var
> >      at
> >
> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:251)
>
> >
> >      at org.apache.juneau.rest.RestContext.create(RestContext.java:3078)
> >      at org.apache.juneau.rest.RestServlet.init(RestServlet.java:50)
> >      at
> >
> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
>
> >
> >      at
> >
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
>
> >
> >      at
> >
> org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
> >      at
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
>
> >
> >      at
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
>
> >
> >      at
> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
>
> >
> >      at
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
>
> >
> >      at
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
>
> >
> >      at
> >
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
>
> >
> >      at
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
>
> >
> >      at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
> >      at
> >
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
> >      at
> >
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
>
> >
> >      at
> >
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
>
> >
> >      at
> > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
>
> >
> >      at
> > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>
> >
> >      at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>
> >
> >      at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>
> >
> >      at
> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>
> >
> >      at java.lang.Thread.run(Thread.java:748)
> > Caused by: org.apache.juneau.FormattedRuntimeException: Could not
> > instantiate class org.apache.juneau.svl.Var
> >      at
> >
> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1890)
>
> >
> >      at
> > org.apache.juneau.internal.ClassUtils.newInstance(ClassUtils.java:1810)
> >      at
> > org.apache.juneau.svl.VarResolverBuilder.vars(VarResolverBuilder.java:54)
> >      at
> >
> org.apache.juneau.svl.VarResolverBuilder.defaultVars(VarResolverBuilder.java:82)
>
> >
> >      at
> >
> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:131)
>
> >
> >      ... 22 more
> > Caused by: java.lang.reflect.InvocationTargetException
> >      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> > Method)
> >      at
> >
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>
> >
> >      at
> >
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>
> >
> >      at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> >      at
> >
> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871)
>
> >
> >      ... 26 more
> > Caused by: java.lang.NullPointerException
> >      at java.util.Objects.requireNonNull(Objects.java:203)
> >      at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
> >      at java.util.Arrays.asList(Arrays.java:3800)
> >      at org.apache.juneau.utils.Args.<init>(Args.java:115)
> >      at org.apache.juneau.utils.Args.<init>(Args.java:149)
> >      at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
> >      ... 31 more
> > Servlet init error on class
> >
> 'com.ibm.cognos.sdk.framework.c10ServiceFrameworkReferenceImplementation.RootResources'
>
> >
> > javax.servlet.ServletException:
> > org.apache.juneau.FormattedRuntimeException: Could not instantiate class
> > org.apache.juneau.svl.Var
> >      at
> >
> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:251)
>
> >
> >      at org.apache.juneau.rest.RestContext.create(RestContext.java:3078)
> >      at org.apache.juneau.rest.RestServlet.init(RestServlet.java:50)
> >      at
> >
> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
>
> >
> >      at
> >
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
>
> >
> >      at
> >
> org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
> >      at
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
>
> >
> >      at
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
>
> >
> >      at
> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
>
> >
> >      at
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
>
> >
> >      at
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
>
> >
> >      at
> >
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
>
> >
> >      at
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
>
> >
> >      at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
> >      at
> >
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
> >      at
> >
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
>
> >
> >      at
> >
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
>
> >
> >      at
> > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
>
> >
> >      at
> > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>
> >
> >      at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>
> >
> >      at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>
> >
> >      at
> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>
> >
> >      at java.lang.Thread.run(Thread.java:748)
> > Caused by: org.apache.juneau.FormattedRuntimeException: Could not
> > instantiate class org.apache.juneau.svl.Var
> >      at
> >
> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1890)
>
> >
> >      at
> > org.apache.juneau.internal.ClassUtils.newInstance(ClassUtils.java:1810)
> >      at
> > org.apache.juneau.svl.VarResolverBuilder.vars(VarResolverBuilder.java:54)
> >      at
> >
> org.apache.juneau.svl.VarResolverBuilder.defaultVars(VarResolverBuilder.java:82)
>
> >
> >      at
> >
> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:131)
>
> >
> >      ... 22 more
> > Caused by: java.lang.reflect.InvocationTargetException
> >      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> > Method)
> >      at
> >
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>
> >
> >      at
> >
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>
> >
> >      at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> >      at
> >
> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871)
>
> >
> >      ... 26 more
> > Caused by: java.lang.NullPointerException
> >      at java.util.Objects.requireNonNull(Objects.java:203)
> >      at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
> >      at java.util.Arrays.asList(Arrays.java:3800)
> >      at org.apache.juneau.utils.Args.<init>(Args.java:115)
> >      at org.apache.juneau.utils.Args.<init>(Args.java:149)
> >      at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
> >      ... 31 more
> >
> >
> > ##############################################
> >
> > This is the catalina log showing server startup:
> >
> > 28-Oct-2018 11:09:09.187 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Server version:
> >      Apache Tomcat/8.5.32
> > 28-Oct-2018 11:09:09.192 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Server built:
> > Jun 20 2018 19:50:35 UTC
> > 28-Oct-2018 11:09:09.193 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Server number:
> > 8.5.32.0
> > 28-Oct-2018 11:09:09.193 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log OS Name:
> > Windows Server 2008 R2
> > 28-Oct-2018 11:09:09.193 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log OS Version:     6.1
> > 28-Oct-2018 11:09:09.193 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Architecture:
> > amd64
> > 28-Oct-2018 11:09:09.193 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Java Home:
> > D:\Java\jdk1.8.0_192\jre
> > 28-Oct-2018 11:09:09.194 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log JVM Version:
> > 1.8.0_192-b12
> > 28-Oct-2018 11:09:09.194 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:
> > Oracle Corporation
> > 28-Oct-2018 11:09:09.194 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:
> > D:\Program Files\Apache Software Foundation\Tomcat 8.5
> > 28-Oct-2018 11:09:09.194 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:
> > D:\Program Files\Apache Software Foundation\Tomcat 8.5
> > 28-Oct-2018 11:09:09.195 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Command line
> > argument: -Dcatalina.home=D:\Program Files\Apache Software
> > Foundation\Tomcat 8.5
> > 28-Oct-2018 11:09:09.195 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Command line
> > argument: -Dcatalina.base=D:\Program Files\Apache Software
> > Foundation\Tomcat 8.5
> > 28-Oct-2018 11:09:09.195 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Command line
> > argument: -Djava.io.tmpdir=D:\Program Files\Apache Software
> > Foundation\Tomcat 8.5\temp
> > 28-Oct-2018 11:09:09.197 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Command line
> > argument:
> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
> > 28-Oct-2018 11:09:09.197 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Command line
> > argument: -Djava.util.logging.config.file=D:\Program Files\Apache
> > Software Foundation\Tomcat 8.5\conf\logging.properties
> > 28-Oct-2018 11:09:09.197 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Command line
> > argument: exit
> > 28-Oct-2018 11:09:09.197 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Command line
> > argument: abort
> > 28-Oct-2018 11:09:09.197 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Command line
> > argument: -Xms256m
> > 28-Oct-2018 11:09:09.198 INFO [main]
> > org.apache.catalina.startup.VersionLoggerListener.log Command line
> > argument: -Xmx2048m
> > 28-Oct-2018 11:09:09.199 INFO [main]
> > org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR
> > based Apache Tomcat Native library [1.2.17] using APR version [1.6.3].
> > 28-Oct-2018 11:09:09.199 INFO [main]
> > org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR
> > capabilities: IPv6 [true], sendfile [true], accept filters [false],
> > random [true].
> > 28-Oct-2018 11:09:09.199 INFO [main]
> > org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL
> > configuration: useAprConnector [false], useOpenSSL [true]
> > 28-Oct-2018 11:09:09.988 INFO [main]
> > org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL
> > successfully initialized [OpenSSL 1.0.2o  27 Mar 2018]
> > 28-Oct-2018 11:09:10.186 INFO [main]
> > org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
> > ["http-nio-8080"]
> > 28-Oct-2018 11:09:10.326 INFO [main]
> > org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a
> > shared selector for servlet write/read
> > 28-Oct-2018 11:09:10.336 INFO [main]
> > org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
> > ["ajp-nio-8009"]
> > 28-Oct-2018 11:09:10.339 INFO [main]
> > org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a
> > shared selector for servlet write/read
> > 28-Oct-2018 11:09:10.340 INFO [main]
> > org.apache.catalina.startup.Catalina.load Initialization processed in
> > 1748 ms
> > 28-Oct-2018 11:09:10.386 INFO [main]
> > org.apache.catalina.core.StandardService.startInternal Starting service
> > [Catalina]
> > 28-Oct-2018 11:09:10.386 INFO [main]
> > org.apache.catalina.core.StandardEngine.startInternal Starting Servlet
> > Engine: Apache Tomcat/8.5.32
> > 28-Oct-2018 11:09:10.423 INFO [localhost-startStop-1]
> > org.apache.catalina.startup.HostConfig.deployWAR Deploying web
> > application archive [D:\Program Files\Apache Software Foundation\Tomcat
> > 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war]
> > 28-Oct-2018 11:09:12.492 INFO [localhost-startStop-1]
> > org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was
> > scanned for TLDs yet contained no TLDs. Enable debug logging for this
> > logger for a complete list of JARs that were scanned but no TLDs were
> > found in them. Skipping unneeded JARs during scanning can improve
> > startup time and JSP compilation time.
> > 28-Oct-2018 11:09:12.544 INFO [localhost-startStop-1]
> > org.apache.catalina.startup.HostConfig.deployWAR Deployment of web
> > application archive [D:\Program Files\Apache Software Foundation\Tomcat
> > 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war] has finished
> > in [2,121] ms
> > [...]
> > 28-Oct-2018 11:09:14.824 INFO [localhost-startStop-1]
> > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
> > application directory [D:\Program Files\Apache Software
> > Foundation\Tomcat 8.5\webapps\docs]
> > 28-Oct-2018 11:09:14.856 INFO [localhost-startStop-1]
> > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
> > application directory [D:\Program Files\Apache Software
> > Foundation\Tomcat 8.5\webapps\docs] has finished in [32] ms
> > 28-Oct-2018 11:09:14.856 INFO [localhost-startStop-1]
> > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
> > application directory [D:\Program Files\Apache Software
> > Foundation\Tomcat 8.5\webapps\examples]
> > 28-Oct-2018 11:09:15.195 INFO [localhost-startStop-1]
> > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
> > application directory [D:\Program Files\Apache Software
> > Foundation\Tomcat 8.5\webapps\examples] has finished in [339] ms
> > 28-Oct-2018 11:09:15.195 INFO [localhost-startStop-1]
> > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
> > application directory [D:\Program Files\Apache Software
> > Foundation\Tomcat 8.5\webapps\host-manager]
> > 28-Oct-2018 11:09:15.239 INFO [localhost-startStop-1]
> > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
> > application directory [D:\Program Files\Apache Software
> > Foundation\Tomcat 8.5\webapps\host-manager] has finished in [44] ms
> > 28-Oct-2018 11:09:15.240 INFO [localhost-startStop-1]
> > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
> > application directory [D:\Program Files\Apache Software
> > Foundation\Tomcat 8.5\webapps\manager]
> > 28-Oct-2018 11:09:15.281 INFO [localhost-startStop-1]
> > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
> > application directory [D:\Program Files\Apache Software
> > Foundation\Tomcat 8.5\webapps\manager] has finished in [42] ms
> > 28-Oct-2018 11:09:15.281 INFO [localhost-startStop-1]
> > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
> > application directory [D:\Program Files\Apache Software
> > Foundation\Tomcat 8.5\webapps\ROOT]
> > 28-Oct-2018 11:09:15.310 INFO [localhost-startStop-1]
> > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
> > application directory [D:\Program Files\Apache Software
> > Foundation\Tomcat 8.5\webapps\ROOT] has finished in [29] ms
> > 28-Oct-2018 11:09:15.337 INFO [main]
> > org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
> > ["http-nio-8080"]
> > 28-Oct-2018 11:09:15.354 INFO [main]
> > org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
> > ["ajp-nio-8009"]
> > 28-Oct-2018 11:09:15.357 INFO [main]
> > org.apache.catalina.startup.Catalina.start Server startup in 5016 ms
> >
> > ##############################################
> >
> > Thanks,
> >
> > David
> >
>
>
>

Re: Allocate exception for servlet under certain Windows environments

Posted by David Goddard <go...@acm.org>.
Further testing indicates that the common theme here is that I get the 
error when running Tomcat as a Windows Service.  If I start the Tomcat 
instance using the startup.bat script, it works fine.  Unfortunately 
this makes it hard to attach a remote debugger to investigate, because 
when I start the server up in debug mode, it doesn't have the problem.

To compare, here are the startup log entries when running as a Windows 
service:

29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Server version: 
     Apache Tomcat/8.5.32
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Server built: 
     Jun 20 2018 19:50:35 UTC
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Server number: 
     8.5.32.0
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log OS Name: 
     Windows Server 2008 R2
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log OS Version: 
     6.1
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Architecture: 
     amd64
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Java Home: 
     D:\Java\jdk1.8.0_192\jre
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 
     1.8.0_192-b12
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: 
     Oracle Corporation
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: 
     D:\Program Files\Apache Software Foundation\Tomcat 8.5
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: 
     D:\Program Files\Apache Software Foundation\Tomcat 8.5
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Dcatalina.home=D:\Program Files\Apache Software 
Foundation\Tomcat 8.5
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Dcatalina.base=D:\Program Files\Apache Software 
Foundation\Tomcat 8.5
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Djava.io.tmpdir=D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\temp
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Djava.util.logging.config.file=D:\Program Files\Apache 
Software Foundation\Tomcat 8.5\conf\logging.properties
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: exit
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: abort
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Xms256m
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Xmx2048m
29-Oct-2018 12:34:41.330 INFO [main] 
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR 
based Apache Tomcat Native library [1.2.17] using APR version [1.6.3].
29-Oct-2018 12:34:41.345 INFO [main] 
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR 
capabilities: IPv6 [true], sendfile [true], accept filters [false], 
random [true].
29-Oct-2018 12:34:41.345 INFO [main] 
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL 
configuration: useAprConnector [false], useOpenSSL [true]
29-Oct-2018 12:34:42.172 INFO [main] 
org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL 
successfully initialized [OpenSSL 1.0.2o  27 Mar 2018]
29-Oct-2018 12:34:42.359 INFO [main] 
org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler 
["http-nio-8080"]
29-Oct-2018 12:34:42.500 INFO [main] 
org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a 
shared selector for servlet write/read
29-Oct-2018 12:34:42.500 INFO [main] 
org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler 
["ajp-nio-8009"]
29-Oct-2018 12:34:42.515 INFO [main] 
org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a 
shared selector for servlet write/read
29-Oct-2018 12:34:42.515 INFO [main] 
org.apache.catalina.startup.Catalina.load Initialization processed in 
1935 ms
29-Oct-2018 12:34:42.562 INFO [main] 
org.apache.catalina.core.StandardService.startInternal Starting service 
[Catalina]
29-Oct-2018 12:34:42.562 INFO [main] 
org.apache.catalina.core.StandardEngine.startInternal Starting Servlet 
Engine: Apache Tomcat/8.5.32
29-Oct-2018 12:34:42.593 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployWAR Deploying web 
application archive [D:\Program Files\Apache Software Foundation\Tomcat 
8.5\webapps\c10ServiceFrameworkReferenceImplementation.war]
29-Oct-2018 12:34:44.497 INFO [localhost-startStop-1] 
org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was 
scanned for TLDs yet contained no TLDs. Enable debug logging for this 
logger for a complete list of JARs that were scanned but no TLDs were 
found in them. Skipping unneeded JARs during scanning can improve 
startup time and JSP compilation time.
29-Oct-2018 12:34:44.559 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployWAR Deployment of web 
application archive [D:\Program Files\Apache Software Foundation\Tomcat 
8.5\webapps\c10ServiceFrameworkReferenceImplementation.war] has finished 
in [1,950] ms
[...]
29-Oct-2018 12:34:47.111 INFO [main] 
org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler 
["http-nio-8080"]
29-Oct-2018 12:34:47.127 INFO [main] 
org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler 
["ajp-nio-8009"]
29-Oct-2018 12:34:47.127 INFO [main] 
org.apache.catalina.startup.Catalina.start Server startup in 4616 ms

###########################################################

Here are the same when starting from the startup script:

29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Server version: 
     Apache Tomcat/8.5.32
29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Server built: 
     Jun 20 2018 19:50:35 UTC
29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Server number: 
     8.5.32.0
29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log OS Name: 
     Windows Server 2008 R2
29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log OS Version: 
     6.1
29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Architecture: 
     amd64
29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Java Home: 
     D:\Java\jdk1.8.0_192\jre
29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 
     1.8.0_192-b12
29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: 
     Oracle Corporation
29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: 
     D:\Program Files\Apache Software Foundation\Tomcat 8.5
29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: 
     D:\Program Files\Apache Software Foundation\Tomcat 8.5
29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Djava.util.logging.config.file=D:\Program Files\Apache 
Software Foundation\Tomcat 8.5\conf\logging.properties
29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
29-Oct-2018 12:35:34.909 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Djdk.tls.ephemeralDHKeySize=2048
29-Oct-2018 12:35:34.925 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
29-Oct-2018 12:35:34.925 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Dignore.endorsed.dirs=
29-Oct-2018 12:35:34.925 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Dcatalina.base=D:\Program Files\Apache Software 
Foundation\Tomcat 8.5
29-Oct-2018 12:35:34.925 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Dcatalina.home=D:\Program Files\Apache Software 
Foundation\Tomcat 8.5
29-Oct-2018 12:35:34.925 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line 
argument: -Djava.io.tmpdir=D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\temp
29-Oct-2018 12:35:34.925 INFO [main] 
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR 
based Apache Tomcat Native library [1.2.17] using APR version [1.6.3].
29-Oct-2018 12:35:34.925 INFO [main] 
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR 
capabilities: IPv6 [true], sendfile [true], accept filters [false], 
random [true].
29-Oct-2018 12:35:34.925 INFO [main] 
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL 
configuration: useAprConnector [false], useOpenSSL [true]
29-Oct-2018 12:35:35.830 INFO [main] 
org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL 
successfully initialized [OpenSSL 1.0.2o  27 Mar 2018]
29-Oct-2018 12:35:36.032 INFO [main] 
org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler 
["http-nio-8080"]
29-Oct-2018 12:35:36.173 INFO [main] 
org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a 
shared selector for servlet write/read
29-Oct-2018 12:35:36.173 INFO [main] 
org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler 
["ajp-nio-8009"]
29-Oct-2018 12:35:36.188 INFO [main] 
org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a 
shared selector for servlet write/read
29-Oct-2018 12:35:36.188 INFO [main] 
org.apache.catalina.startup.Catalina.load Initialization processed in 
1908 ms
29-Oct-2018 12:35:36.220 INFO [main] 
org.apache.catalina.core.StandardService.startInternal Starting service 
[Catalina]
29-Oct-2018 12:35:36.220 INFO [main] 
org.apache.catalina.core.StandardEngine.startInternal Starting Servlet 
Engine: Apache Tomcat/8.5.32
29-Oct-2018 12:35:36.251 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployWAR Deploying web 
application archive [D:\Program Files\Apache Software Foundation\Tomcat 
8.5\webapps\c10ServiceFrameworkReferenceImplementation.war]
29-Oct-2018 12:35:38.185 INFO [localhost-startStop-1] 
org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was 
scanned for TLDs yet contained no TLDs. Enable debug logging for this 
logger for a complete list of JARs that were scanned but no TLDs were 
found in them. Skipping unneeded JARs during scanning can improve 
startup time and JSP compilation time.
29-Oct-2018 12:35:38.232 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployWAR Deployment of web 
application archive [D:\Program Files\Apache Software Foundation\Tomcat 
8.5\webapps\c10ServiceFrameworkReferenceImplementation.war] has finished 
in [1,981] ms
[...]
29-Oct-2018 12:35:40.494 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\docs]
29-Oct-2018 12:35:40.526 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\docs] has finished in [32] ms
29-Oct-2018 12:35:40.526 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\examples]
29-Oct-2018 12:35:40.869 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\examples] has finished in [343] ms
29-Oct-2018 12:35:40.869 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\host-manager]
29-Oct-2018 12:35:40.931 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\host-manager] has finished in [62] ms
29-Oct-2018 12:35:40.931 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\manager]
29-Oct-2018 12:35:40.978 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\manager] has finished in [47] ms
29-Oct-2018 12:35:40.978 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\ROOT]
29-Oct-2018 12:35:40.994 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
application directory [D:\Program Files\Apache Software 
Foundation\Tomcat 8.5\webapps\ROOT] has finished in [16] ms
29-Oct-2018 12:35:41.056 INFO [main] 
org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler 
["http-nio-8080"]
29-Oct-2018 12:35:41.072 INFO [main] 
org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler 
["ajp-nio-8009"]
29-Oct-2018 12:35:41.072 INFO [main] 
org.apache.catalina.startup.Catalina.start Server startup in 4890 ms


###########################################################

This may be a red herring but comparing the startup options, I see:

-Only present when starting from script:

Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
Command line argument: 
-Djava.protocol.handler.pkgs=org.apache.catalina.webresources
Command line argument: -Dignore.endorsed.dirs=

-Only present when starting as service:

Command line argument: exit
Command line argument: abort
Command line argument: -Xms256m
Command line argument: -Xmx2048m


Adding the three arguments from the script to the service configuration 
doesn't have any effect.  I'm unable to remove the 'exit' and 'abort' 
arguments from the service, as these are not explicitly configured.

I tried changing the service to execute as the logged-in user 
(administrator on this machine), but this does not resolve the problem.

I can try and follow the code to see what 
VarResolverBuilder.defaultVars() is processing during the REST call, but 
this is tricky because I can't find a way of attaching a debugger that 
does not cause the problem to go away.

David


On 28/10/2018 11:33, David Goddard wrote:
> Hi,
> 
> I'm having a very odd problem when trying to test deployment of an 
> application I have recently updated to use Juneau 7.2.x.  The problem 
> appears to be specific to certain Windows environments.
> 
> When I call a GET or POST against the application deployed in Tomcat, I 
> get a 500 server error.  Tomcat logs report the cause as:
> 
> org.apache.juneau.FormattedRuntimeException: Could not instantiate class 
> org.apache.juneau.svl.Var
> 
> This appears to be caused by a npe:
> 
> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871) 
> 
>      ... 26 more
> Caused by: java.lang.NullPointerException
>      at java.util.Objects.requireNonNull(Objects.java:203)
>      at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
>      at java.util.Arrays.asList(Arrays.java:3800)
>      at org.apache.juneau.utils.Args.<init>(Args.java:115)
>      at org.apache.juneau.utils.Args.<init>(Args.java:149)
>      at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
> 
> (Interestingly I am having trouble getting the log4j logging to work in 
> this environment also, but that may be unconnected)
> 
> This app works fine in:
>   - Windows based Eclipse development environment (using Maven 
> tomcat7:run goal to spin up a server)
>   - Tomcat 9 deployment on MacOS
> 
> Fails in:
>   - Windows Tomcat 8.5 environment on different Windows Server 2009 R2 
> machine
>   - Windows Tomcat 8.5 environment on Windows 10 desktop
> 
> I've tried both IBM and Sun JREs, most recently an Oracle 1.8.0_192-b12 
> - this does not change the result.
> 
> I've tested with both 7.2.0 and the 7.2.1 RC, with the same results.
> 
> Any ideas?
> 
> ##############################################
> 
> This is my tomcat log output using the 7.2.1 RC binary:
> 
> 28-Oct-2018 11:10:19.536 SEVERE [http-nio-8080-exec-7] 
> org.apache.catalina.core.StandardWrapperValve.invoke Allocate exception 
> for servlet [RootResources]
>   java.lang.NullPointerException
>          at java.util.Objects.requireNonNull(Objects.java:203)
>          at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
>          at java.util.Arrays.asList(Arrays.java:3800)
>          at org.apache.juneau.utils.Args.<init>(Args.java:115)
>          at org.apache.juneau.utils.Args.<init>(Args.java:149)
>          at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
>          at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>          at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
> 
>          at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
> 
>          at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>          at 
> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871) 
> 
>          at 
> org.apache.juneau.internal.ClassUtils.newInstance(ClassUtils.java:1810)
>          at 
> org.apache.juneau.svl.VarResolverBuilder.vars(VarResolverBuilder.java:54)
>          at 
> org.apache.juneau.svl.VarResolverBuilder.defaultVars(VarResolverBuilder.java:82) 
> 
>          at 
> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:131) 
> 
>          at 
> org.apache.juneau.rest.RestContext.create(RestContext.java:3078)
>          at org.apache.juneau.rest.RestServlet.init(RestServlet.java:50)
>          at 
> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144) 
> 
>          at 
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091) 
> 
>          at 
> org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
>          at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133) 
> 
>          at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 
> 
>          at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) 
> 
>          at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) 
> 
>          at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) 
> 
>          at 
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) 
> 
>          at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 
> 
>          at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
>          at 
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
>          at 
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
> 
>          at 
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800) 
> 
>          at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471) 
> 
>          at 
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
> 
>          at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
> 
>          at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
> 
>          at 
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
> 
>          at java.lang.Thread.run(Thread.java:748)
> 
> ##############################################
> 
> This is from the Tomcat stderr log:
> 
> Servlet init error on class 
> 'com.ibm.cognos.sdk.framework.c10ServiceFrameworkReferenceImplementation.RootResources' 
> 
> javax.servlet.ServletException: 
> org.apache.juneau.FormattedRuntimeException: Could not instantiate class 
> org.apache.juneau.svl.Var
>      at 
> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:251) 
> 
>      at org.apache.juneau.rest.RestContext.create(RestContext.java:3078)
>      at org.apache.juneau.rest.RestServlet.init(RestServlet.java:50)
>      at 
> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144) 
> 
>      at 
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091) 
> 
>      at 
> org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
>      at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133) 
> 
>      at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 
> 
>      at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) 
> 
>      at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) 
> 
>      at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) 
> 
>      at 
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) 
> 
>      at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 
> 
>      at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
>      at 
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
>      at 
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
> 
>      at 
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800) 
> 
>      at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471) 
> 
>      at 
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
> 
>      at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
> 
>      at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
> 
>      at 
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
> 
>      at java.lang.Thread.run(Thread.java:748)
> Caused by: org.apache.juneau.FormattedRuntimeException: Could not 
> instantiate class org.apache.juneau.svl.Var
>      at 
> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1890) 
> 
>      at 
> org.apache.juneau.internal.ClassUtils.newInstance(ClassUtils.java:1810)
>      at 
> org.apache.juneau.svl.VarResolverBuilder.vars(VarResolverBuilder.java:54)
>      at 
> org.apache.juneau.svl.VarResolverBuilder.defaultVars(VarResolverBuilder.java:82) 
> 
>      at 
> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:131) 
> 
>      ... 22 more
> Caused by: java.lang.reflect.InvocationTargetException
>      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
>      at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
> 
>      at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
> 
>      at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>      at 
> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871) 
> 
>      ... 26 more
> Caused by: java.lang.NullPointerException
>      at java.util.Objects.requireNonNull(Objects.java:203)
>      at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
>      at java.util.Arrays.asList(Arrays.java:3800)
>      at org.apache.juneau.utils.Args.<init>(Args.java:115)
>      at org.apache.juneau.utils.Args.<init>(Args.java:149)
>      at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
>      ... 31 more
> Servlet init error on class 
> 'com.ibm.cognos.sdk.framework.c10ServiceFrameworkReferenceImplementation.RootResources' 
> 
> javax.servlet.ServletException: 
> org.apache.juneau.FormattedRuntimeException: Could not instantiate class 
> org.apache.juneau.svl.Var
>      at 
> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:251) 
> 
>      at org.apache.juneau.rest.RestContext.create(RestContext.java:3078)
>      at org.apache.juneau.rest.RestServlet.init(RestServlet.java:50)
>      at 
> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144) 
> 
>      at 
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091) 
> 
>      at 
> org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
>      at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133) 
> 
>      at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 
> 
>      at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) 
> 
>      at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) 
> 
>      at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) 
> 
>      at 
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) 
> 
>      at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 
> 
>      at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
>      at 
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
>      at 
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
> 
>      at 
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800) 
> 
>      at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471) 
> 
>      at 
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
> 
>      at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
> 
>      at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
> 
>      at 
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
> 
>      at java.lang.Thread.run(Thread.java:748)
> Caused by: org.apache.juneau.FormattedRuntimeException: Could not 
> instantiate class org.apache.juneau.svl.Var
>      at 
> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1890) 
> 
>      at 
> org.apache.juneau.internal.ClassUtils.newInstance(ClassUtils.java:1810)
>      at 
> org.apache.juneau.svl.VarResolverBuilder.vars(VarResolverBuilder.java:54)
>      at 
> org.apache.juneau.svl.VarResolverBuilder.defaultVars(VarResolverBuilder.java:82) 
> 
>      at 
> org.apache.juneau.rest.RestContextBuilder.<init>(RestContextBuilder.java:131) 
> 
>      ... 22 more
> Caused by: java.lang.reflect.InvocationTargetException
>      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
>      at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
> 
>      at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
> 
>      at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>      at 
> org.apache.juneau.internal.ClassUtils.newInstanceFromOuter(ClassUtils.java:1871) 
> 
>      ... 26 more
> Caused by: java.lang.NullPointerException
>      at java.util.Objects.requireNonNull(Objects.java:203)
>      at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
>      at java.util.Arrays.asList(Arrays.java:3800)
>      at org.apache.juneau.utils.Args.<init>(Args.java:115)
>      at org.apache.juneau.utils.Args.<init>(Args.java:149)
>      at org.apache.juneau.svl.vars.ArgsVar.<init>(ArgsVar.java:86)
>      ... 31 more
> 
> 
> ##############################################
> 
> This is the catalina log showing server startup:
> 
> 28-Oct-2018 11:09:09.187 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Server version: 
>      Apache Tomcat/8.5.32
> 28-Oct-2018 11:09:09.192 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Server built:     
> Jun 20 2018 19:50:35 UTC
> 28-Oct-2018 11:09:09.193 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Server number:     
> 8.5.32.0
> 28-Oct-2018 11:09:09.193 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log OS Name:     
> Windows Server 2008 R2
> 28-Oct-2018 11:09:09.193 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log OS Version:     6.1
> 28-Oct-2018 11:09:09.193 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Architecture:     
> amd64
> 28-Oct-2018 11:09:09.193 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Java Home:     
> D:\Java\jdk1.8.0_192\jre
> 28-Oct-2018 11:09:09.194 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log JVM Version:     
> 1.8.0_192-b12
> 28-Oct-2018 11:09:09.194 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:     
> Oracle Corporation
> 28-Oct-2018 11:09:09.194 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:     
> D:\Program Files\Apache Software Foundation\Tomcat 8.5
> 28-Oct-2018 11:09:09.194 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:     
> D:\Program Files\Apache Software Foundation\Tomcat 8.5
> 28-Oct-2018 11:09:09.195 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Command line 
> argument: -Dcatalina.home=D:\Program Files\Apache Software 
> Foundation\Tomcat 8.5
> 28-Oct-2018 11:09:09.195 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Command line 
> argument: -Dcatalina.base=D:\Program Files\Apache Software 
> Foundation\Tomcat 8.5
> 28-Oct-2018 11:09:09.195 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Command line 
> argument: -Djava.io.tmpdir=D:\Program Files\Apache Software 
> Foundation\Tomcat 8.5\temp
> 28-Oct-2018 11:09:09.197 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Command line 
> argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
> 28-Oct-2018 11:09:09.197 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Command line 
> argument: -Djava.util.logging.config.file=D:\Program Files\Apache 
> Software Foundation\Tomcat 8.5\conf\logging.properties
> 28-Oct-2018 11:09:09.197 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Command line 
> argument: exit
> 28-Oct-2018 11:09:09.197 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Command line 
> argument: abort
> 28-Oct-2018 11:09:09.197 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Command line 
> argument: -Xms256m
> 28-Oct-2018 11:09:09.198 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Command line 
> argument: -Xmx2048m
> 28-Oct-2018 11:09:09.199 INFO [main] 
> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR 
> based Apache Tomcat Native library [1.2.17] using APR version [1.6.3].
> 28-Oct-2018 11:09:09.199 INFO [main] 
> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR 
> capabilities: IPv6 [true], sendfile [true], accept filters [false], 
> random [true].
> 28-Oct-2018 11:09:09.199 INFO [main] 
> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL 
> configuration: useAprConnector [false], useOpenSSL [true]
> 28-Oct-2018 11:09:09.988 INFO [main] 
> org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL 
> successfully initialized [OpenSSL 1.0.2o  27 Mar 2018]
> 28-Oct-2018 11:09:10.186 INFO [main] 
> org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler 
> ["http-nio-8080"]
> 28-Oct-2018 11:09:10.326 INFO [main] 
> org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a 
> shared selector for servlet write/read
> 28-Oct-2018 11:09:10.336 INFO [main] 
> org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler 
> ["ajp-nio-8009"]
> 28-Oct-2018 11:09:10.339 INFO [main] 
> org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a 
> shared selector for servlet write/read
> 28-Oct-2018 11:09:10.340 INFO [main] 
> org.apache.catalina.startup.Catalina.load Initialization processed in 
> 1748 ms
> 28-Oct-2018 11:09:10.386 INFO [main] 
> org.apache.catalina.core.StandardService.startInternal Starting service 
> [Catalina]
> 28-Oct-2018 11:09:10.386 INFO [main] 
> org.apache.catalina.core.StandardEngine.startInternal Starting Servlet 
> Engine: Apache Tomcat/8.5.32
> 28-Oct-2018 11:09:10.423 INFO [localhost-startStop-1] 
> org.apache.catalina.startup.HostConfig.deployWAR Deploying web 
> application archive [D:\Program Files\Apache Software Foundation\Tomcat 
> 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war]
> 28-Oct-2018 11:09:12.492 INFO [localhost-startStop-1] 
> org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was 
> scanned for TLDs yet contained no TLDs. Enable debug logging for this 
> logger for a complete list of JARs that were scanned but no TLDs were 
> found in them. Skipping unneeded JARs during scanning can improve 
> startup time and JSP compilation time.
> 28-Oct-2018 11:09:12.544 INFO [localhost-startStop-1] 
> org.apache.catalina.startup.HostConfig.deployWAR Deployment of web 
> application archive [D:\Program Files\Apache Software Foundation\Tomcat 
> 8.5\webapps\c10ServiceFrameworkReferenceImplementation.war] has finished 
> in [2,121] ms
> [...]
> 28-Oct-2018 11:09:14.824 INFO [localhost-startStop-1] 
> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
> application directory [D:\Program Files\Apache Software 
> Foundation\Tomcat 8.5\webapps\docs]
> 28-Oct-2018 11:09:14.856 INFO [localhost-startStop-1] 
> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
> application directory [D:\Program Files\Apache Software 
> Foundation\Tomcat 8.5\webapps\docs] has finished in [32] ms
> 28-Oct-2018 11:09:14.856 INFO [localhost-startStop-1] 
> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
> application directory [D:\Program Files\Apache Software 
> Foundation\Tomcat 8.5\webapps\examples]
> 28-Oct-2018 11:09:15.195 INFO [localhost-startStop-1] 
> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
> application directory [D:\Program Files\Apache Software 
> Foundation\Tomcat 8.5\webapps\examples] has finished in [339] ms
> 28-Oct-2018 11:09:15.195 INFO [localhost-startStop-1] 
> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
> application directory [D:\Program Files\Apache Software 
> Foundation\Tomcat 8.5\webapps\host-manager]
> 28-Oct-2018 11:09:15.239 INFO [localhost-startStop-1] 
> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
> application directory [D:\Program Files\Apache Software 
> Foundation\Tomcat 8.5\webapps\host-manager] has finished in [44] ms
> 28-Oct-2018 11:09:15.240 INFO [localhost-startStop-1] 
> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
> application directory [D:\Program Files\Apache Software 
> Foundation\Tomcat 8.5\webapps\manager]
> 28-Oct-2018 11:09:15.281 INFO [localhost-startStop-1] 
> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
> application directory [D:\Program Files\Apache Software 
> Foundation\Tomcat 8.5\webapps\manager] has finished in [42] ms
> 28-Oct-2018 11:09:15.281 INFO [localhost-startStop-1] 
> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web 
> application directory [D:\Program Files\Apache Software 
> Foundation\Tomcat 8.5\webapps\ROOT]
> 28-Oct-2018 11:09:15.310 INFO [localhost-startStop-1] 
> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web 
> application directory [D:\Program Files\Apache Software 
> Foundation\Tomcat 8.5\webapps\ROOT] has finished in [29] ms
> 28-Oct-2018 11:09:15.337 INFO [main] 
> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler 
> ["http-nio-8080"]
> 28-Oct-2018 11:09:15.354 INFO [main] 
> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler 
> ["ajp-nio-8009"]
> 28-Oct-2018 11:09:15.357 INFO [main] 
> org.apache.catalina.startup.Catalina.start Server startup in 5016 ms
> 
> ##############################################
> 
> Thanks,
> 
> David
>