On Sun, 02 Jul 2017 11:36:51 +0200, Karl Heinz Marbaise <khmarba...@gmx.de> wrote:

Hi Robert,

On 02/07/17 11:19, Robert Scholte wrote:
I'm not 100% sure if this will fix the issue.
There are 2 issues which both result in an ArrayIndexOutOfBoundsException. One has to do with a process instruction inside the plugin configuration (fixed).

You mean the m2e configuration thing like "<?m2e ...>"...

This is fixed ,cause this will fail in all Maven versions if you use a parent which contains such configuration...Tested with the current master of plexus-utils it works fine...


But if we have a new release of plexus-utils we could at least tell people in such cases to replace the plexus-utils to prevent this issue...



It is probably a bit difficult to explain, because it is not as simple as:

if ArrayIndexOutOfBoundsException then upgrade plexus-utils.

And I expect that the m2e is not used that often, which would imply that it's almost every time the invalid XML.

The other has to do with invalid XML.

Ok this is a different story...


 It looks to me that most of the time the second issue is being hit.


Clearing the local repository and re-downloading the pom file is the cure. (this is actually the best way to identify which of the 2 is being hit) What I've seen is that sometime the content of the pom is duplicated, i.e.
<project>
...
</project>
<project>
...
</project>
I could imagine that this happens when a 2 threads download the same pom at the same time and for some reason are appended.

From the same Maven run ? Or by using two different maven runs which use the same local cache ?


I haven't investigated this yet. You would expect that within one JVM the Artifact Resolver should be aware of it.



Up until Maven 3.3.9 the XML stopped at the closing root-tag, not at the document-end.

Maybe I misunderstand a thing but isn't the reading of the XML file done by plexus-utils?

True, the upgrade of plexus-utils in Maven 3.3.9 exposed this issue.


When the pom is not a valid XML, then IMHO the pom should be re-downloaded.
 There are now a couple of issues:
- you cannot see which pom is causing the ArrayIndexOutOfBoundsException
- you cannot simply switch to strict checksums at system level. You cannot use MAVEN_OPTS in this case because --strict-checksum is a Maven argument, not a JVM argument.

Couldn't checkSum policy being used in settings.xml to configured to fail ?

I think we should reconsider MNG-5506 and MNG-5728.
Assuming all repositories are hosted with a repository manager, I think we should be able to switch to strict by default.

Robert



Kind regards
Karl Heinz

 These issues need to be fixed in Maven.
So I would go for improving this in Maven, just updating plexus-utils will give users false hope.

Maybe we don't need to make the release of plexus-utils very prominent ;-)

Kind regards
Karl Heinz Marbaise

 thanks,
Robert
On Sun, 02 Jul 2017 10:52:06 +0200, Karl Heinz Marbaise <khmarba...@gmx.de> wrote:

Hi,

based on the current issue related to reading pom files etc. (ArrayIndexOutOfBoundsException)

I would like to make a new release of Plexus-Utils 3.1.0.....after that people can simple replace the old version of plexus-utils-3.0.24 in their maven installation with the new one until we made a new release of Maven Core ....

If there are no objections I would like to start with the release at Tuesday ?

Kind regards
Karl Heinz Marbaise

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to