I'm encountering a problem that prevents the proper startup of Geonetwork Opensource. It always worked up to now but honestly, I don't remember any system change that might have caused that.
- Linux Debian 9.x
- Tomcat 8
- Oracle Java 8
I attach hereafter my geonetwork.log file (cutting away repeated lines).
25-Nov-2019 14:10:31.905 INFO [http-nio-8080-exec-3] org.apache.catalina.core.StandardContext.reload Reloading Context with name [/geonetwork] has started
25-Nov-2019 14:10:31.932 INFO [http-nio-8080-exec-3] org.apache.catalina.core.ApplicationContext.log Destroying Spring FrameworkServlet 'spring'
25-Nov-2019 14:10:32.242 WARNING [http-nio-8080-exec-3] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [geonetwork] registered the JDBC driver [org.h2.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
25-Nov-2019 14:10:32.246 WARNING [http-nio-8080-exec-3] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [geonetwork] appears to have started a thread named [Cached Search Session Expiry Thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Thread.sleep(Native Method)
org.jzkit.search.impl.LRUCache.run(LRUCache.java:82)
25-Nov-2019 14:10:32.247 WARNING [http-nio-8080-exec-3] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [geonetwork] appears to have started a thread named [scheduler_Worker-6] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Object.wait(Native Method)
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:552)
25-Nov-2019 14:10:32.248 WARNING [http-nio-8080-exec-3] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [geonetwork] appears to have started a thread named [gnBackgroundJobScheduler_Worker-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Object.wait(Native Method)
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:552)
25-Nov-2019 14:10:32.249 WARNING [http-nio-8080-exec-3] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [geonetwork] appears to have started a thread named [ElementEventQueue.QProcessor-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue.java:181)
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEventQueue.java:35)
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(ElementEventQueue.java:245)
25-Nov-2019 14:10:32.251 WARNING [http-nio-8080-exec-3] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [geonetwork] appears to have started a thread named [Cached Search Session Expiry Thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Thread.sleep(Native Method)
org.jzkit.search.impl.LRUCache.run(LRUCache.java:82)
25-Nov-2019 14:10:32.252 WARNING [http-nio-8080-exec-3] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [geonetwork] appears to have started a thread named [GT authority factory disposer] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Timer.java:552)
java.util.TimerThread.run(Timer.java:505)
25-Nov-2019 14:10:32.253 WARNING [http-nio-8080-exec-3] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [geonetwork] appears to have started a thread named [WeakCollectionCleaner] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:165)
org.geotools.util.WeakCollectionCleaner.run(WeakCollectionCleaner.java:77)
25-Nov-2019 14:10:32.254 SEVERE [http-nio-8080-exec-3] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [geonetwork] created a ThreadLocal with key of type [java.lang.InheritableThreadLocal] (value [java.lang.InheritableThreadLocal@5af9d5e9]) and a value of type [jeeves.server.context.ServiceContext] (value [jeeves.server.context.ServiceContext@70f7a402]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
[REPEATED SEVERAL TIMES]
25-Nov-2019 14:10:42.582 INFO [http-nio-8080-exec-3] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
25-Nov-2019 14:10:42.585 INFO [http-nio-8080-exec-3] org.apache.catalina.core.ApplicationContext.log No Spring WebApplicationInitializer types detected on classpath
25-Nov-2019 14:11:03.507 INFO [http-nio-8080-exec-3] org.apache.catalina.core.ApplicationContext.log jolokia-agent: Using policy access restrictor classpath:/jolokia-access.xml
2019-11-25 14:11:08,805 ERROR [jeeves.engine] - Raised exception while starting the application. Fix the error and restart.
2019-11-25 14:11:08,805 ERROR [jeeves.engine] - Handler : org.fao.geonet.Geonetwork
2019-11-25 14:11:08,805 ERROR [jeeves.engine] - Exception : java.lang.NullPointerException
2019-11-25 14:11:08,806 ERROR [jeeves.engine] - Message : null
2019-11-25 14:11:08,806 ERROR [jeeves.engine] - Stack : java.lang.NullPointerException
at org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.buildData(SpatialIndexWriter.java:559)
at org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.insertFeatureInIndex(SpatialIndexWriter.java:550)
at org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.populateIndex(SpatialIndexWriter.java:423)
at org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.getIndex(SpatialIndexWriter.java:382)
at org.fao.geonet.kernel.search.SearchManager$Spatial.<init>(SearchManager.java:1605)
at org.fao.geonet.kernel.search.SearchManager.initNonStaticData(SearchManager.java:508)
at org.fao.geonet.kernel.search.SearchManager.init(SearchManager.java:489)
at org.fao.geonet.Geonetwork.start(Geonetwork.java:282)
at jeeves.server.JeevesEngine.initAppHandler(JeevesEngine.java:447)
at jeeves.server.JeevesEngine.init(JeevesEngine.java:190)
at jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:80)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1146)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1093)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:985)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5249)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3800)
at org.apache.catalina.manager.ManagerServlet.reload(ManagerServlet.java:1006)
at org.apache.catalina.manager.HTMLManagerServlet.reload(HTMLManagerServlet.java:610)
at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:136)
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.filters.CorsFilter.handleNonCORS(CorsFilter.java:423)
at org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:169)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
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:587)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1458)
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)
}
25-Nov-2019 14:11:08.835 INFO [http-nio-8080-exec-3] org.apache.catalina.core.ApplicationContext.log Initializing Spring FrameworkServlet 'spring'
25-Nov-2019 14:11:12.086 INFO [http-nio-8080-exec-3] org.apache.catalina.core.StandardContext.reload Reloading Context with name [/geonetwork] is completed
2019-11-25 14:12:00,125 ERROR [jeeves.service] - Exception executing gui service : java.lang.NullPointerException
2019-11-25 14:12:00,128 ERROR [jeeves.service] - (C) Stack trace is :
java.lang.NullPointerException
at org.fao.geonet.guiservices.util.Env.exec(Env.java:59)
[...]
2019-11-25 14:12:00,129 ERROR [jeeves.service] - Exception executing gui service : java.lang.NullPointerException
2019-11-25 14:12:00,130 ERROR [jeeves.service] - (C) Stack trace is :
java.lang.NullPointerException
at org.fao.geonet.services.config.Get.exec(Get.java:60)
at jeeves.server.dispatchers.guiservices.Call.exec(Call.java:80)
[...]
2019-11-25 14:12:00,130 ERROR [jeeves.service] - Exception executing gui service : java.lang.NullPointerException
2019-11-25 14:12:00,131 ERROR [jeeves.service] - (C) Stack trace is :
java.lang.NullPointerException
at org.fao.geonet.guiservices.schemas.Get.exec(Get.java:56)
at jeeves.server.dispatchers.guiservices.Call.exec(Call.java:80)
[...]
2019-11-25 14:12:00,131 ERROR [jeeves.service] - Exception executing gui service : java.lang.NullPointerException
2019-11-25 14:12:00,131 ERROR [jeeves.service] - (C) Stack trace is :
java.lang.NullPointerException
at org.fao.geonet.guiservices.util.GetSvnDetails.exec(GetSvnDetails.java:61)
at jeeves.server.dispatchers.guiservices.Call.exec(Call.java:80)
[...]
2019-11-25 14:12:00,132 ERROR [jeeves.service] - Exception executing gui service : java.lang.NullPointerException
2019-11-25 14:12:00,132 ERROR [jeeves.service] - (C) Stack trace is :
java.lang.NullPointerException
at org.fao.geonet.guiservices.schemas.GetSchemaInfo.exec(GetSchemaInfo.java:54)
at jeeves.server.dispatchers.guiservices.Call.exec(Call.java:80)
[...]