Hi all,
I'm experiencing problems with a GetFeatureInfo request on THREDDS.
Here's the setup details:
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
THREDDS Version 4.2.10 - 20120417.2151
Tomcat 7
I'm getting a null pointer exception when I make a GetFeatureInfo request for
the CARS dataset, e.g.
http://thredds.aodn.org.au/thredds/wms/climatology/CARS/2009/silicate_cars2009.nc?LAYERS=mean&ELEVATION=0&TIME=2013-01-22T10%3A48%3A24Z&TRANSPARENT=true&STYLES=boxfill%2Frainbow&CRS=EPSG%3A4326&COLORSCALERANGE=-50%2C50&NUMCOLORBANDS=20&LOGSCALE=false&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetFeatureInfo&EXCEPTIONS=XML&FORMAT=image%2Fpng&BBOX=-180%2C-133.125%2C180%2C148.125&I=228&J=242&INFO_FORMAT=text%2Fxml&QUERY_LAYERS=mean&WIDTH=512&HEIGHT=400&url=http%3A%2F%2Fthredds.aodn.org.au%2Fthredds%2Fwms%2Fclimatology%2FCARS%2F2009%2Fsilicate_cars2009.nc&server=http%3A%2F%2Fthredds.aodn.org.au%2Fthredds%2Fwms%2Fclimatology%2FCARS%2F2009%2Fsilicate_cars2009.nc
I get the following exception in threddsServlet.log (with all *wms debugging
turned on)
2013-01-22T10:48:29.885 +1100 [ 4393322][ 92] ERROR -
thredds.server.wms.ThreddsWmsController - dispatchWmsRequest(): Exception:
java.lang.NullPointerException
at java.util.TreeMap.compare(TreeMap.java:1188)
at java.util.TreeMap.put(TreeMap.java:531)
at
uk.ac.rdg.resc.ncwms.controller.AbstractWmsController.getFeatureInfo(AbstractWmsController.java:616)
at
thredds.server.wms.ThreddsWmsController.dispatchWmsRequest(ThreddsWmsController.java:181)
at
uk.ac.rdg.resc.ncwms.controller.AbstractWmsController.handleRequestInternal(AbstractWmsController.java:195)
at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
thredds.servlet.filter.RequestQueryFilter.doFilter(RequestQueryFilter.java:122)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
thredds.servlet.filter.RequestPathFilter.doFilter(RequestPathFilter.java:105)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Interestingly…. If I downgrade the Java version to 1.6.0, it works fine. Has
anyone else seen this problem? I've searched the mailing list, but failed to
come up with anything useful. Only seems to be an issue with the CARS dataset,
and does work for, maybe one or two variables, but the majority is not working.
A fix for this would be great, but I can run Java 6 for now. The dataset can
be downloaded here:
http://thredds.aodn.org.au/thredds/catalog/climatology/CARS/catalog.html
I've tried something else too. If I run ncWMS-1.0, using Tomcat 7 and Java 7
(on laptop, running Mac OS X), GetFeatureInfo works properly!
I'm really stumped for ideas, so any suggestions would be a great help.
Cheers,
-Pauline.
--
Pauline Mak
Programmer
AODN Development Office
University of Tasmania
Private Bag 21
HOBART TAS 7001
Ph: (03) 6226 8586
Fax: (03) 6226 8575
pauline.mak@xxxxxxxxxxx