You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Karl Heinz Marbaise (JIRA)" <ji...@apache.org> on 2017/02/12 12:01:41 UTC
[jira] [Created] (MNG-6170) NPE for Multithreaded -T
Karl Heinz Marbaise created MNG-6170:
----------------------------------------
Summary: NPE for Multithreaded -T
Key: MNG-6170
URL: https://issues.apache.org/jira/browse/MNG-6170
Project: Maven
Issue Type: Bug
Components: core
Affects Versions: 3.3.9, 3.3.1, 3.2.5, 3.1.1
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 message was sent by Atlassian JIRA
(v6.3.15#6346)