[
https://issues.apache.org/jira/browse/MPH-135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16404091#comment-16404091
]
Michael Osipov edited comment on MPH-135 at 3/18/18 6:28 PM:
-------------------------------------------------------------
Good news, I have found the flaw and I will not apply the provided patch
because it is not text, but XML here. The cause is a flaw in JDOM. A paramount
for bad API design. The {{Format}} interface does not forbid passing null
values nor does it throw NPEs upfront. Though, all callers expect this value to
be non-null. I have refrained opening an issue with JDOM. I will apply a simple
null check for this.
I have to perform some more checks. Stay tuned.
was (Author: michael-o):
Good news, I have found the flaw and I will not apply the provided patch
because it is not text, but XML here. The cause is a flaw in JDOM. A paramount
for bad API design. The {{Format}} interface does not forbid passing null
values nor does it throw NPEs upfront. Though, all callers expect this value to
be non-null. I have refrained opening an issue with JDOM. I will apply a simple
null check for this.
I have to perform some more checks because the entire {{Xpp3Writer}} system is
so fucked up with encodings. Stay tuned.
> 3.0 effective-pom will crash builds
> -----------------------------------
>
> Key: MPH-135
> URL: https://issues.apache.org/jira/browse/MPH-135
> Project: Maven Help Plugin
> Issue Type: Bug
> Reporter: Hans-Joachim Kliemeck
> Assignee: Michael Osipov
> Priority: Blocker
> Attachments:
> MPH-135_deliberate_to_system_encoding_if_model_is_null.patch,
> effective-pom-breakage-project-example.zip
>
>
> Hi,
> we see build failures on all our pipelines with the new version 3.0.0. Is
> this an official version or was this version recalled? Is there a breaking
> change related to xml parsing / encoding?
> [https://github.com/apache/maven-help-plugin/releases/tag/maven-help-plugin-3.0.0]
> {code:java}
> 13:45:17 INFO -
> ------------------------------------------------------------------------
> 13:45:17 ERROR - Failed to execute goal
> org.apache.maven.plugins:maven-help-plugin:3.0.0:effective-pom (default-cli)
> on project composites: Execution default-cli of goal
> org.apache.maven.plugins:maven-help-plugin:3.0.0:effective-pom failed.
> NullPointerException -> [Help 1]
> 13:45:17 INFO - org.apache.maven.lifecycle.LifecycleExecutionException:
> Failed to execute goal
> org.apache.maven.plugins:maven-help-plugin:3.0.0:effective-pom (default-cli)
> on project composites: Execution default-cli of goal
> org.apache.maven.plugins:maven-help-plugin:3.0.0:effective-pom failed.
> 13:45:17 INFO - at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
> 13:45:17 INFO - at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> 13:45:17 INFO - at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> 13:45:17 INFO - at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
> 13:45:17 INFO - at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
> 13:45:17 INFO - at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
> 13:45:17 INFO - at
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
> 13:45:17 INFO - at
> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
> 13:45:17 INFO - at
> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
> 13:45:17 INFO - at
> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
> 13:45:17 INFO - at
> org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
> 13:45:17 INFO - at
> org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
> 13:45:17 INFO - at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
> 13:45:17 INFO - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> 13:45:17 INFO - at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 13:45:17 INFO - at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 13:45:17 INFO - at java.lang.reflect.Method.invoke(Method.java:483)
> 13:45:17 INFO - at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
> 13:45:17 INFO - at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
> 13:45:17 INFO - at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
> 13:45:17 INFO - at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> 13:45:17 INFO - Caused by: org.apache.maven.plugin.PluginExecutionException:
> Execution default-cli of goal
> org.apache.maven.plugins:maven-help-plugin:3.0.0:effective-pom failed.
> 13:45:17 INFO - at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
> 13:45:17 INFO - at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
> 13:45:17 INFO - ... 20 more
> 13:45:17 INFO - Caused by: java.lang.NullPointerException
> 13:45:17 INFO - at
> org.codehaus.plexus.util.xml.XmlStreamWriter.close(XmlStreamWriter.java:75)
> 13:45:17 INFO - at
> org.codehaus.plexus.util.IOUtil.close(IOUtil.java:796)
> 13:45:17 INFO - at
> org.apache.maven.plugins.help.AbstractEffectiveMojo.writeXmlFile(AbstractEffectiveMojo.java:96)
> 13:45:17 INFO - at
> org.apache.maven.plugins.help.EffectivePomMojo.execute(EffectivePomMojo.java:139)
> 13:45:17 INFO - at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
> 13:45:17 INFO - ... 21 more
> 13:45:17 ERROR -
> 13:45:17 ERROR - Re-run Maven using the -X switch to enable full debug
> logging.
> {code}
> Best Regards
> Hajo
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)