Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stackoverflow Error while running the maven licensecheck plugin #194

Open
Girishpdesai opened this issue Oct 1, 2020 · 4 comments
Open

Comments

@Girishpdesai
Copy link

I am running licensecheck plugin on a Java - Maven project. The scanner fails ad throws stackoverflow error. How do we resolve this?
Stack Trace is below

[INFO] Sensor Import of Checkstyle issues [java] (done) | time=12332ms
[INFO] Sensor SurefireSensor [java]
[INFO] parsing [C:\XXX\Workspace\my-api\target\surefire-reports]
[INFO] Sensor SurefireSensor [java] (done) | time=1147ms
[INFO] Sensor JaCoCoSensor [java]
[INFO] Sensor JaCoCoSensor [java] (done) | time=4ms
[INFO] Sensor JavaXmlSensor [java]
[INFO] 1 source files to be analyzed
[INFO] Sensor JavaXmlSensor [java] (done) | time=538ms
[INFO] 1/1 source files have been analyzed
[INFO] Sensor HTML [web]
[INFO] Sensor HTML [web] (done) | time=30ms
[INFO] Sensor XML Sensor [xml]
[INFO] 1 source files to be analyzed
[INFO] Sensor XML Sensor [xml] (done) | time=502ms
[INFO] Sensor License Check [licensecheck]
[INFO] No package.json file found in C:\XXX\Workspace\my-api - skipping NPM dependency scan
[INFO] Scanning for Maven dependencies
[INFO] 1/1 source files have been analyzed
[INFO] No licenses found for 'EDL 1.0'
[INFO] No licenses found for 'GNU Library General Public License v2.1 or later'
[INFO] No licenses found for 'GNU Library General Public License v2.1 or later'
[INFO] No licenses found for 'GNU General Public License, version 2 with the GNU Classpath Exception'
[INFO] No licenses found for 'Public Domain, per Creative Commons CC0'
[INFO] No licenses found for 'Public Domain, per Creative Commons CC0'
[INFO] No licenses found for 'EDL 1.0'
[INFO] No licenses found for 'The GNU General Public License (GPL) Version 2, June 1991 with "ClassPath" Exception'
[INFO] No licenses found in dependency commons-logging:commons-logging
[INFO] No licenses found for 'GNU Library General Public License v2.1 or later'
INFO] No licenses found for 'GNU Library General Public License v2.1 or later'
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  02:51 min
[INFO] Finished at: 2020-10-01T12:56:33-04:00
[INFO] ------------------------------------------------------------------------
---------------------------------------------------
constituent[0]: file:/C:/XXX/tools/apache-maven-3.6.0/conf/logging/
constituent[1]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/animal-sniffer-annotations-1.14.jar
constituent[2]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/aopalliance-1.0.jar
constituent[3]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/cdi-api-1.0.jar
constituent[4]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/checker-compat-qual-2.0.0.jar
constituent[5]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/commons-cli-1.4.jar
constituent[6]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/commons-io-2.5.jar
constituent[7]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/commons-lang3-3.8.1.jar
constituent[8]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/error_prone_annotations-2.1.3.jar
constituent[9]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/guava-25.1-android.jar
constituent[10]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/guice-4.2.1-no_aop.jar
constituent[11]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/j2objc-annotations-1.1.jar
constituent[12]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/jansi-1.17.1.jar
constituent[13]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/javax.inject-1.jar
constituent[14]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/jcl-over-slf4j-1.7.25.jar
constituent[15]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/jsr250-api-1.0.jar
constituent[16]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/jsr305-3.0.2.jar
constituent[17]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-artifact-3.6.0.jar
constituent[18]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-builder-support-3.6.0.jar
constituent[19]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-compat-3.6.0.jar
constituent[20]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-core-3.6.0.jar
constituent[21]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-embedder-3.6.0.jar
constituent[22]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-model-3.6.0.jar
constituent[23]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-model-builder-3.6.0.jar
constituent[24]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-plugin-api-3.6.0.jar
constituent[25]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-repository-metadata-3.6.0.jar
constituent[26]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-resolver-api-1.3.1.jar
constituent[27]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-resolver-connector-basic-1.3.1.jar
constituent[28]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-resolver-impl-1.3.1.jar
constituent[29]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-resolver-provider-3.6.0.jar
constituent[30]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-resolver-spi-1.3.1.jar
constituent[31]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-resolver-transport-wagon-1.3.1.jar
constituent[32]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-resolver-util-1.3.1.jar
constituent[33]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-settings-3.6.0.jar
constituent[34]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-settings-builder-3.6.0.jar
constituent[35]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-shared-utils-3.2.1.jar
constituent[36]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/maven-slf4j-provider-3.6.0.jar
constituent[37]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/org.eclipse.sisu.inject-0.3.3.jar
constituent[38]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/org.eclipse.sisu.plexus-0.3.3.jar
constituent[39]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/plexus-cipher-1.7.jar
constituent[40]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/plexus-component-annotations-1.7.1.jar
constituent[41]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/plexus-interpolation-1.25.jar
constituent[42]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/plexus-sec-dispatcher-1.4.jar
constituent[43]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/plexus-utils-3.1.0.jar
constituent[44]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/slf4j-api-1.7.25.jar
constituent[45]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/wagon-file-3.2.0.jar
constituent[46]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/wagon-http-3.2.0-shaded.jar
constituent[47]: file:/C:/XXX/tools/apache-maven-3.6.0/lib/wagon-provider-api-3.2.0.jar
---------------------------------------------------
Exception in thread "main" java.lang.StackOverflowError
        at java.base/java.lang.String.rangeCheck(String.java:280)
        at java.base/java.lang.String.<init>(String.java:276)
        at org.codehaus.plexus.util.xml.pull.MXParser.newString(MXParser.java:77)
        at org.codehaus.plexus.util.xml.pull.MXParser.parseXmlDeclWithVersion(MXParser.java:3245)
        at org.codehaus.plexus.util.xml.pull.MXParser.parseXmlDecl(MXParser.java:3230)
        at org.codehaus.plexus.util.xml.pull.MXParser.parsePI(MXParser.java:3082)
        at org.codehaus.plexus.util.xml.pull.MXParser.parseProlog(MXParser.java:1760)
        at org.codehaus.plexus.util.xml.pull.MXParser.nextImpl(MXParser.java:1700)
        at org.codehaus.plexus.util.xml.pull.MXParser.next(MXParser.java:1319)
        at org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:3876)
        at org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:595)
        at org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:609)
        at org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:638)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:31)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getLicenses(LicenseFinder.java:44)
        at at.porscheinformatik.sonarqube.licensecheck.maven.LicenseFinder.getL
@derkoe
Copy link
Contributor

derkoe commented Oct 2, 2020

Oh this has to be a POM with a recursive parent relation like this

Project X -> Parent -> ... -> Project X

Didn't know that was even possible.

@Girishpdesai
Copy link
Author

Project POM has this Parent reference

<parent>
    <groupId>ca.xxx</groupId>
    <artifactId>spring-boot-2-parent-pom-jdk-11</artifactId>
    <version>5</version>
    <!-- # lookup parent from repository -->
    <relativePath />
</parent>

Parent POM Reference has this parent

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.7.RELEASE</version>
    <!-- # lookup parent from repository -->
    <relativePath />
</parent>

The project is successfully compiling and also SonarQube SonarWay analysis is successful, it does not fail. When a license check is added, then it fails.

@derkoe
Copy link
Contributor

derkoe commented Oct 5, 2020

The problem is not your POM but one of your dependencies. Could you debug the Maven build and check which dependency that is (set line break point at LicenseFinder.java:44)?

@derhecht
Copy link
Contributor

derhecht commented Oct 8, 2020

@Girishpdesai or may provide your project / a lightwight public version of it that another person can reproduce/debug this problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants