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

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Critical
    • None
    • 10.0.0.Final
    • XML Frameworks
    • 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:

      Attachments

        Activity

          People

            jgreene@redhat.com Jason Greene
            mathieu@mathieulachance.com Mathieu Lachance (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: