https://bz.apache.org/bugzilla/show_bug.cgi?id=64005
Bug ID: 64005 Summary: NullPointerException in Tomcat 8.5.50 from java.util.zip.ZipFile.getEntry Product: Tomcat 8 Version: 8.5.50 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: vladimir.me...@gmail.com Target Milestone: ---- Hi, I'm running an application developed in a rather outdated version of Grails (2.2.4). The application still works fine with Tomcat 8.5.49, but breaks with 8.5.50. On startup, I get the following in catalina.out: 2019-12-16 16:07:47,147 [localhost-startStop-1] ERROR context.GrailsContextLoader - Error initializing the application: name java.lang.NullPointerException: name at java.util.zip.ZipFile.getEntry(ZipFile.java:307) at java.util.jar.JarFile.getEntry(JarFile.java:227) at java.util.jar.JarFile.getJarEntry(JarFile.java:210) at java.net.JarURLConnection.getJarEntry(JarURLConnection.java:249) at grails.spring.BeanBuilder.invokeBeanDefiningClosure(BeanBuilder.java:757) at grails.spring.BeanBuilder.beans(BeanBuilder.java:584) at grails.spring.BeanBuilder.invokeMethod(BeanBuilder.java:527) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622) at java.lang.Thread.run(Thread.java:748) 2019-12-16 16:07:47,148 [localhost-startStop-1] ERROR context.GrailsContextLoader - Error initializing Grails: name java.lang.NullPointerException: name at java.util.zip.ZipFile.getEntry(ZipFile.java:307) at java.util.jar.JarFile.getEntry(JarFile.java:227) at java.util.jar.JarFile.getJarEntry(JarFile.java:210) at java.net.JarURLConnection.getJarEntry(JarURLConnection.java:249) at grails.spring.BeanBuilder.invokeBeanDefiningClosure(BeanBuilder.java:757) at grails.spring.BeanBuilder.beans(BeanBuilder.java:584) at grails.spring.BeanBuilder.invokeMethod(BeanBuilder.java:527) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622) at java.lang.Thread.run(Thread.java:748) 16-Dec-2019 16:07:47.148 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file 16-Dec-2019 16:07:47.153 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [/federationregistry] startup failed due to previous errors I have checked the code in ZipFile.java: getEntry - and it has: public ZipEntry getEntry(String name) { if (name == null) { throw new NullPointerException("name"); } So I assume something in the classloader chain started passing null as the name to JarFile.getEntry (which delegates to ZipFile.getEntry). In the org.codehaus.groovy.grails.web.context.GrailsContextLoader, I could see the initialization starts with application = ctx.getBean(GrailsApplication.APPLICATION_ID, GrailsApplication.class); ... and than bails out with the messages I see (but the actual exception appears to happen in a worker thread) I so far haven't been able to trace what happens in-between. And I don't know if this is related to #63970 and/or other changes to CachedResource.java done recently... but linking it here in case it's relevant. Any help on this would be much appreciated - thanks a lot in advance. Cheers, Vlad -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org