You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Michael Osipov (Jira)" <ji...@apache.org> on 2022/02/19 23:34:00 UTC
[jira] [Commented] (MNG-7402) BuildListCalculator never detaches the classlaoder...
[ https://issues.apache.org/jira/browse/MNG-7402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17495072#comment-17495072 ]
Michael Osipov commented on MNG-7402:
-------------------------------------
Like this?
{noformat}
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java
index 9000c9301e..c35ac4134c 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java
@@ -60,10 +60,18 @@ public ProjectBuildList calculateProjectBuilds( MavenSession session, List<TaskS
}
for ( MavenProject project : projects )
{
- BuilderCommon.attachToThread( project ); // Not totally sure if this is needed for anything
- MavenSession copiedSession = session.clone();
- copiedSession.setCurrentProject( project );
- projectBuilds.add( new ProjectSegment( project, taskSegment, copiedSession ) );
+ ClassLoader tccl = Thread.currentThread().getContextClassLoader();
+ try
+ {
+ BuilderCommon.attachToThread( project ); // Not totally sure if this is needed for anything
+ MavenSession copiedSession = session.clone();
+ copiedSession.setCurrentProject( project );
+ projectBuilds.add( new ProjectSegment( project, taskSegment, copiedSession ) );
+ }
+ finally
+ {
+ Thread.currentThread().setContextClassLoader( tccl );
+ }
}
}
return new ProjectBuildList( projectBuilds );
{noformat}
> BuildListCalculator never detaches the classlaoder...
> -----------------------------------------------------
>
> Key: MNG-7402
> URL: https://issues.apache.org/jira/browse/MNG-7402
> Project: Maven
> Issue Type: Bug
> Reporter: Christoph Läubrich
> Priority: Major
>
> https://github.com/apache/maven/blob/6b607109d3ce045106924139e96705fe7c42172e/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java#L63
> Her there is attachToThread called but never detached. This seems to be a leak, at least the threads current contextclassloader is never restored.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)