Hi, I use a Debian Squeeze distro, with official Tomcat releases. Recently I update to Tomcat 6.0.41 and a (not modified) application stopped to load.
I dig and found that on Tomcat 6.0.40 the context attribute "xmlBlockExternal" was changed default value from false to true, then I modified this attribute in context.xml. Now, the application do not work, with the exception: ------------------------ java.lang.IllegalStateException: Illegal class loader binding at org.apache.naming.resources.DirContextURLStreamHandler.get(DirContextURLStreamHandler.java:223) at org.apache.naming.resources.DirContextURLStreamHandler.openConnection(DirContextURLStreamHandler.java:88) at java.net.URL.openConnection(URL.java:945) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:651) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1315) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1252) at com.sun.org.apache.xerces.internal.impl. *XMLDocumentFragmentScannerImpl.scanEntityReference* (XMLDocumentFragmentScannerImpl.java:1906) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3032) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284) at org.apache.jasper.xmlparser.ParserUtils.parseXMLDocument(ParserUtils.java:146) at org.apache.jasper.compiler.JspConfig.processWebDotXml(JspConfig.java:103) at org.apache.jasper.compiler.JspConfig.init(JspConfig.java:238) at org.apache.jasper.compiler.JspConfig.findJspProperty(JspConfig.java:294) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:112) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at com.googlecode.psiprobe.Tomcat60AgentValve.invoke(Tomcat60AgentValve.java:30) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662) ---------------------- This stacktrace leads me to "fragment scanner" that is exactly what broke my app on first place. What I use is a xml injection in web.xml as follow: <!DOCTYPE root [ <!ENTITY certisign SYSTEM "certisign_sdk.xml">]> and: &certisign; So, I tested to remove this reference and place the fragment inside web.xml and this solved the exception and the application back to work. I searched more infos but none so far. So my questions: 1. What additional modification on Tomcat could be the reason to a working config stops to work? 2. There is any other context attribute (that I miss) to be defined that will solve this problem? 3. Do you have any other clues to help me? Thanks!!!