Re: [thredds] THREDDS 5.6 WMS Servlet Error: NullPointerException on newSettings Field

  • To: Sean Arms <sarms@xxxxxxxx>
  • Subject: Re: [thredds] THREDDS 5.6 WMS Servlet Error: NullPointerException on newSettings Field
  • From: Ernie Joynt - NOAA Affiliate <ernie.joynt@xxxxxxxx>
  • Date: Wed, 9 Apr 2025 10:41:52 -0600
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

  • 2025 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the thredds archives: