jenkinsci / nexus-platform-plugin

Nexus Platform Plugin for Jenkins
30 stars 56 forks source link

Java 21 Hashing error when running a nexus iq scan in a Jenkins Pipeline #300

Closed JuSenshi closed 3 months ago

JuSenshi commented 7 months ago

Jenkins and plugins versions report

Environment ``` Jenkins: 2.387.3 OS: Windows Server 2019 - 10.0 Java: 11.0.16 - Oracle Corporation (Java HotSpot(TM) 64-Bit Server VM) --- JDK_Parameter_Plugin:1.2 NegotiateSSO:105.vf0d0de2a_b_8a_5 Parameterized-Remote-Trigger:3.1.6.3 PrioritySorter:4.1.0 ace-editor:1.1 active-directory:2.30 analysis-model-api:11.1.0 ansible:174.vfd5323d2b_9d8 ansible-tower:0.16.0 ansicolor:1.0.2 ant:487.vd79d090d4ea_e antisamy-markup-formatter:159.v25b_c67cd35fb_ any-buildstep:14.ve115ec1484f0 apache-httpcomponents-client-4-api:4.5.14-150.v7a_b_9d17134a_5 artifactdeployer:1.3 atlassian-bitbucket-server-integration:3.3.2 audit-trail:333.vb_e1b_b_0f1238c authentication-tokens:1.53.v1c90fd9191a_b_ authorize-project:1.5.1 badge:1.9.1 bitbucket:223.vd12f2bca5430 bitbucket-approval-filter:1.0.3 bitbucket-filter-project-trait:1.0 bitbucket-pullrequest-builder:1.5.0 bitbucket-pullrequests-filter:13.vda_de92e841b_b_ bitbucket-push-and-pull-request:2.8.3 bitbucket-scm-filter-aged-refs:31.ve3b_ca_fc71d5b_ bitbucket-scm-filter-jira-validator:0.1.0 bitbucket-scm-trait-commit-skip:0.4.0 blueocean:1.27.3 blueocean-autofavorite:1.2.5 blueocean-bitbucket-pipeline:1.27.3 blueocean-commons:1.27.3 blueocean-config:1.27.3 blueocean-core-js:1.27.3 blueocean-dashboard:1.27.3 blueocean-display-url:2.4.2 blueocean-events:1.27.3 blueocean-git-pipeline:1.27.3 blueocean-github-pipeline:1.27.3 blueocean-i18n:1.27.3 blueocean-jira:1.27.3 blueocean-jwt:1.27.3 blueocean-personalization:1.27.3 blueocean-pipeline-api-impl:1.27.3 blueocean-pipeline-editor:1.27.3 blueocean-pipeline-scm-api:1.27.3 blueocean-rest:1.27.3 blueocean-rest-impl:1.27.3 blueocean-web:1.27.3 bootstrap4-api:4.6.0-5 bootstrap5-api:5.3.0-1 bouncycastle-api:2.28 branch-api:2.1071.v1a_188a_562481 build-blocker-plugin:1.7.8 build-environment:1.7 build-failure-analyzer:2.4.1 build-pipeline-plugin:1.5.8 build-timeout:1.30 build-timestamp:1.0.3 build-user-vars-plugin:1.9 buildtriggerbadge:251.vdf6ef853f3f5 built-on-column:1.4 caffeine-api:3.1.6-115.vb_8b_b_328e59d8 checks-api:2.0.0 cloudbees-bitbucket-branch-source:800.va_b_b_9a_a_5035c1 cloudbees-folder:6.815.v0dd5a_cb_40e0e code-coverage-api:4.4.0 command-launcher:100.v2f6722292ee8 commons-httpclient3-api:3.1-3 commons-lang3-api:3.12.0-36.vd97de6465d5b_ commons-text-api:1.10.0-36.vc008c8fcda_7b_ conditional-buildstep:1.4.2 config-file-provider:3.11.1 configuration-as-code:1625.v27444588cc3d configurationslicing:430.v966357576543 configure-job-column-plugin:84.v792c9269f95a coordinator:1.4.0 copyartifact:698.v393f578eb_ddc countjobs-viewstabbar:1.0.1 credentials:1236.v31e44e6060c0 credentials-binding:604.vb_64480b_c56ca_ cron_column:1.7 cvs:2.19.1 dashboard-view:2.472.v9ff2a_e6a_c529 data-tables-api:1.13.3-3 delivery-pipeline-plugin:1.4.2 depgraph-view:1.0.5 display-url-api:2.3.7 docker-commons:419.v8e3cd84ef49c docker-workflow:563.vd5d2e5c4007f doclinks:0.6.1 downstream-ext:73.vdda_16e6eb_0da durable-task:506.v1b_3e14b_6f5da_ dynamic_extended_choice_parameter:1.0.1 dynamicparameter:0.2.0 echarts-api:5.4.0-5 email-ext:2.96 envinject:2.901.v0038b_6471582 envinject-api:1.199.v3ce31253ed13 extended-read-permission:3.2 extensible-choice-parameter:1.8.0 external-monitor-job:203.v683c09d993b_9 favorite:2.4.1 flexible-publish:0.16.1 font-awesome-api:6.3.0-2 forensics-api:2.1.0 generic-webhook-trigger:1.86.3 git:5.0.1 git-client:4.2.0 git-server:99.va_0826a_b_cdfa_d github:1.37.0 github-api:1.303-417.ve35d9dd78549 github-branch-source:1703.vd5a_2b_29c6cdc github-scm-trait-commit-skip:0.4.0 global-post-script:1.1.4 google-oauth-plugin:1.0.8 gradle:2.6 groovy:453.vcdb_a_c5c99890 groovy-postbuild:2.5 handlebars:3.0.8 handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953 hidden-parameter:94.ve2cefce14d3f htmlpublisher:1.31 http_request:1.16 instance-identity:173.va_37c494ec4e5 ionicons-api:45.vf54fca_5d2154 jackson2-api:2.15.2-350.v0c2f3f8fc595 jakarta-activation-api:2.0.1-3 jakarta-mail-api:2.0.1-3 javadoc:233.vdc1a_ec702cff javax-activation-api:1.2.0-6 javax-mail-api:1.6.2-9 jaxb:2.3.8-1 jdk-tool:66.vd8fa_64ee91b_d jenkins-design-language:1.27.3 jenkinswalldisplay:0.6.34 jersey2-api:2.39.1-1 jira:3.9 jira-ext:0.9 jira-trigger:1.0.2 jjwt-api:0.11.5-77.v646c772fddb_0 jnr-posix-api:3.1.16-2 job-dsl:1.83 job-import-plugin:3.6 jobConfigHistory:1207.vd28a_54732f92 jquery:1.12.4-1 jquery-detached:1.2.1 jquery3-api:3.7.0-1 jsch:0.2.8-65.v052c39de79b_2 junit:1207.va_09d5100410f kerberos-sso:1.11 kubernetes:3923.v294a_d4250b_91 kubernetes-client-api:6.4.1-215.v2ed17097a_8e9 kubernetes-credentials:0.10.0 ldap:673.v034ec70ec2b_b_ lockable-resources:1150.v59db_2b_994618 log-parser:2.3.0 mac:1.6.1 mailer:457.v3f72cb_e015e5 mapdb-api:1.0.9-28.vf251ce40855d mask-passwords:150.vf80d33113e80 matrix-auth:3.1.8 matrix-project:789.v57a_725b_63c79 maven-plugin:3.22 mercurial:1260.vdfb_723cdcc81 metrics:4.2.13-420.vea_2f17932dd6 mina-sshd-api-common:2.10.0-69.v28e3e36d18eb_ mina-sshd-api-core:2.10.0-69.v28e3e36d18eb_ momentjs:1.1.1 monitoring:1.94.0 multi-branch-priority-sorter:1.0 nexus-artifact-uploader:2.14 nexus-jenkins-plugin:3.19.1-01 nexus-task-runner:0.9.2 nodejs:1.6.0 nodelabelparameter:1.11.0 oauth-credentials:0.645.ve666a_c332668 okhttp-api:4.10.0-132.v7a_7b_91cef39c openshift-client:1.0.38 openshift-login:1.0.29 openshift-sync:1.0.55 pam-auth:1.10 parameterized-scheduler:1.2 parameterized-trigger:2.45 permissive-script-security:0.7 persistent-parameter:1.3 pipeline-build-step:491.v1fec530da_858 pipeline-github-lib:42.v0739460cda_c4 pipeline-graph-analysis:202.va_d268e64deb_3 pipeline-groovy-lib:656.va_a_ceeb_6ffb_f7 pipeline-input-step:468.va_5db_051498a_4 pipeline-milestone-step:111.v449306f708b_7 pipeline-model-api:2.2131.vb_9788088fdb_5 pipeline-model-definition:2.2131.vb_9788088fdb_5 pipeline-model-extensions:2.2131.vb_9788088fdb_5 pipeline-rest-api:2.32 pipeline-stage-step:305.ve96d0205c1c6 pipeline-stage-tags-metadata:2.2131.vb_9788088fdb_5 pipeline-stage-view:2.32 pipeline-utility-steps:2.15.2 plain-credentials:143.v1b_df8b_d3b_e48 plugin-util-api:3.3.0 popper-api:1.16.1-3 popper2-api:2.11.6-2 postbuildscript:3.2.0-460.va_fda_0fa_26720 powershell:2.0 preSCMbuildstep:71.v1f2990a_37e27 prereq-buildstep:1.1 prism-api:1.29.0-4 publish-over:0.22 publish-over-ftp:1.17 publish-to-bitbucket:0.4 pubsub-light:1.17 quality-gates:2.5 rebuild:320.v5a_0933a_e7d61 regexemail:0.3 resource-disposer:0.22 role-strategy:631.va_dd0d500b_fc5 run-condition:1.5 scm-api:667.v8b_6e07cdc7f2 scm2job:2.5 scp:1.8 script-security:1244.ve463715a_f89c scriptler:3.5 show-build-parameters:1.0 simple-build-for-pipeline:0.2 skip-notifications-trait:148.v269dccfa_1426 sloccount:1.27 snakeyaml-api:1.33-95.va_b_a_e3e47b_fa_4 sonar:2.15 sonar-quality-gates:1.3.1 sonarqube-generic-coverage:1.0 sse-gateway:1.26 ssh:2.6.1 ssh-agent:333.v878b_53c89511 ssh-credentials:305.v8f4381501156 ssh-slaves:2.877.v365f5eb_a_b_eec ssh-steps:2.0.65.vd26b_5b_9b_de4d sshd:3.303.vefc7119b_ec23 startup-trigger-plugin:2.9.3 stashNotifier:1.28 structs:324.va_f5d6774f3a_d subversion:2.17.2 template-project:1.5.2 test-results-analyzer:0.4.0 text-finder:1.24 throttle-concurrents:2.13 timestamper:1.24 token-macro:359.vb_cde11682e0c translation:1.16 trilead-api:2.84.v72119de229b_7 uno-choice:2.6.5 variant:59.vf075fe829ccb view-job-filters:364.v48a_33389553d violation-comments-to-stash:1.130 warnings-ng:10.1.0 workflow-aggregator:596.v8c21c963d92d workflow-api:1213.v646def1087f9 workflow-basic-steps:1017.vb_45b_302f0cea_ workflow-cps:3659.v582dc37621d8 workflow-cps-global-lib:609.vd95673f149b_b workflow-durable-task-step:1246.v5524618ea_097 workflow-job:1292.v27d8cc3e2602 workflow-multibranch:746.v05814d19c001 workflow-scm-step:408.v7d5b_135a_b_d49 workflow-step-api:639.v6eca_cd8c04a_a_ workflow-support:839.v35e2736cfd5c ws-cleanup:0.45 xml-job-to-job-dsl:0.1.13 zentimestamp:4.2 ```

What Operating System are you using (both controller, and any agents involved in the problem)?

Windows Server 2019

Reproduction steps

  1. Create maven project with dependencies We use a "module.xml" file to list all dependencies to give the Nexus Plugin for scanning

  2. Scan the project in a Pipeline We used the following code to scan the module.xml

    def nexusIQScan(appName) {
    def scanPatterns = [[scanPattern: "${appName}/target/sonatype-clm/module.xml"]]
    
    def policyEvaluation = nexusPolicyEvaluation iqApplication: appName,
            iqStage: "release",
            iqScanPatterns: scanPatterns,
            jobCredentialsId: 'redacted',
            failBuildOnNetworkError: false
    }

Expected Results

A clean log with no error messages and a full report of all scanned dependencies

Actual Results

We get Java Exceptions for classes with error messages regarding Java 21, a Java-Version we are not even using:

[ERROR] Could not parse class file FastDoubleSwar.class
15:49:05  java.lang.UnsupportedOperationException: Hashing for Java 21 and beyond is not supported yet
15:49:05    at com.sonatype.insight.scan.hash.internal.asm.AsmClassFactory.newClassNode(AsmClassFactory.java:44)
15:49:05    at com.sonatype.insight.scan.hash.internal.JavaDigester.digest(JavaDigester.java:90)
15:49:05    at com.sonatype.insight.scan.hash.internal.DefaultDigester.digest(DefaultDigester.java:75)
15:49:05    at com.sonatype.insight.scan.hash.internal.DefaultDigester.digest(DefaultDigester.java:54)
15:49:05    at com.sonatype.insight.scan.file.ScanUtils.setHash(ScanUtils.java:79)
15:49:05    at com.sonatype.insight.scan.file.FileVisitor.setScanItemHash(FileVisitor.java:552)
15:49:05    at com.sonatype.insight.scan.file.FileVisitor.visitFile(FileVisitor.java:278)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:86)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.walk(FileWalker.java:35)
15:49:05    at com.sonatype.insight.scan.file.FileScanner.scan(FileScanner.java:192)
15:49:05    at com.sonatype.nexus.api.iq.scan.Scanner.scanModules(Scanner.java:191)
15:49:05    at com.sonatype.nexus.api.iq.scan.Scanner.scan(Scanner.java:114)
15:49:05    at com.sonatype.nexus.api.iq.impl.DefaultIqClient.scan(DefaultIqClient.java:312)
15:49:05    at com.sonatype.nexus.api.iq.impl.DefaultIqClient.scan(DefaultIqClient.java:290)
15:49:05    at com.sonatype.nexus.api.iq.internal.InternalIqClient$scan.call(Unknown Source)
15:49:05    at org.sonatype.nexus.ci.iq.RemoteScanner.call(RemoteScanner.groovy:99)
15:49:05    at org.sonatype.nexus.ci.iq.RemoteScanner.call(RemoteScanner.groovy)
15:49:05    at hudson.remoting.UserRequest.perform(UserRequest.java:211)
15:49:05    at hudson.remoting.UserRequest.perform(UserRequest.java:54)
15:49:05    at hudson.remoting.Request$2.run(Request.java:377)
15:49:05    at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
15:49:05    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
15:49:05    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
15:49:05    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
15:49:05    at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:125)
15:49:05    at java.base/java.lang.Thread.run(Thread.java:834)
15:49:05  [ERROR] Could not parse class file FastIntegerMath.class
15:49:05  java.lang.UnsupportedOperationException: Hashing for Java 21 and beyond is not supported yet
15:49:05    at com.sonatype.insight.scan.hash.internal.asm.AsmClassFactory.newClassNode(AsmClassFactory.java:44)
15:49:05    at com.sonatype.insight.scan.hash.internal.JavaDigester.digest(JavaDigester.java:90)
15:49:05    at com.sonatype.insight.scan.hash.internal.DefaultDigester.digest(DefaultDigester.java:75)
15:49:05    at com.sonatype.insight.scan.hash.internal.DefaultDigester.digest(DefaultDigester.java:54)
15:49:05    at com.sonatype.insight.scan.file.ScanUtils.setHash(ScanUtils.java:79)
15:49:05    at com.sonatype.insight.scan.file.FileVisitor.setScanItemHash(FileVisitor.java:552)
15:49:05    at com.sonatype.insight.scan.file.FileVisitor.visitFile(FileVisitor.java:278)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:86)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.doWalk(FileWalker.java:75)
15:49:05    at com.sonatype.insight.scan.file.FileWalker.walk(FileWalker.java:35)
15:49:05    at com.sonatype.insight.scan.file.FileScanner.scan(FileScanner.java:192)
15:49:05    at com.sonatype.nexus.api.iq.scan.Scanner.scanModules(Scanner.java:191)
15:49:05    at com.sonatype.nexus.api.iq.scan.Scanner.scan(Scanner.java:114)
15:49:05    at com.sonatype.nexus.api.iq.impl.DefaultIqClient.scan(DefaultIqClient.java:312)
15:49:05    at com.sonatype.nexus.api.iq.impl.DefaultIqClient.scan(DefaultIqClient.java:290)
15:49:05    at com.sonatype.nexus.api.iq.internal.InternalIqClient$scan.call(Unknown Source)
15:49:05    at org.sonatype.nexus.ci.iq.RemoteScanner.call(RemoteScanner.groovy:99)
15:49:05    at org.sonatype.nexus.ci.iq.RemoteScanner.call(RemoteScanner.groovy)
15:49:05    at hudson.remoting.UserRequest.perform(UserRequest.java:211)
15:49:05    at hudson.remoting.UserRequest.perform(UserRequest.java:54)
15:49:05    at hudson.remoting.Request$2.run(Request.java:377)
15:49:05    at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
15:49:05    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
15:49:05    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
15:49:05    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
15:49:05    at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:125)
15:49:05    at java.base/java.lang.Thread.run(Thread.java:834)

Anything else?

We tried using Java 11 and Java 17 in our Pipeline, both did not fix that error occuring.

Are you interested in contributing a fix?

No response

daniel-beck commented 3 months ago

Closing this issue as the repository is being archived for https://github.com/jenkins-infra/helpdesk/issues/3742.