You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jan (Jira)" <ji...@apache.org> on 2021/09/09 14:43:00 UTC

[jira] [Commented] (MDEP-761) Tree plugin does not terminate with 3.2.0

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

Jan commented on MDEP-761:
--------------------------

[~michael-o]

I did a bisect and this is the result:

{code}
10398ddae456ad921e361f822e80a7d05bf1279a is the first bad commit
commit 10398ddae456ad921e361f822e80a7d05bf1279a
Author: ian-lavallee <34...@users.noreply.github.com>
Date:   Fri Aug 14 08:19:55 2020 -0400

    [MDEP-644] Reintroduce the verbose option for dependency:tree (#92)

    Reintroduce the verbose option for dependency:tree

    Co-authored-by: Elliotte Rusty Harold <el...@ibiblio.org>

 dependency-reduced-pom.xml                         | 426 +++++++++++++++++++++
 pom.xml                                            |  20 +-
 src/it/projects/analyze-report/invoker.properties  |   2 -
 .../invoker.properties                             |   2 -
 .../src/test/java/hello/HelloTest.java             |   3 -
 src/it/projects/tree-verbose-small/expected.txt    |   8 +
 .../projects/tree-verbose-small/invoker.properties |  18 +
 src/it/projects/tree-verbose-small/pom.xml         |  68 ++++
 src/it/projects/tree-verbose-small/verify.bsh      |  35 ++
 .../tree-verbose/expected-maven2version.txt        |  87 +++++
 src/it/projects/tree-verbose/expected.txt          |  34 +-
 src/it/projects/tree-verbose/pom.xml               |   2 +-
 src/it/projects/tree-verbose/verify.bsh            |   5 +-
 src/it/projects/unpack-custom-ear/pom.xml          |   6 +-
 src/it/projects/unpack-custom-ear/verify.groovy    |   1 +
 .../tree/CycleBreakerGraphTransformer.java         |  73 ++++
 .../maven/plugins/dependency/tree/TreeMojo.java    | 143 +++++--
 .../tree/VerboseDependencyGraphBuilder.java        | 223 +++++++++++
 .../dependency/tree/VerboseGraphSerializer.java    | 324 ++++++++++++++++
 src/main/resources/META-INF/plexus/components.xml  |   4 +
 .../plugins/dependency/TestListClassesMojo.java    |   2 +-
 .../tree/VerboseGraphSerializerTest.java           | 253 ++++++++++++
 .../unit/verbose-serializer-test/BasicCycle.txt    |   3 +
 .../unit/verbose-serializer-test/BasicTree.txt     |   3 +
 .../LargeGraphWithCycles.txt                       |  10 +
 .../unit/verbose-serializer-test/LargeTree.txt     |  11 +
 .../verbose-serializer-test/OptionalDependency.txt |   3 +
 .../unit/verbose-serializer-test/ScopeConflict.txt |   4 +
 .../verbose-serializer-test/VersionConflict.txt    |   4 +
 29 files changed, 1712 insertions(+), 65 deletions(-)
 create mode 100644 dependency-reduced-pom.xml
 create mode 100644 src/it/projects/tree-verbose-small/expected.txt
 create mode 100644 src/it/projects/tree-verbose-small/invoker.properties
 create mode 100644 src/it/projects/tree-verbose-small/pom.xml
 create mode 100644 src/it/projects/tree-verbose-small/verify.bsh
 create mode 100644 src/it/projects/tree-verbose/expected-maven2version.txt
 create mode 100644 src/main/java/org/apache/maven/plugins/dependency/tree/CycleBreakerGraphTransformer.java
 create mode 100644 src/main/java/org/apache/maven/plugins/dependency/tree/VerboseDependencyGraphBuilder.java
 create mode 100644 src/main/java/org/apache/maven/plugins/dependency/tree/VerboseGraphSerializer.java
 create mode 100644 src/test/java/org/apache/maven/plugins/dependency/tree/VerboseGraphSerializerTest.java
 create mode 100644 src/test/resources/unit/verbose-serializer-test/BasicCycle.txt
 create mode 100644 src/test/resources/unit/verbose-serializer-test/BasicTree.txt
 create mode 100644 src/test/resources/unit/verbose-serializer-test/LargeGraphWithCycles.txt
 create mode 100644 src/test/resources/unit/verbose-serializer-test/LargeTree.txt
 create mode 100644 src/test/resources/unit/verbose-serializer-test/OptionalDependency.txt
 create mode 100644 src/test/resources/unit/verbose-serializer-test/ScopeConflict.txt
 create mode 100644 src/test/resources/unit/verbose-serializer-test/VersionConflict.txt
{code}

It's interesting as it says "reintroduce verbose option" and this problem occurs only with verbose set. The previous versions had a warning saying that verbose was removed since 3.0. So it seems that the culprit here is the new verbose feature which seems not to terminate.
 

 

> Tree plugin does not terminate with 3.2.0
> -----------------------------------------
>
>                 Key: MDEP-761
>                 URL: https://issues.apache.org/jira/browse/MDEP-761
>             Project: Maven Dependency Plugin
>          Issue Type: Bug
>          Components: tree
>    Affects Versions: 3.2.0
>         Environment: Windows 10
>            Reporter: Jan
>            Priority: Major
>
> We use a tool called WhiteSource that analyzes our dependencies for security issues. It uses the the following call to maven deps plugin to get the dependencies:
> {code}mvn dependency:tree -DoutputFile=whitesource_mvn_dependency_tree.txt -Dverbose -DoutputType=text -T1 -B {code}
> This works and takes ~15seconds with version 3.1.2, after upgrading to 3.2.0, this call does not terminate after 15 minutes and runs into a timeout.
> When starting maven with "-X" I can see thousands of those debug messages flowing through, it looks like it is scanning the whole local maven repository:
> {code}
> [DEBUG] Writing tracking file C:\Users\myuser\.m2\repository\org\jboss\spec\jboss-specs-parent\1.0.0.Beta2\_remote.repositories
> [DEBUG] Using transporter WagonTransporter with priority -1.0 for https://my-repo
> [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://my-repo with username=myuser, password=*** via localhost:8888
> [DEBUG] Writing tracking file C:\Users\myuser\.m2\repository\org\jboss\spec\javax\interceptor\jboss-interceptors-api_1.1_spec\1.0.0.Beta1\_remote.repositories
> [DEBUG] Using transporter WagonTransporter with priority -1.0 for https://my-repo
> [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://my-repo with username=myuser, password=*** via localhost:8888
> [DEBUG] Writing tracking file C:\Users\myuser\.m2\repository\org\jboss\spec\jboss-specs-parent\1.0.0.Beta1\_remote.repositories
> [DEBUG] Using transporter WagonTransporter with priority -1.0 for https://my-repo
> [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://my-repo with username=myuser, password=*** via localhost:8888
> [DEBUG] Writing tracking file C:\Users\myuser\.m2\repository\org\testng\testng\5.10\_remote.repositories
> [DEBUG] Verifying availability of C:\Users\myuser\.m2\repository\org\apache\derby\derby\10.12.1.1\derby-10.12.1.1.pom from [devcloud-bci-mvn (https://my-repo, default, releases+snapshots), artifactory-central-mirror (https://my-repo, default, releases), central (https://repo.maven.apache.org/maven2, default, releases)]
> [DEBUG] Using transporter WagonTransporter with priority -1.0 for https://my-repo
> [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://my-repo with username=myuser, password=*** via localhost:8888
> [DEBUG] Writing tracking file C:\Users\myuser\.m2\repository\org\apache\derby\derby\10.12.1.1\_remote.repositories
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)