[Geoserver-devel] [JIRA] (GEOS-9099) Geoserver fails to start on Linux when netcdf extension installed

Richard Duivenvoorde created an issue

GeoServer / BugGEOS-9099

Geoserver fails to start on Linux when netcdf extension installed

Issue Type:

BugBug

Affects Versions:

2.15-M0

Assignee:

Unassigned

Components:

NetCDF

Created:

14/Jan/19 9:30 PM

Priority:

MediumMedium

Reporter:

Richard Duivenvoorde

A fresh geoserver install + netcdf installation of 2.15-M0 in Debian Linux fails to start while the same config in 2.14.x works.

To reproduce:

  • $ java -version
    java version “1.8.0_191”
    Java™ SE Runtime Environment (build 1.8.0_191-b12)
    Java HotSpot™ 64-Bit Server VM (build 25.191-b12, mixed mode)
  • install geoserver 2.15-M0
  • install netcdf extension

run bin/startup.sh

Geoserver fails to start giving following messages:


$ ./startup.sh 
GEOSERVER_HOME environment variable not found, using current 
location.  If not set then running this script from other 
directories will not work in the future.
GEOSERVER DATA DIR is /home/richard/bin/geoserver_/geoserver-2.15-M0/bin/../data_dir
2019-01-14 21:21:26.751:INFO::main: Logging initialized @316ms to org.eclipse.jetty.util.log.StdErrLog
2019-01-14 21:21:26.883:WARN:oejx.XmlConfiguration:main: Property 'jetty.port' is deprecated, use 'jetty.http.port' instead
2019-01-14 21:21:26.883:WARN:oejx.XmlConfiguration:main: Property 'http.timeout' is deprecated, use 'jetty.http.idleTimeout' instead
2019-01-14 21:21:26.889:INFO:oejs.Server:main: jetty-9.4.12.v20180830; built: 2018-08-30T13:59:14.071Z; git: 27208684755d94a92186989f695db2d7b21ebc51; jvm 1.8.0_191-b12
2019-01-14 21:21:26.901:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///home/richard/bin/geoserver_/geoserver-2.15-M0/webapps/] at interval 1
2019-01-14 21:21:27.180:INFO:oejw.StandardDescriptorProcessor:main: NO JSP Support for /geoserver, did not find org.eclipse.jetty.jsp.JettyJspServlet
2019-01-14 21:21:27.481:INFO:oejs.session:main: DefaultSessionIdManager workerName=node0
2019-01-14 21:21:27.481:INFO:oejs.session:main: No SessionScavenger set, using defaults
2019-01-14 21:21:27.481:INFO:oejs.session:main: node0 Scavenging every 600000ms
Jan 14, 2019 9:21:27 PM org.geotools.imageio.netcdf.utilities.NetCDFUtilities <clinit>
INFO: Value of Check Coordinate Plugins:null
Jan 14, 2019 9:21:27 PM org.geotools.imageio.netcdf.utilities.NetCDFUtilities <clinit>
INFO: Should check for coordinate handler plugins:false
2019-01-14 21:21:27.859:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.w.WebAppContext@anonymised.com{GeoServer,/geoserver,file:///home/richard/bin/geoserver_/geoserver-2.15-M0/webapps/geoserver/,UNAVAILABLE}{/geoserver}
java.util.ServiceConfigurationError: javax.imageio.spi.ImageReaderSpi: Provider org.geotools.imageio.netcdf.NetCDFImageReaderSpi could not be instantiated
	at java.util.ServiceLoader.fail(ServiceLoader.java:232)
	at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
	at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
	at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
	at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
	at javax.imageio.spi.IIORegistry.registerApplicationClasspathSpis(IIORegistry.java:210)
	at javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:138)
	at javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:159)
	at javax.imageio.ImageIO.<clinit>(ImageIO.java:66)
	at org.geoserver.GeoserverInitStartupListener.contextInitialized(GeoserverInitStartupListener.java:201)
	at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:952)
	at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:558)
	at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:917)
	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:370)
	at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1497)
	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1459)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:847)
	at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:287)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:46)
	at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:192)
	at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:505)
	at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:151)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180)
	at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:432)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64)
	at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610)
	at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529)
	at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392)
	at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:579)
	at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:240)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)
	at org.eclipse.jetty.server.Server.start(Server.java:416)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
	at org.eclipse.jetty.server.Server.doStart(Server.java:383)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1572)
	at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1512)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1511)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.jetty.start.Main.invokeMain(Main.java:220)
	at org.eclipse.jetty.start.Main.start(Main.java:486)
	at org.eclipse.jetty.start.Main.main(Main.java:77)
Caused by: 
java.lang.NoClassDefFoundError: com/sun/jna/Library
	at org.geotools.imageio.netcdf.utilities.NetCDFUtilities.<clinit>(NetCDFUtilities.java:443)
	at org.geotools.imageio.netcdf.NetCDFImageReaderSpi.<clinit>(NetCDFImageReaderSpi.java:116)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.lang.Class.newInstance(Class.java:442)
	at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
	at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
	at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
	at javax.imageio.spi.IIORegistry.registerApplicationClasspathSpis(IIORegistry.java:210)
	at javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:138)
	at javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:159)
	at javax.imageio.ImageIO.<clinit>(ImageIO.java:66)
	at org.geoserver.GeoserverInitStartupListener.contextInitialized(GeoserverInitStartupListener.java:201)
	at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:952)
	at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:558)
	at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:917)
	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:370)
	at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1497)
	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1459)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:847)
	at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:287)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:46)
	at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:192)
	at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:505)
	at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:151)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180)
	at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:432)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64)
	at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610)
	at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529)
	at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392)
	at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:579)
	at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:240)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)
	at org.eclipse.jetty.server.Server.start(Server.java:416)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
	at org.eclipse.jetty.server.Server.doStart(Server.java:383)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1572)
	at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1512)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1511)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.jetty.start.Main.invokeMain(Main.java:220)
	at org.eclipse.jetty.start.Main.start(Main.java:486)
	at org.eclipse.jetty.start.Main.main(Main.java:77)
Caused by: 
java.lang.ClassNotFoundException: com.sun.jna.Library
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:565)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at org.geotools.imageio.netcdf.utilities.NetCDFUtilities.<clinit>(NetCDFUtilities.java:443)
	at org.geotools.imageio.netcdf.NetCDFImageReaderSpi.<clinit>(NetCDFImageReaderSpi.java:116)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.lang.Class.newInstance(Class.java:442)
	at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
	at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
	at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
	at javax.imageio.spi.IIORegistry.registerApplicationClasspathSpis(IIORegistry.java:210)
	at javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:138)
	at javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:159)
	at javax.imageio.ImageIO.<clinit>(ImageIO.java:66)
	at org.geoserver.GeoserverInitStartupListener.contextInitialized(GeoserverInitStartupListener.java:201)
	at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:952)
	at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:558)
	at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:917)
	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:370)
	at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1497)
	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1459)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:847)
	at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:287)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:46)
	at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:192)
	at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:505)
	at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:151)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180)
	at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:432)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64)
	at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610)
	at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529)
	at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392)
	at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:579)
	at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:240)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)
	at org.eclipse.jetty.server.Server.start(Server.java:416)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
	at org.eclipse.jetty.server.Server.doStart(Server.java:383)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1572)
	at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1512)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1511)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.jetty.start.Main.invokeMain(Main.java:220)
	at org.eclipse.jetty.start.Main.start(Main.java:486)
	at org.eclipse.jetty.start.Main.main(Main.java:77)
2019-01-14 21:21:27.873:INFO:oejs.AbstractConnector:main: Started ServerConnector@anonymised.com{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2019-01-14 21:21:27.873:INFO:oejs.Server:main: Started @1439ms

Add Comment

Add Comment

Get Jira notifications on your phone! Download the Jira Cloud app for Android or iOS


This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100097-sha1:20c71fe)

Atlassian logo