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

FindBugs plugin could use an XMLCatalogResolver to avoid 503 error when referencing a DTD

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Minor Minor
    • findbugs-plugin
    • None

      What I was doing: Using the findbugs plugin to display the contents of findbugs.xml as generated by our project.

      What I expected to happen: It should parse findbugs.xml just fine, and display it and appear beautiful and horrifying at the same time, because of all the findbugs bugs in our code. Ideally, the findbugs plugin would configure xerces to use an XMLCatalogResolver to use a local copy of the dtd referenced in the findbugs.xml. More can be found at http://blog.sweetxml.org/2009/08/resolving-xhtml1-dtd-locally-avoiding.html Since this DTD is static, we could probably install it locally with the plugin.

      What happened instead: It failed with an exception because the www.w3.org is starting to return 503's due to massive traffic.

      [FINDBUGS] Parsing of file D:\hudson_home\jobs\trunk_quality\workspace\di.main\findbugs\findbugs.xml failed due to an exception:

      java.io.IOException: Server returned HTTP response code: 503 for URL: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
      at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
      at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(Unknown Source)
      at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(Unknown Source)
      at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(Unknown Source)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(Unknown Source)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
      at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
      at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
      at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
      at org.apache.commons.digester.Digester.parse(Digester.java:1666)
      at hudson.plugins.findbugs.parser.NativeFindBugsParser.createHashToMessageMapping(NativeFindBugsParser.java:100)
      at hudson.plugins.findbugs.parser.NativeFindBugsParser.parse(NativeFindBugsParser.java:68)
      at hudson.plugins.findbugs.parser.FindBugsParser.parse(FindBugsParser.java:74)
      at hudson.plugins.analysis.core.FilesParser.parseFile(FilesParser.java:152)
      at hudson.plugins.analysis.core.FilesParser.parseFiles(FilesParser.java:131)
      at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:87)
      at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:28)
      at hudson.FilePath.act(FilePath.java:756)
      at hudson.FilePath.act(FilePath.java:738)
      at hudson.plugins.findbugs.FindBugsPublisher.perform(FindBugsPublisher.java:105)
      at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:207)
      at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:27)
      at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:600)
      at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:580)
      at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:558)
      at hudson.model.Build$RunnerImpl.post2(Build.java:158)
      at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:528)
      at hudson.model.Run.run(Run.java:1264)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:122)

      If I can give you more info, let me know.
      I tried adding this to "plugins" project but could not because "components" was required but not populated or editable.

            drulli Ulli Hafner
            csuehsdi csuehsdi
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: