From tomcat log
9-Apr-2025 15:12:20.094 SEVERE [ajp-nio-140.172.190.31-8009-exec-17]
org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for
servlet [wms] in context with path [/thredds##5.6] threw exception
java.io.IOException: java.lang.NullPointerException: Cannot read field
"allowFeatureInfo" because "newSettings" is null
at uk.ac.rdg.resc.edal.wms.WmsServlet.doGet(WmsServlet.java:338)
at
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
at
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at
org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365)
at
thredds.servlet.filter.RequestBracketingLogMessageFilter.doFilter(RequestBracketingLogMessageFilter.java:50)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
at
thredds.servlet.filter.RequestQueryFilter.doFilter(RequestQueryFilter.java:90)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
at
thredds.servlet.filter.HttpHeadFilter.doFilter(HttpHeadFilter.java:47)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)
at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at
org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:70)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:663)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
at
org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:431)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
at
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.NullPointerException: Cannot read field
"allowFeatureInfo" because "newSettings" is null
at
thredds.server.wms.config.LayerSettings.replaceNullValues(LayerSettings.java:215)
at
thredds.server.wms.config.WmsDetailedConfig.getSettings(WmsDetailedConfig.java:200)
at
thredds.server.wms.TdsEnhancedVariableMetadata.<init>(TdsEnhancedVariableMetadata.java:45)
at
thredds.server.wms.ThreddsWmsCatalogue.getLayerMetadata(ThreddsWmsCatalogue.java:423)
at
uk.ac.rdg.resc.edal.wms.util.WmsUtils.getLayerMetadata(WmsUtils.java:285)
at
uk.ac.rdg.resc.edal.wms.GetMapStyleParams.<init>(GetMapStyleParams.java:182)
at
uk.ac.rdg.resc.edal.wms.GetMapParameters.<init>(GetMapParameters.java:97)
at
uk.ac.rdg.resc.edal.wms.WmsServlet.getMap(WmsServlet.java:410)
at
uk.ac.rdg.resc.edal.wms.WmsServlet.dispatchWmsRequest(WmsServlet.java:365)
at
thredds.server.wms.ThreddsWmsServlet.dispatchWmsRequest(ThreddsWmsServlet.java:127)
at uk.ac.rdg.resc.edal.wms.WmsServlet.doGet(WmsServlet.java:300)
... 41 more
From threddsServlet.2025-04-09-15.log
2025-04-09T15:12:20.094 +0000 [ 97647680][ 35059] INFO - threddsServlet -
Remote host: 205.193.114.245 - Request: "GET
/thredds/wms/regional/british_columbia_3_msl_2013.nc?LAYERS=Band1&ELEVATION=0&TIME=2022-08-05T13%3A22%3A27Z&TRANSPARENT=true&STYLES=boxfill%2Frainbow&COLORSCALERANGE=-500%2C0&NUMCOLORBANDS=20&LOGSCALE=false&SERVICE=WMS&VERSION=1.1&service=WMS&request=GetMap&layers=Band1&styles=&format=image%2Fpng&transparent=true&version=1.3.0&width=256&height=256&crs=EPSG%3A3857&bbox=-14010601.536559667,6261721.357121641,-13971465.778077658,6300857.115603653
HTTP/1.1"
2025-04-09T15:12:20.094 +0000 [ 97647680][ 35059] ERROR -
uk.ac.rdg.resc.edal.wms.WmsServlet - Problem with GET request
java.lang.NullPointerException: Cannot read field "allowFeatureInfo" because
"newSettings" is null
at
thredds.server.wms.config.LayerSettings.replaceNullValues(LayerSettings.java:215)
~[classes/:5.6]
at
thredds.server.wms.config.WmsDetailedConfig.getSettings(WmsDetailedConfig.java:200)
~[classes/:5.6]
at
thredds.server.wms.TdsEnhancedVariableMetadata.<init>(TdsEnhancedVariableMetadata.java:45)
~[classes/:5.6]
at
thredds.server.wms.ThreddsWmsCatalogue.getLayerMetadata(ThreddsWmsCatalogue.java:423)
~[classes/:5.6]
at
uk.ac.rdg.resc.edal.wms.util.WmsUtils.getLayerMetadata(WmsUtils.java:285)
~[edal-wms-1.5.3.0.jar:?]
at
uk.ac.rdg.resc.edal.wms.GetMapStyleParams.<init>(GetMapStyleParams.java:182)
~[edal-wms-1.5.3.0.jar:?]
at
uk.ac.rdg.resc.edal.wms.GetMapParameters.<init>(GetMapParameters.java:97)
~[edal-wms-1.5.3.0.jar:?]
at uk.ac.rdg.resc.edal.wms.WmsServlet.getMap(WmsServlet.java:410)
~[edal-wms-1.5.3.0.jar:?]
at
uk.ac.rdg.resc.edal.wms.WmsServlet.dispatchWmsRequest(WmsServlet.java:365)
~[edal-wms-1.5.3.0.jar:?]
at
thredds.server.wms.ThreddsWmsServlet.dispatchWmsRequest(ThreddsWmsServlet.java:127)
~[classes/:5.6]
at uk.ac.rdg.resc.edal.wms.WmsServlet.doGet(WmsServlet.java:300)
~[edal-wms-1.5.3.0.jar:?]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
~[servlet-api.jar:6.0]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
~[servlet-api.jar:6.0]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
~[catalina.jar:10.1.34]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.34]
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
~[tomcat-websocket.jar:10.1.34]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.34]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.34]
at
org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231)
~[spring-security-web-6.3.4.jar:6.3.4]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365)
[spring-security-web-6.3.4.jar:6.3.4]
at
thredds.servlet.filter.RequestBracketingLogMessageFilter.doFilter(RequestBracketingLogMessageFilter.java:50)
[classes/:5.6]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
[spring-security-web-6.3.4.jar:6.3.4]
at
thredds.servlet.filter.RequestQueryFilter.doFilter(RequestQueryFilter.java:90)
[classes/:5.6]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
[spring-security-web-6.3.4.jar:6.3.4]
at
thredds.servlet.filter.HttpHeadFilter.doFilter(HttpHeadFilter.java:47)
[classes/:5.6]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
[spring-security-web-6.3.4.jar:6.3.4]
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)
[spring-security-web-6.3.4.jar:6.3.4]
at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
[spring-security-web-6.3.4.jar:6.3.4]
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)
[spring-web-6.1.14.jar:6.1.14]
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)
[spring-web-6.1.14.jar:6.1.14]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
[catalina.jar:10.1.34]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
[catalina.jar:10.1.34]
at
org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:70)
[log4j-jakarta-web-2.23.1.jar:2.23.1]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
[catalina.jar:10.1.34]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
[catalina.jar:10.1.34]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
[catalina.jar:10.1.34]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
[catalina.jar:10.1.34]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
[catalina.jar:10.1.34]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
[catalina.jar:10.1.34]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
[catalina.jar:10.1.34]
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:663)
[catalina.jar:10.1.34]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
[catalina.jar:10.1.34]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
[catalina.jar:10.1.34]
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:431)
[tomcat-coyote.jar:10.1.34]
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
[tomcat-coyote.jar:10.1.34]
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)
[tomcat-coyote.jar:10.1.34]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
[tomcat-coyote.jar:10.1.34]
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
[tomcat-coyote.jar:10.1.34]
at
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
[tomcat-util.jar:10.1.34]
at
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
[tomcat-util.jar:10.1.34]
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
[tomcat-util.jar:10.1.34]
at java.lang.Thread.run(Thread.java:840) [?:?]
> On Apr 9, 2025, at 10:24 AM, Sean Arms <sarms@xxxxxxxx> wrote:
>
> Greetings Evan!
>
> This is the first time I've seen this particular error, but I see at least
> one spot in the code that might end up with a null value for the newSettings
> object. Do you see any errors in the TDS logs with more details
> (threddsServlet logs), perhaps with a stacktrace? Could I also get a copy of
> your wmsConfig.xml file (${tds.content.root.path}/thredds/wmsConfig.xml)?
>
> Cheers!
>
> Sean
>
>
> On Wed, Apr 9, 2025 at 9:33 AM Evan Magri - NOAA Affiliate
> <evan.magri@xxxxxxxx <mailto:evan.magri@xxxxxxxx>> wrote:
>> Good morning,
>>
>> I'm encountering a persistent error in our THREDDS 5.6 deployment. The
>> servlet is throwing a NullPointerException, and the WMS functionality is not
>> working as expected.
>>
>> Here's the relevant error from the Tomcat logs:
>> 03-Apr-2025 16:34:19.346 SEVERE [ajp-nio-140.172.190.31-8009-exec-22]
>> org.apache.catalina.core.StandardWrapperValve.invoke
>> Servlet.service() for servlet [wms] in context with path [/thredds##5.6]
>> threw exception
>> java.io.IOException: java.lang.NullPointerException: Cannot read field
>> "allowFeatureInfo" because "newSettings" is null
>>
>> Could you please provide guidance on what might be causing the newSettings
>> object to be null in this case?
>>
>> Thank you for your help, and please let me know if you need additional
>> configuration details or logs.
>>
>> Regards,
>>
>> Evan Magri, IT/Computer Specialist II, Systems Administrator
>> Contractor - Team Alpha Omega for NCEI Data Stewardship
>> NOAA's National Centers for Environmental Information (NCEI)
>> NCEI Data Stewardship Division/Data Access Branch
>> 151 Patton Avenue, Asheville, NC 28801 (E/NE54)
>> E-mail: evan.magri@xxxxxxxx <mailto:evan.magri@xxxxxxxx>
>> Google Voice: (828) 271-4019
>> _______________________________________________
>> NOTE: All exchanges posted to Unidata maintained email lists are
>> recorded in the Unidata inquiry tracking system and made publicly
>> available through the web. Users who post to any of the lists we
>> maintain are reminded to remove any personal information that they
>> do not want to be made public.
>>
>>
>> thredds mailing list
>> thredds@xxxxxxxxxxxxxxxx <mailto:thredds@xxxxxxxxxxxxxxxx>
>> For list information or to unsubscribe, visit:
>> https://www.unidata.ucar.edu/mailing_lists/
----
Ernest H. Joynt, III
System Administrator
Contractor – Team Alpha Omega
NOAA's National Centers for Environmental Information (NCEI)
NCEI Mission Support Division / IT Operations Branch
325 Broadway E/NE71
Boulder, CO 80305
E: ernie.joynt@xxxxxxxx
V: 720.446.9152