Hello,
with update of Tomcat to version 8.5.49 we observed issue in our application when accessing login page. Application log contains StackOverflowError. There is recursive call of CompositionHandler.apply() method. It seems that issue is connected with resource caching because when I set resources attribute cachingAllowed="false" in application xml, issue disapears. Could it be caused by fix of Bug 63872? Application was working with previous 8.5.* tomcat versions without issues. Application uses javax.faces library version 2.2.17 -- LOG snippet Caused by: java.lang.StackOverflowError at java.net.URL.<init>(Unknown Source) at java.net.URL.<init>(Unknown Source) at sun.misc.URLClassPath$FileLoader.getResource(Unknown Source) at sun.misc.URLClassPath$FileLoader.findResource(Unknown Source) at sun.misc.URLClassPath$1.next(Unknown Source) at sun.misc.URLClassPath$1.hasMoreElements(Unknown Source) at java.net.URLClassLoader$3$1.run(Unknown Source) at java.net.URLClassLoader$3$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader$3.next(Unknown Source) at java.net.URLClassLoader$3.hasMoreElements(Unknown Source) at sun.misc.CompoundEnumeration.next(Unknown Source) at sun.misc.CompoundEnumeration.hasMoreElements(Unknown Source) at org.apache.catalina.loader.WebappClassLoaderBase$CombinedEnumeration.inc (WebappClassLoaderBase.java:2691) at org.apache.catalina.loader.WebappClassLoaderBase$CombinedEnumeration. hasMoreElements(WebappClassLoaderBase.java:2676) at java.util.ServiceLoader$LazyIterator.hasNextService(Unknown Source) at java.util.ServiceLoader$LazyIterator.hasNext(Unknown Source) at java.util.ServiceLoader$1.hasNext(Unknown Source) at javax.xml.parsers.FactoryFinder$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at javax.xml.parsers.FactoryFinder.findServiceProvider(Unknown Source) at javax.xml.parsers.FactoryFinder.find(Unknown Source) at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source) at com.sun.faces.util.Util.createSAXParserFactory(Util.java:297) at com.sun.faces.facelets.compiler.SAXCompiler.createSAXParser(SAXCompiler. java:527) at com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java: 463) at com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java: 440) at com.sun.faces.facelets.compiler.Compiler.compile(Compiler.java:124) at com.sun.faces.facelets.impl.DefaultFaceletFactory.createFacelet (DefaultFaceletFactory.java:481) at com.sun.faces.facelets.impl.DefaultFaceletFactory.access$100 (DefaultFaceletFactory.java:106) at com.sun.faces.facelets.impl.DefaultFaceletFactory$1.newInstance (DefaultFaceletFactory.java:199) at com.sun.faces.facelets.impl.DefaultFaceletFactory$1.newInstance (DefaultFaceletFactory.java:197) at com.sun.faces.facelets.impl.DefaultFaceletCache$1.newInstance (DefaultFaceletCache.java:86) at com.sun.faces.facelets.impl.DefaultFaceletCache$1.newInstance (DefaultFaceletCache.java:81) at com.sun.faces.util.ExpiringConcurrentCache$1.call (ExpiringConcurrentCache.java:99) at java.util.concurrent.FutureTask.run(Unknown Source) at com.sun.faces.util.ExpiringConcurrentCache.get(ExpiringConcurrentCache. java:114) at com.sun.faces.facelets.impl.DefaultFaceletCache.getFacelet (DefaultFaceletCache.java:124) at com.sun.faces.facelets.impl.DefaultFaceletCache.getFacelet (DefaultFaceletCache.java:63) at com.sun.faces.facelets.impl.DefaultFaceletFactory.getFacelet (DefaultFaceletFactory.java:295) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java: 370) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java: 350) at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet (DefaultFaceletContext.java:199) at com.sun.faces.facelets.tag.ui.CompositionHandler.apply (CompositionHandler.java:174) at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler. java:93) at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler. java:87) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java: 312) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java: 371) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java: 350) at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet (DefaultFaceletContext.java:199) at com.sun.faces.facelets.tag.ui.CompositionHandler.apply (CompositionHandler.java:174) at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler. java:93) at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler. java:87) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java: 312) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java: 371) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java: 350) at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet (DefaultFaceletContext.java:199) Kind Regards, Jan Atos