You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Hervé Boutemy (JIRA)" <ji...@apache.org> on 2017/02/18 07:10:44 UTC

[jira] [Comment Edited] (MNG-6170) NPE in cases using Multithreaded -T X versions:set -DnewVersion=1.0-SNAPSHOT

    [ https://issues.apache.org/jira/browse/MNG-6170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15873023#comment-15873023 ] 

Hervé Boutemy edited comment on MNG-6170 at 2/18/17 7:10 AM:
-------------------------------------------------------------

why priority blocker?
this has not blocked many people from using Maven 3.1 to 3.9, isn't it?
and no real pressure to not release 3.5.0 before this is fixed, no?

notice: using versions:set in parallel mode is really looking for trouble :)


was (Author: hboutemy):
why priority blocker?
this has not blocked many people from using Maven 3.1 to 3.9, isn't it?
and no real pressure to not release 3.5.0 before this is fixed, no?

> NPE in cases using Multithreaded -T X versions:set -DnewVersion=1.0-SNAPSHOT
> ----------------------------------------------------------------------------
>
>                 Key: MNG-6170
>                 URL: https://issues.apache.org/jira/browse/MNG-6170
>             Project: Maven
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.1.1, 3.2.5, 3.3.1, 3.3.9
>            Reporter: Karl Heinz Marbaise
>            Assignee: Karl Heinz Marbaise
>            Priority: Blocker
>             Fix For: 3.5.0
>
>
> Based on the [issue|https://github.com/mojohaus/versions-maven-plugin/issues/54] marked for the versions-maven-plugin investigation shows that the real cause of this problem is located in maven-core. I identified the following point in code as culprit for the problem:
> MultiThreadedBuilder.java
> {code}
>         // for each finished project
>         for ( int i = 0; i < analyzer.getNumberOfBuilds(); i++ )
>         {
>             try
>             {
>                 ProjectSegment projectBuild = service.take().get();
>                 if ( reactorContext.getReactorBuildStatus().isHalted() )
>                 {
>                     break;
>                 }
>                 final List<MavenProject> newItemsThatCanBeBuilt =
>                     analyzer.markAsFinished( projectBuild.getProject() );
>                 for ( MavenProject mavenProject : newItemsThatCanBeBuilt )
>                 {
>                     ProjectSegment scheduledDependent = projectBuildList.get( mavenProject );
>                     logger.debug( "Scheduling: " + scheduledDependent );
>                     Callable<ProjectSegment> cb =
>                         createBuildCallable( rootSession, scheduledDependent, reactorContext, taskSegment, muxer );
>                     service.submit( cb );
>                 }
>             }
>             catch ( InterruptedException e )
>             {
>                 rootSession.getResult().addException( e );
>                 break;
>             }
>             catch ( ExecutionException e )
>             {
>                 // TODO MNG-5766 changes likely made this redundant 
>                 rootSession.getResult().addException( e );
>                 break;
>             }
>         }
> {code}
> And the problematic part is before the second debugging output line:
> {code}
>                     ProjectSegment scheduledDependent = projectBuildList.get( mavenProject );
>                     logger.debug( "Scheduling: " + scheduledDependent );
>                     Callable<ProjectSegment> cb =
>                         createBuildCallable( rootSession, scheduledDependent, reactorContext, taskSegment, muxer );
>                     service.submit( cb );
> {code}
> Cause it happens that the {{scheduledDependent}} could be null which will cause the issue.
> This -looks like- is a regression, cause in Maven 3.0.5 it works without any issue.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)