maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Johnson (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (MNG-6398) Multithread Build Hangs Execution with sonar:sonar goal when Aggregator POM references a Child Module as its Parent
Date Sat, 21 Apr 2018 16:09:00 GMT

     [ https://issues.apache.org/jira/browse/MNG-6398?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Daniel Johnson updated MNG-6398:
--------------------------------
    Description: 
h1. Problem Statement

I have an Aggregator POM whose Parent POM is also one of its child Modules. When I run a multi-thread
Maven build with normal goals, such as 'clean install' it works as expected; The Parent module
builds first followed by the Aggregator.

However when running '{{mvn sonar:sonar -T 2'}} the build hangs indefinitely (from {{org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905}}).
h1. Sample Project

Attached.
h3. Layout

{{/pom.xml}}

{{/parent/pom.xml}}
h1. Reproducing the Issue

A normal multi-threaded build should work as expected: {{mvn clean install -T 2}}

But when running sonar goal, it hangs indefinitely: {{mvn sonar:sonar -T 2}} (This can also
be reproduced with {{mvn clean install sonar:sonar -T 2}}, in which case it hangs immediately
after building and installing both projects)

{{DANIJOH2-M-C5DB:deadlock-sample danijoh2$ mvn sonar:sonar -T 2}}
{{[INFO] Scanning for projects...}}
{{[INFO] ------------------------------------------------------------------------}}
{{[INFO] Reactor Build Order:}}
{{[INFO]}}
{{[INFO] parent [pom]}}
{{[INFO] aggregator [pom]}}
{{[INFO]}}
{{[INFO] Using the MultiThreadedBuilder implementation with a thread count of 2}}
{{<process is now hung>}}

Running the same build with a single thread works fine: {{mvn sonar:sonar}}
h2. Stack Trace of Hanging Maven Process

Attached.
h2. Summary

I saw the same behavior with Maven 3.0.5, 3.2.3, and 3.3.9, as well with sonar-maven-plugin
3.0 and 3.3.0.603 with the same results. From the stack trace, it seems Maven itself is hung
(not deadlocked though), and while it may be caused by the Sonar plugin, it seems the fix
likely needs to come from Maven.

If I make the aggregator itself the parent (and get rid of the parent module entirely) then
it works fine. The problem with this approach, is in our project we are also creating aggregated
site reports for our project, which if I recall correctly when I tried this last time, the
aggregated reports were not always working as expected when the aggregator POM builds before
its modules.

  was:
h1. Problem Statement

I have an Aggregator POM whose Parent POM is also one of its child Modules. When I run a multi-thread
Maven build with normal goals, such as 'clean install' it works as expected; The Parent module
builds first followed by the Aggregator.

However when running '{{mvn sonar:sonar -T 2'}} the build hangs indefinitely (from {{org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905}}).
h1. Sample Project

Attached.
h3. Layout

{{/pom.xml}}

{{/parent/pom.xml}}
h1. Reproducing the Issue

A normal multi-threaded build should work as expected: {{mvn clean install -T 2}}

But when running sonar goal, it hangs indefinitely: {{mvn sonar:sonar -T 2}} (This can also
be reproduced with {{mvn clean install sonar:sonar -T 2}}, in which case it hangs immediately
after building and installing both projects)

{{DANIJOH2-M-C5DB:deadlock-sample danijoh2$ mvn sonar:sonar -T 2}}
{{[INFO] Scanning for projects...}}
{{[INFO] ------------------------------------------------------------------------}}
{{[INFO] Reactor Build Order:}}
{{[INFO] }}
{{[INFO] parent [pom]}}
{{[INFO] aggregator [pom]}}
{{[INFO] }}
{{[INFO] Using the MultiThreadedBuilder implementation with a thread count of 2}}
{{<process is now hung>}}

Running the same build with a single thread works fine: {{mvn sonar:sonar}}
h2. Stack Trace of Hanging Maven Process

Attached.
h2. Summary

I saw the same behavior with Maven 3.0.5, 3.2.3, and 3.3.9, as well with sonar-maven-plugin
3.0 and 3.3.0.603 with the same results. From the stack trace, it seems Maven itself is hung
(not deadlocked though), and while it may be caused by the Sonar plugin, it seems the fix
likely needs to come from Maven.

If I make the aggregator itself the parent (and get rid of the parent module entirely) then
it works fine. The problem with this approach, is in our project we are also creating aggregated
site reports for our project, which if I recall correctly when I tried this last time, the
aggregated reports were not always working as expected when the aggregator POM builds before
its modules.


> Multithread Build Hangs Execution with sonar:sonar goal when Aggregator POM references
a Child Module as its Parent
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-6398
>                 URL: https://issues.apache.org/jira/browse/MNG-6398
>             Project: Maven
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.0.5, 3.2.5, 3.3.9, 3.5.3
>         Environment: Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T11:49:05-08:00)
> Maven home: /Users/danijoh2/Work/maven-3.5.3
> Java version: 1.8.0_152, vendor: Oracle Corporation
> Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "mac os x", version: "10.13.4", arch: "x86_64", family: "mac"
>            Reporter: Daniel Johnson
>            Priority: Major
>              Labels: Hanging, Multimodule, aggregator, multithread, multithreading
>         Attachments: maven-hanging-stack.txt, maven-multithread-hanging-sample.zip
>
>
> h1. Problem Statement
> I have an Aggregator POM whose Parent POM is also one of its child Modules. When I run
a multi-thread Maven build with normal goals, such as 'clean install' it works as expected;
The Parent module builds first followed by the Aggregator.
> However when running '{{mvn sonar:sonar -T 2'}} the build hangs indefinitely (from {{org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905}}).
> h1. Sample Project
> Attached.
> h3. Layout
> {{/pom.xml}}
> {{/parent/pom.xml}}
> h1. Reproducing the Issue
> A normal multi-threaded build should work as expected: {{mvn clean install -T 2}}
> But when running sonar goal, it hangs indefinitely: {{mvn sonar:sonar -T 2}} (This can
also be reproduced with {{mvn clean install sonar:sonar -T 2}}, in which case it hangs immediately
after building and installing both projects)
> {{DANIJOH2-M-C5DB:deadlock-sample danijoh2$ mvn sonar:sonar -T 2}}
> {{[INFO] Scanning for projects...}}
> {{[INFO] ------------------------------------------------------------------------}}
> {{[INFO] Reactor Build Order:}}
> {{[INFO]}}
> {{[INFO] parent [pom]}}
> {{[INFO] aggregator [pom]}}
> {{[INFO]}}
> {{[INFO] Using the MultiThreadedBuilder implementation with a thread count of 2}}
> {{<process is now hung>}}
> Running the same build with a single thread works fine: {{mvn sonar:sonar}}
> h2. Stack Trace of Hanging Maven Process
> Attached.
> h2. Summary
> I saw the same behavior with Maven 3.0.5, 3.2.3, and 3.3.9, as well with sonar-maven-plugin
3.0 and 3.3.0.603 with the same results. From the stack trace, it seems Maven itself is hung
(not deadlocked though), and while it may be caused by the Sonar plugin, it seems the fix
likely needs to come from Maven.
> If I make the aggregator itself the parent (and get rid of the parent module entirely)
then it works fine. The problem with this approach, is in our project we are also creating
aggregated site reports for our project, which if I recall correctly when I tried this last
time, the aggregated reports were not always working as expected when the aggregator POM
builds before its modules.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message