Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-6669

Classloader leak trigerred by DOMNormalizer#abort in xercesImpl-2.11.0.SP4

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: 10.0.0.Final
    • Fix Version/s: None
    • Component/s: XML Frameworks
    • Labels:
      None

      Description

      XERCESJ-1667 is a fix that was incorporated in the SVN trunk of the apache xerces project. Though it was never ported back in JBoss/Xerces github.

      In our case, the classloader leak is triggered by the OpenSAML library which depends on Xerces, but lets be honest, this could have been anything.

      15:08:11.554 [stderr] java.lang.RuntimeException.<init>(RuntimeException.java:51)
      15:08:11.555 [stderr] 	at org.apache.xerces.dom.DOMNormalizer.<clinit>(DOMNormalizer.java:155)
      15:08:11.555 [stderr] 	at org.apache.xml.serialize.DOMSerializerImpl.verify(DOMSerializerImpl.java:973)
      15:08:11.555 [stderr] 	at org.apache.xml.serialize.DOMSerializerImpl.prepareForSerialization(DOMSerializerImpl.java:910)
      15:08:11.555 [stderr] 	at org.apache.xml.serialize.DOMSerializerImpl.write(DOMSerializerImpl.java:692)
      15:08:11.555 [stderr] 	at org.opensaml.xml.util.XMLHelper.writeNode(XMLHelper.java:892)
      15:08:11.556 [stderr] 	at org.opensaml.xml.util.XMLHelper.writeNode(XMLHelper.java:872)
      15:08:11.556 [stderr] 	at org.opensaml.xml.util.XMLHelper.nodeToString(XMLHelper.java:834)
      15:08:11.556 [stderr] 	at org.opensaml.xml.XMLConfigurator.load(XMLConfigurator.java:159)
      15:08:11.556 [stderr] 	at org.opensaml.xml.XMLConfigurator.load(XMLConfigurator.java:143)
      15:08:11.556 [stderr] 	at org.opensaml.DefaultBootstrap.initializeXMLTooling(DefaultBootstrap.java:224)
      15:08:11.556 [stderr] 	at org.opensaml.DefaultBootstrap.initializeXMLTooling(DefaultBootstrap.java:207)
      15:08:11.557 [stderr] 	at org.opensaml.DefaultBootstrap.bootstrap(DefaultBootstrap.java:100)
      15:08:11.557 [stderr] 	at org.opensaml.PaosBootstrap.bootstrap(PaosBootstrap.java:27)
      15:08:11.557 [stderr] 	at org.springframework.security.saml.SAMLBootstrap.postProcessBeanFactory(SAMLBootstrap.java:42)
      15:08:11.557 [stderr] 	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:284)
      15:08:11.557 [stderr] 	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:181)
      15:08:11.557 [stderr] 	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:678)
      15:08:11.557 [stderr] 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:520)
      15:08:11.558 [stderr] 	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:444)
      15:08:11.558 [stderr] 	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:326)
      15:08:11.558 [stderr] 	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
      15:08:11.558 [stderr] 	at io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)
      15:08:11.558 [stderr] 	at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:198)
      15:08:11.558 [stderr] 	at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:100)
      15:08:11.558 [stderr] 	at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82)
      15:08:11.559 [stderr] 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      15:08:11.559 [stderr] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      15:08:11.559 [stderr] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      15:08:11.559 [stderr] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      15:08:11.559 [stderr] 	at java.lang.Thread.run(Thread.java:745)
      15:08:11.559 [stderr] 	at org.jboss.threads.JBossThread.run(JBossThread.java:320)
      

      For more information see:

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                jason.greene Jason Greene
                Reporter:
                matlach Mathieu Lachance
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: