Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
Beta-1
-
None
-
None
Description
Bruno Aranda has reported following
java.lang.NullPointerException
at
org.apache.myfaces.scripting.servlet.CustomChainLoader.setupScriptingPaths(CustomChainLoader.java:76)
at
org.apache.myfaces.scripting.servlet.CustomChainLoader.<init>(CustomChainLoader.java:63)
at
org.apache.myfaces.scripting.servlet.StartupServletContextPluginChainLoader.initChainLoader(StartupServletContextPluginChainLoader.java:116)
A further investigation on the codebase revealed that following happens
aka in reality it does following
String contextRoot = servletContext.getRealPath("/WEB-INF/groovy");
>>> contextRoot = contextRoot.trim();
The problem is that the code did not expect a null since it checks for a
standard /WEB-INF/java and /WEB-INF/groovy.
Now, a quick test under jetty 6 reveals that this never nulls, even if the directories do not exist, jetty 7s behavior seems to be worse in this regard, although this is a bug on jettys side, a bypass and a warning is needed so that the NPE does not occur anymore even if the paths cannot be resolved.