Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-47486

FactoryConfigurationError: Provider for class javax.xml.parsers.DocumentBuilderFactory cannot be created (was "Exceptions after running goals")

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      When I run something simple like:

       

      withMaven(
         maven: 'default maven'
       ) {
         sh "mvn clean clover:setup test clover:aggregate clover:clover"
       }
      

       

      My job actually completes, but follows up with exceptions:

       [Pipeline] }
       [Pipeline] End of Pipeline
       java.util.ServiceConfigurationError: javax.xml.parsers.DocumentBuilderFactory: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not a subtype
      	 at java.util.ServiceLoader.fail(ServiceLoader.java:239)
      	 at java.util.ServiceLoader.access$300(ServiceLoader.java:185)
      	 at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376)
      	 at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
      	 at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
      	 at javax.xml.parsers.FactoryFinder$1.run(FactoryFinder.java:294)
      	 at java.security.AccessController.doPrivileged(Native Method)
      	 at javax.xml.parsers.FactoryFinder.findServiceProvider(FactoryFinder.java:289)
       Caused: java.lang.RuntimeException: Provider for class javax.xml.parsers.DocumentBuilderFactory cannot be created
      	 at javax.xml.parsers.FactoryFinder.findServiceProvider(FactoryFinder.java:308)
       Caused: javax.xml.parsers.FactoryConfigurationError: Provider for class javax.xml.parsers.DocumentBuilderFactory cannot be created
      	 at javax.xml.parsers.FactoryFinder.findServiceProvider(FactoryFinder.java:311)
      	 at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:267)
      	 at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:120)
      	 at org.jenkinsci.plugins.pipeline.maven.MavenSpyLogProcessor.processMavenSpyLogs(MavenSpyLogProcessor.java:74)
      	 at org.jenkinsci.plugins.pipeline.maven.WithMavenStepExecution$WorkspaceCleanupCallback.finished(WithMavenStepExecution.java:876)
      	 at org.jenkinsci.plugins.workflow.steps.BodyExecutionCallback$TailCall.onSuccess(BodyExecutionCallback.java:114)
      	 at org.jenkinsci.plugins.workflow.cps.CpsBodyExecution$SuccessAdapter.receive(CpsBodyExecution.java:362)
      	 at com.cloudbees.groovy.cps.Outcome.resumeFrom(Outcome.java:73)
      	 at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:166)
      	 at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163)
      	 at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:122)
      	 at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:261)
      	 at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163)
      	 at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:19)
      	 at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:35)
      	 at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:32)
      	 at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108)
      	 at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:32)
      	 at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:174)
      	 at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:330)
      	 at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:82)
      	 at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:242)
      	 at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:230)
      	 at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64)
      	 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	 at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
      	 at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
      	 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      	 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      	 at java.lang.Thread.run(Thread.java:748)
       Finished: FAILURE
      

        Attachments

          Issue Links

            Activity

            Hide
            cleclerc Cyrille Le Clerc added a comment -

            >  Not sure how my plugin is impacting maven goals when the plugin step isn't even being called. xom is how xerces is being called, I don't explicitly require it.

            The withMaven plugin parses the xml file generated by the maven-event-spy it has injected in the environment. If the XML parsing API of the Jenkins master is broken by a plugins that injects an outdated xerces version then withMaven will have errors.

             

            > Not sure how my plugin is impacting maven goals when the plugin step isn't even being called. xom is how xerces is being called, I don't explicitly require it.

            Can you exclude the xerces dependency of your "registry_reporter" plugin? The JVM comes with a xerxes implementation under a shadowed package "com.sun.org.apache.xerces"

            .

            Show
            cleclerc Cyrille Le Clerc added a comment - >  Not sure how my plugin is impacting maven goals when the plugin step isn't even being called. xom is how xerces is being called, I don't explicitly require it. The withMaven plugin parses the xml file generated by the maven-event-spy it has injected in the environment. If the XML parsing API of the Jenkins master is broken by a plugins that injects an outdated xerces version then withMaven will have errors.   > Not sure how my plugin is impacting maven goals when the plugin step isn't even being called. xom is how xerces is being called, I don't explicitly require it. Can you exclude the xerces dependency of your "registry_reporter" plugin? The JVM comes with a xerxes implementation under a shadowed package "com.sun.org.apache.xerces" .
            Hide
            cleclerc Cyrille Le Clerc added a comment -
            Show
            cleclerc Cyrille Le Clerc added a comment - Dave Stein ping
            Hide
            davestein Dave Stein added a comment -

             

            Sorry, thought I replied to this. I am not explicitly requiring xerxes. It comes down through my dependency on xom package. Should I open a ticket with them and reference this one?

            Show
            davestein Dave Stein added a comment -   Sorry, thought I replied to this. I am not explicitly requiring xerxes. It comes down through my dependency on xom package. Should I open a ticket with them and reference this one?
            Hide
            cleclerc Cyrille Le Clerc added a comment -

            Dave Stein I would recommend you to tweak your pom.xml to exclude or bump the outdated dependencies. I would prefer to exclude:

            <dependency>
                <groupId>xom</groupId>
                <artifactId>xom</artifactId>
                <version>1.2.5</version>
                <exclusions>
                    <exclusion>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>xerces</groupId>
                        <artifactId>xercesImpl</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>xalan</groupId>
                        <artifactId>xalan</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            

            Reference: http://search.maven.org/remotecontent?filepath=xom/xom/1.2.5/xom-1.2.5.pom

            Show
            cleclerc Cyrille Le Clerc added a comment - Dave Stein I would recommend you to tweak your pom.xml to exclude or bump the outdated dependencies. I would prefer to exclude: either exclude the transitive dependency brought by "xom:xom": https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html#How_to_use_dependency_exclusions <dependency> <groupId> xom </groupId> <artifactId> xom </artifactId> <version> 1.2.5 </version> <exclusions> <exclusion> <groupId> xml-apis </groupId> <artifactId> xml-apis </artifactId> </exclusion> <exclusion> <groupId> xerces </groupId> <artifactId> xercesImpl </artifactId> </exclusion> <exclusion> <groupId> xalan </groupId> <artifactId> xalan </artifactId> </exclusion> </exclusions> </dependency> or bump xalan, xerces and xml-apis using Maven <dependencyManagement> in your pom.xml https://maven.apache.org/pom.html#Dependency_Version_Requirement_Specification#Dependency_Management Reference: http://search.maven.org/remotecontent?filepath=xom/xom/1.2.5/xom-1.2.5.pom
            Hide
            cleclerc Cyrille Le Clerc added a comment -

            Close as "not a defect" as the problem is not in the pipeline-maven-plugin but is in the other plugin that pulls an invalid version of XML libs and in jenkins-core that let plugins pollute/corrupt the entire JVM

            Show
            cleclerc Cyrille Le Clerc added a comment - Close as "not a defect" as the problem is not in the pipeline-maven-plugin but is in the other plugin that pulls an invalid version of XML libs and in jenkins-core that let plugins pollute/corrupt the entire JVM

              People

              • Assignee:
                cleclerc Cyrille Le Clerc
                Reporter:
                davestein Dave Stein
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: