Reading-eScience-Centre / ncwms

ncWMS - A Web Map Service for displaying environmental data over the web
Other
63 stars 30 forks source link

NullPointerException when reading unstructured data, latest version (2.4.2) #56

Closed john-jinghai-ma closed 2 years ago

john-jinghai-ma commented 4 years ago

Tested in Tomcat 8.5.56. Older version ncWMS2.2.9 does not have this issue when tested on same data. Not sure how to upload the sample data from Suntans output.

10-Jun-2020 11:36:03.250 SEVERE [http-nio-8080-exec-10] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [NcwmsServlet] in context with path [/ncWMS2.4.2] threw exception
    java.io.IOException: java.lang.NullPointerException
        at uk.ac.rdg.resc.edal.wms.WmsServlet.doGet(WmsServlet.java:341)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:168)
        at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:233)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1627)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.NullPointerException
        at uk.ac.rdg.resc.edal.dataset.HorizontalMesh4dDataset.extractHorizontalData(HorizontalMesh4dDataset.java:120)
        at uk.ac.rdg.resc.edal.dataset.HorizontalMesh4dDataset.extractHorizontalData(HorizontalMesh4dDataset.java:72)
        at uk.ac.rdg.resc.edal.dataset.DiscreteLayeredDataset.readUnderlyingHorizontalData(DiscreteLayeredDataset.java:100)
        at uk.ac.rdg.resc.edal.dataset.HorizontallyDiscreteDataset.readHorizontalData(HorizontallyDiscreteDataset.java:273)
        at uk.ac.rdg.resc.edal.dataset.HorizontallyDiscreteDataset.extractMapFeatures(HorizontallyDiscreteDataset.java:177)
        at uk.ac.rdg.resc.edal.graphics.utils.GraphicsUtils.extractGeneralMapFeatures(GraphicsUtils.java:122)
        at uk.ac.rdg.resc.edal.catalogue.DataCatalogue.doExtraction(DataCatalogue.java:503)
        at uk.ac.rdg.resc.edal.catalogue.DataCatalogue.getFeaturesForLayer(DataCatalogue.java:495)
        at uk.ac.rdg.resc.edal.graphics.style.GriddedImageLayer$MapFeatureDataReader.extractFeature(GriddedImageLayer.java:86)
        at uk.ac.rdg.resc.edal.graphics.style.GriddedImageLayer$MapFeatureDataReader.getFeature(GriddedImageLayer.java:77)
        at uk.ac.rdg.resc.edal.graphics.style.GriddedImageLayer$MapFeatureDataReader.getDataForLayerName(GriddedImageLayer.java:131)
        at uk.ac.rdg.resc.edal.graphics.style.RasterLayer.drawIntoImage(RasterLayer.java:73)
        at uk.ac.rdg.resc.edal.graphics.style.GriddedImageLayer.drawIntoImage(GriddedImageLayer.java:180)
        at uk.ac.rdg.resc.edal.graphics.style.ImageLayer.drawImage(ImageLayer.java:51)
        at uk.ac.rdg.resc.edal.graphics.style.MapImage.drawImage(MapImage.java:69)
        at uk.ac.rdg.resc.edal.wms.WmsServlet.getMap(WmsServlet.java:536)
        at uk.ac.rdg.resc.edal.wms.WmsServlet.dispatchWmsRequest(WmsServlet.java:368)
        at uk.ac.rdg.resc.edal.ncwms.NcwmsServlet.dispatchWmsRequest(NcwmsServlet.java:212)
        at uk.ac.rdg.resc.edal.wms.WmsServlet.doGet(WmsServlet.java:303)
        ... 28 more
guygriffiths commented 4 years ago

Thanks for reporting this, I've just fixed it in the develop branch, so it'll be in the next release

Abouzeid commented 4 years ago

@guygriffiths, do you have any tentative date for the next release?

guygriffiths commented 4 years ago

Not at the moment, no, it depends how much other work I have on.

guygriffiths commented 4 years ago

Fix released https://github.com/Reading-eScience-Centre/ncwms/releases/tag/ncwms-2.5.0

john-jinghai-ma commented 4 years ago

Fixed in 2.5.0, but the new version throws NPE on structured data, #72.