Issue Type: Bug Bug
Affects Versions: 2.5.2
Assignee: Garvin LeClaire
Attachments: artifact.zip, findbugs-tccl.patch
Created: 06/May/13 7:14 AM
Description:

First reported by a Sonatype customer, and researched and patched by Benjamin Bentmann of Sonatype - the findbugs-maven-plugin can cause the following error when both the build and site lifecycles are executed in the same build execution using maven 2.2.1.

It seems findbugs loses the correct classloader from which to load it's classes from.

This occurs when executing a site report using the "findbugs:findbugs" goal in the same build execution as when the "findbugs:check" goal executes as part of the regular build lifecycle.

For example: mvn clean install site

...where verify phase triggers the check goal and site builds the findbugs report.

One workaround is to split to two mvn invocations, one for the "verify" phase and another for the "site" phase, might work around the issue. However this is a poor solution as it does not workaround the case where deploy is executed by the release plugin using the standard mvn release:prepare release:perform.

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error during page generation

Embedded error: Error rendering Maven report: error while invoking generate
org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
[INFO] ------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Error during page generation
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
	at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error during page generation
	at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:143)
	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
	... 17 more
Caused by: org.apache.maven.doxia.siterenderer.RendererException: Error rendering Maven report: error while invoking generate
	at org.apache.maven.plugins.site.ReportDocumentRenderer.renderDocument(ReportDocumentRenderer.java:233)
	at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(DefaultSiteRenderer.java:317)
	at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(DefaultSiteRenderer.java:134)
	at org.apache.maven.plugins.site.SiteMojo.renderLocale(SiteMojo.java:175)
	at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:138)
	... 19 more
Caused by: org.apache.maven.reporting.MavenReportException: error while invoking generate
	at org.apache.maven.plugins.site.ReportDocumentRenderer.generateMultiPage(ReportDocumentRenderer.java:324)
	at org.apache.maven.plugins.site.ReportDocumentRenderer.renderDocument(ReportDocumentRenderer.java:221)
	... 23 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.maven.plugins.site.ReportDocumentRenderer.generateMultiPage(ReportDocumentRenderer.java:302)
	... 24 more
Caused by: java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
	at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
	at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.<init>(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserImpl.<init>(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source)
	at org.apache.tools.ant.util.JAXPUtils.newSAXParser(JAXPUtils.java:215)
	at org.apache.tools.ant.util.JAXPUtils.getNamespaceXMLReader(JAXPUtils.java:172)
	at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:273)
	at org.apache.tools.ant.helper.ProjectHelper2.parseUnknownElement(ProjectHelper2.java:131)
	at org.apache.tools.ant.helper.ProjectHelper2.parseAntlibDescriptor(ProjectHelper2.java:111)
	at org.apache.tools.ant.taskdefs.Antlib.createAntlib(Antlib.java:91)
	at org.apache.tools.ant.taskdefs.Definer.loadAntlib(Definer.java:440)
	at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:292)
	at org.apache.tools.ant.ComponentHelper.checkNamespace(ComponentHelper.java:869)
	at org.apache.tools.ant.ComponentHelper.getDefinition(ComponentHelper.java:308)
	at org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:285)
	at org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:264)
	at org.apache.tools.ant.UnknownElement.makeObject(UnknownElement.java:417)
	at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:163)
	at groovy.util.AntBuilder.nodeCompleted(AntBuilder.java:181)
	at groovy.util.BuilderSupport.doInvokeMethod(BuilderSupport.java:147)
	at groovy.util.AntBuilder.doInvokeMethod(AntBuilder.java:149)
	at groovy.util.BuilderSupport.invokeMethod(BuilderSupport.java:64)
	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:756)
	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:730)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
	at org.codehaus.mojo.findbugs.FindBugsMojo.executeFindbugs(FindBugsMojo.groovy:1004)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
	at org.codehaus.mojo.findbugs.FindBugsMojo.executeReport(FindBugsMojo.groovy:640)
	at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:190)
	... 29 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5 minutes 
[INFO] Finished at: Wed Mar 27 11:10:50 EDT 2013
[INFO] Final Memory: 112M/464M
[INFO] ------------------------------------------------------------------------

Attached is a patch originally by Bentmann, which fixed the problem for the customer. Also I have attached a test project which reproduces the problem every time without the patch. Execute the attached project with "mvn clean verify site" using Maven 2.2.1 ( Note: it will not fail with Maven 3 )

artifact - the project that reproduces the failure when the project is built using "mvn clean verify site"

btw - The artifact pom.xml is a quickly hacked up version that may not need all the stuff in it to reproduce the problem, however I lacked time to fully minimize it.

Environment: maven-site-plugin 3.0
Maven 2.2.1
findbugs-maven-plugin 2.5.2
Project: Maven 2.x FindBugs Plugin
Priority: Major Major
Reporter: Peter Lynch
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
--------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

Reply via email to