Bug 60878 - Redirecting host-manager from catalina.home to catalina.base using docBase causes NullPointerException
Summary: Redirecting host-manager from catalina.home to catalina.base using docBase ca...
Status: RESOLVED DUPLICATE of bug 60882
Alias: None
Product: Tomcat 8
Classification: Unclassified
Component: Manager (show other bugs)
Version: 8.5.12
Hardware: PC All
: P2 normal (vote)
Target Milestone: ----
Assignee: Tomcat Developers Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-16 22:37 UTC by Jamie A Hankins
Modified: 2017-03-17 13:28 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jamie A Hankins 2017-03-16 22:37:47 UTC
Repro:
1. Set CATALINA_HOME to "C:\Program Files\Apache Software Foundation\apache-tomcat-8.5.12"
2. Set CATALINA_BASE to "C:\ProgramData\Tomcat"
3. Add file "C:\ProgramData\Tomcat\conf\Catalina\localhost\host-manager.xml" with following content:
<Context privileged="true" antiResourceLocking="false"
  docBase="${catalina.home}/webapps/host-manager">
</Context>
4. Start Tomcat and navigate to http://localhost:8080/host-manager

Tomcat hits the following exception:
>java.lang.NullPointerException
>    at org.apache.catalina.core.ApplicationMapping.getServletMapping(ApplicationMapping.java:62)
>    at org.apache.catalina.connector.Request.getServletMapping(Request.java:2210)
>    at org.apache.catalina.connector.RequestFacade.getServletMapping(RequestFacade.java:1127)
>    at org.apache.catalina.core.ApplicationHttpRequest.setRequest(ApplicationHttpRequest.java:710)
>    at org.apache.catalina.core.ApplicationHttpRequest.<init>(ApplicationHttpRequest.java:107)
>    at org.apache.catalina.core.ApplicationDispatcher.wrapRequest(ApplicationDispatcher.java:933)
>    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:357)
>    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
>    at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:395)
>    at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:254)
>    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:177)
>    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
>    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
>    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
>    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
>    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
>    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
>    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
>    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1441)
>    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>    at java.lang.Thread.run(Thread.java:745)

Here's the offending line, mappingData.pathInfo is null:
>mapping = new MappingImpl(mappingData.pathInfo.toString().substring(1),
>        mappingData.wrapperPath.toString() + "/*",
>        mappingData.matchType, servletName);
Comment 1 Mark Thomas 2017-03-17 13:28:07 UTC

*** This bug has been marked as a duplicate of bug 60882 ***