Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-74959

scm error in reference build from reference recorder

      Hello,

      I recently updated my jenkins controller 2462.3 ->2479.2 (JAVA 11 -> JAVA21)

      I didn't have any issue with the update but this one :

      I have two jobs, one triggered on any changes on my "main" branch which serves as reference for my other job executing for each merge requests.

      I use discoverGitReferenceBuild to indicate which job serves as a reference.

      when I use "recordIssues"  upon a merge request in my pipelin with  :

      recordIssues tool: gcc(id: "GCC_${products[i]}${products_variant[j]}", pattern: "out/gcc${products[i]}${products_variant[j]}.log"), name : "warn${products[i]}_${products_variant[j]}", qualityGates: [[threshold: 1, type: 'DELTA', unstable: true]], failOnError : true, scm: "${gitlabSourceRepoName}"

      I got an error when fetching issues from the reference job :

       

      [GNU C Compiler (gcc)] Obtaining reference build from reference recorder
      [GNU C Compiler (gcc)] -> Found 'PLATEFORM » dcreg_reference #20'
      [GNU C Compiler (gcc)] Quality gate successful for reference build 'PLATEFORM » dcreg_reference #20', using this build as reference
      [GNU C Compiler (gcc)] Using reference build 'PLATEFORM/dcreg_reference #20' to compute new, fixed, and outstanding issues
      [GNU C Compiler (gcc)] Issues delta (vs. reference build): outstanding: 1, new: 0, fixed: 0
      [GNU C Compiler (gcc)] Detect all issues that are part of modified code
      [GNU C Compiler (gcc)] -> Using commit '9af77a1' as latest commit for build 'PLATEFORM » dcreg #180'
      [GNU C Compiler (gcc)] -> Using commit '26e24f8' as latest commit for build 'PLATEFORM » dcreg_reference #20'
      [GNU C Compiler (gcc)] -> Invoking Git delta calculator for determining the changes between commits '9af77a1' and '26e24f8'
      [GNU C Compiler (gcc)] Issues in modified code: 0 (new: 0, outstanding: 0)
      [GNU C Compiler (gcc)] Evaluating quality gates
      [GNU C Compiler (gcc)] -> All quality gates have been passed
      [GNU C Compiler (gcc)] -> Details for each quality gate:
      [GNU C Compiler (gcc)]    - [Delta (any severity)]: ≪Success≫ - (Actual value: 0, Quality gate: 1.00)
      [GNU C Compiler (gcc)] Health report is disabled - skipping
      [GNU C Compiler (gcc)] Created analysis result for 1 issues (found 0 new issues, fixed 0 issues)
      [GNU C Compiler (gcc)] Failing build because analysis result contains errors
      [GNU C Compiler (gcc)] Attaching ResultAction with ID 'GCC_dcreg_db001' to build 'PLATEFORM/dcreg #180'.
      [GNU C Compiler (gcc)] [-ERROR-] Errors while computing delta: 
      [GNU C Compiler (gcc)] [-ERROR-] Errors from Git Delta:
      [GNU C Compiler (gcc)] [-ERROR-] Could not find the specified commit - is the SCM parameter correctly set?
      [GNU C Compiler (gcc)] [-ERROR-] org.eclipse.jgit.errors.MissingObjectException: Missing unknown ade259be30cfbfa1c7a1737d5ea70109e88ce5d9
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for git-client//org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:136)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for git-client//org.eclipse.jgit.lib.ObjectDatabase.open(ObjectDatabase.java:181)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for git-client//org.eclipse.jgit.lib.ObjectDatabase.open(ObjectDatabase.java:151)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for git-forensics//io.jenkins.plugins.forensics.git.delta.DeltaRepositoryCallback.getFileContent(DeltaRepositoryCallback.java:222)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for git-forensics//io.jenkins.plugins.forensics.git.delta.DeltaRepositoryCallback.createFileChanges(DeltaRepositoryCallback.java:193)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for git-forensics//io.jenkins.plugins.forensics.git.delta.DeltaRepositoryCallback.calculateDelta(DeltaRepositoryCallback.java:110)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for git-forensics//io.jenkins.plugins.forensics.git.delta.DeltaRepositoryCallback.invoke(DeltaRepositoryCallback.java:72)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for git-forensics//io.jenkins.plugins.forensics.git.delta.DeltaRepositoryCallback.invoke(DeltaRepositoryCallback.java:42)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for git-client//org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.withRepository(AbstractGitAPIImpl.java:28)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for git-client//org.jenkinsci.plugins.gitclient.CliGitAPIImpl.withRepository(CliGitAPIImpl.java:82)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for git-forensics//io.jenkins.plugins.forensics.git.delta.GitDeltaCalculator.calculateDelta(GitDeltaCalculator.java:64)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for forensics-api//io.jenkins.plugins.forensics.delta.DeltaCalculator.calculateDelta(DeltaCalculator.java:34)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for warnings-ng//io.jenkins.plugins.analysis.core.steps.IssuesPublisher.markIssuesInModifiedFiles(IssuesPublisher.java:162)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for warnings-ng//io.jenkins.plugins.analysis.core.steps.IssuesPublisher.computeDelta(IssuesPublisher.java:148)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for warnings-ng//io.jenkins.plugins.analysis.core.steps.IssuesPublisher.attachAction(IssuesPublisher.java:92)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for warnings-ng//io.jenkins.plugins.analysis.core.steps.IssuesRecorder.publishResult(IssuesRecorder.java:759)
      [GNU C Compiler (gcc)] [-ERROR-]     at PluginClassLoader for warnings-ng//io.jenkins.plugins.analysis.core.steps.IssuesRecorder.record(IssuesRecorder.java:675)
      [GNU C Compiler (gcc)] [-ERROR-]   ... skipped logging of 9 additional errors ...
      [Checks API] No suitable checks publisher found.

       

      I do not understand where this sha comes from :

      ade259be30cfbfa1c7a1737d5ea70109e88ce5d9

      It is not in my project repository, neither in my library repository.

       

      Have you any clue on this bug ?

      more logs are in the attached file

      Thank you for your time

      Arthur

          [JENKINS-74959] scm error in reference build from reference recorder

          Ulli Hafner added a comment -

          I have no idea how this could happen. Especially why this happens with the new version and not with the old. I did not yet upgrade my plugins to the latest Git versions, so maybe this is an problem with the new Git API. But the log looks good:

            
          [GNU C Compiler (gcc)] -> Using commit '9af77a1' as latest commit for build 'PLATEFORM » dcreg #180'
          [GNU C Compiler (gcc)] -> Using commit '26e24f8' as latest commit for build 'PLATEFORM » dcreg_reference #20'
          

          Is there a local merge commit from Jenkins in the Git checkout section log?

          Ulli Hafner added a comment - I have no idea how this could happen. Especially why this happens with the new version and not with the old. I did not yet upgrade my plugins to the latest Git versions, so maybe this is an problem with the new Git API. But the log looks good: [GNU C Compiler (gcc)] -> Using commit '9af77a1' as latest commit for build 'PLATEFORM » dcreg #180' [GNU C Compiler (gcc)] -> Using commit '26e24f8' as latest commit for build 'PLATEFORM » dcreg_reference #20' Is there a local merge commit from Jenkins in the Git checkout section log?

          Arthur added a comment - - edited

          no, the git checkout is pretty straight forward :

          The recommended git tool is: NONE
          using credential b476658b-7f64-44c8-8cc8-e7e2e72df765
           > git rev-parse --resolve-git-dir /var/lib/jenkins/workspace/PLATEFORM/dcreg@2/.git # timeout=10
          Fetching changes from the remote Git repository
           > git config remote.origin.url git@gitlab.com:atle2c/product_components/dcreg.git # timeout=10
          Using shallow fetch with depth 1
          Cleaning workspace
           > git rev-parse --verify HEAD # timeout=10
          Resetting working tree
           > git reset --hard # timeout=10
           > git clean -ffdx # timeout=10
           > git submodule foreach --recursive git reset --hard # timeout=10
           > git submodule foreach git clean -fdx # timeout=10
          Fetching upstream changes from git@gitlab.com:atle2c/product_components/dcreg.git
           > git --version # timeout=10
           > git --version # 'git version 2.20.1'
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          Verifying host key using known hosts file
           > git fetch --no-tags --force --progress --depth=1 -- git@gitlab.com:atle2c/product_components/dcreg.git +refs/heads/*:refs/remotes/origin/* # timeout=10
           > git rev-parse 9af77a12a5e1a13bd98e134902765448c9913a08^{commit} # timeout=10
           > git branch -a -v --no-abbrev --contains 9af77a12a5e1a13bd98e134902765448c9913a08 # timeout=10
          Checking out Revision 9af77a12a5e1a13bd98e134902765448c9913a08 (origin/dev-SWPACT_486-branch)
           > git config core.sparsecheckout # timeout=10
           > git checkout -f 9af77a12a5e1a13bd98e134902765448c9913a08 # timeout=10
          Commit message: "[DEVMINOR][SWPACT-486] jenkins: fix git forensic error"
           > git remote # timeout=10
           > git submodule init # timeout=10
           > git submodule sync # timeout=10
           > git config --get remote.origin.url # timeout=10
          Using shallow submodule update with depth 1
           > git submodule init # timeout=10
           > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10
           > git config --get submodule.build.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.build.path # timeout=10
           > git config --get submodule.external/stm32cube.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.external/stm32cube.path # timeout=10
           > git config --get submodule.external/hal_stm32.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.external/hal_stm32.path # timeout=10
           > git config --get submodule.external/utils.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.external/utils.path # timeout=10
           > git config --get submodule.external/osal.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.external/osal.path # timeout=10
           > git config --get submodule.external/FreeRTOS-Kernel.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.external/FreeRTOS-Kernel.path # timeout=10
           > git config --get submodule.external/datamodel_xml.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.external/datamodel_xml.path # timeout=10
           > git config --get submodule.external/datamodel.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.external/datamodel.path # timeout=10
           > git config --get submodule.external/watchdog.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.external/watchdog.path # timeout=10
           > git config --get submodule.external/diag.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.external/diag.path # timeout=10
           > git config --get submodule.external/power_switch.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.external/power_switch.path # timeout=10
           > git config --get submodule.external/adc_fifo.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.external/adc_fifo.path # timeout=10
           > git config --get submodule.external/ntc.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.external/ntc.path # timeout=10
           > git config --get submodule.external/stepper.url # timeout=10
           > git remote # timeout=10
           > git config --get remote.origin.url # timeout=10
           > git config -f .gitmodules --get submodule.external/stepper.path # timeout=10
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          Verifying host key using known hosts file
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          Verifying host key using known hosts file
          Verifying host key using known hosts file
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          Verifying host key using known hosts file
          Verifying host key using known hosts file
          Verifying host key using known hosts file
          Verifying host key using known hosts file
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          Verifying host key using known hosts file
           > git submodule update --depth=1 external/stm32cube # timeout=10
           > git submodule update --depth=1 external/utils # timeout=10
           > git submodule update --depth=1 build # timeout=10
           > git submodule update --depth=1 external/freertos # timeout=10
           > git submodule update --depth=1 external/datamodel_xml # timeout=10
           > git submodule update --depth=1 external/datamodel # timeout=10
           > git submodule update --depth=1 external/osal # timeout=10
           > git submodule update --depth=1 external/hal_stm32 # timeout=10
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          Verifying host key using known hosts file
           > git submodule update --depth=1 external/watchdog # timeout=10
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          Verifying host key using known hosts file
           > git submodule update --depth=1 external/diag # timeout=10
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          Verifying host key using known hosts file
           > git submodule update --depth=1 external/power_switch # timeout=10
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          Verifying host key using known hosts file
           > git submodule update --depth=1 external/adc_fifo # timeout=10
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          Verifying host key using known hosts file
           > git submodule update --depth=1 external/ntc # timeout=10
          using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key
          Verifying host key using known hosts file
           > git submodule update --depth=1 external/stepper # timeout=10
          [GitCheckoutListener] Skipping recording, since SCM 'git git@gitlab.com:atle2c/product_components/dcreg.git' already has been processed 

          I saw that it only concerns job created before my system update. Any new job work fine.

          for jobs concerned I disabled the failOnError setting (putting it to false) for now to overcome this issue...

          Arthur added a comment - - edited no, the git checkout is pretty straight forward : The recommended git tool is: NONE using credential b476658b-7f64-44c8-8cc8-e7e2e72df765 > git rev-parse --resolve-git-dir / var /lib/jenkins/workspace/PLATEFORM/dcreg@2/.git # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git@gitlab.com:atle2c/product_components/dcreg.git # timeout=10 Using shallow fetch with depth 1 Cleaning workspace > git rev-parse --verify HEAD # timeout=10 Resetting working tree > git reset --hard # timeout=10 > git clean -ffdx # timeout=10 > git submodule foreach --recursive git reset --hard # timeout=10 > git submodule foreach git clean -fdx # timeout=10 Fetching upstream changes from git@gitlab.com:atle2c/product_components/dcreg.git > git --version # timeout=10 > git --version # 'git version 2.20.1' using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key Verifying host key using known hosts file > git fetch --no-tags --force --progress --depth=1 -- git@gitlab.com:atle2c/product_components/dcreg.git +refs/heads/*:refs/remotes/origin/* # timeout=10 > git rev-parse 9af77a12a5e1a13bd98e134902765448c9913a08^{commit} # timeout=10 > git branch -a -v --no-abbrev --contains 9af77a12a5e1a13bd98e134902765448c9913a08 # timeout=10 Checking out Revision 9af77a12a5e1a13bd98e134902765448c9913a08 (origin/dev-SWPACT_486-branch) > git config core.sparsecheckout # timeout=10 > git checkout -f 9af77a12a5e1a13bd98e134902765448c9913a08 # timeout=10 Commit message: "[DEVMINOR][SWPACT-486] jenkins: fix git forensic error" > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 Using shallow submodule update with depth 1 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.build.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.build.path # timeout=10 > git config --get submodule.external/stm32cube.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.external/stm32cube.path # timeout=10 > git config --get submodule.external/hal_stm32.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.external/hal_stm32.path # timeout=10 > git config --get submodule.external/utils.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.external/utils.path # timeout=10 > git config --get submodule.external/osal.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.external/osal.path # timeout=10 > git config --get submodule.external/FreeRTOS-Kernel.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.external/FreeRTOS-Kernel.path # timeout=10 > git config --get submodule.external/datamodel_xml.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.external/datamodel_xml.path # timeout=10 > git config --get submodule.external/datamodel.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.external/datamodel.path # timeout=10 > git config --get submodule.external/watchdog.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.external/watchdog.path # timeout=10 > git config --get submodule.external/diag.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.external/diag.path # timeout=10 > git config --get submodule.external/power_switch.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.external/power_switch.path # timeout=10 > git config --get submodule.external/adc_fifo.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.external/adc_fifo.path # timeout=10 > git config --get submodule.external/ntc.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.external/ntc.path # timeout=10 > git config --get submodule.external/stepper.url # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 > git config -f .gitmodules --get submodule.external/stepper.path # timeout=10 using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key Verifying host key using known hosts file using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key Verifying host key using known hosts file Verifying host key using known hosts file using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key Verifying host key using known hosts file Verifying host key using known hosts file Verifying host key using known hosts file Verifying host key using known hosts file using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key Verifying host key using known hosts file > git submodule update --depth=1 external/stm32cube # timeout=10 > git submodule update --depth=1 external/utils # timeout=10 > git submodule update --depth=1 build # timeout=10 > git submodule update --depth=1 external/freertos # timeout=10 > git submodule update --depth=1 external/datamodel_xml # timeout=10 > git submodule update --depth=1 external/datamodel # timeout=10 > git submodule update --depth=1 external/osal # timeout=10 > git submodule update --depth=1 external/hal_stm32 # timeout=10 using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key Verifying host key using known hosts file > git submodule update --depth=1 external/watchdog # timeout=10 using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key Verifying host key using known hosts file > git submodule update --depth=1 external/diag # timeout=10 using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key Verifying host key using known hosts file > git submodule update --depth=1 external/power_switch # timeout=10 using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key Verifying host key using known hosts file > git submodule update --depth=1 external/adc_fifo # timeout=10 using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key Verifying host key using known hosts file > git submodule update --depth=1 external/ntc # timeout=10 using GIT_SSH to set credentials jenkinse2c gitlab.com SSH Key Verifying host key using known hosts file > git submodule update --depth=1 external/stepper # timeout=10 [GitCheckoutListener] Skipping recording, since SCM 'git git@gitlab.com:atle2c/product_components/dcreg.git' already has been processed I saw that it only concerns job created before my system update. Any new job work fine. for jobs concerned I disabled the failOnError setting (putting it to false) for now to overcome this issue...

          I'm also affected by the same error message in a Gerrit Multibranch Pipeline job:

          ...
          [Clang-Tidy] -> Invoking Git delta calculator for determining the changes between commits 'c466ad5' and 'e751159'
          [Clang-Tidy] Issues in modified code: 0 (new: 0, outstanding: 0)
          [Clang-Tidy] No quality gates have been set - skipping
          [Clang-Tidy] Health report is disabled - skipping
          [Clang-Tidy] Created analysis result for 1807 issues (found 1097 new issues, fixed 174 issues)
          [Clang-Tidy] Attaching ResultAction with ID 'clang-tidy' to build '220_02_00146/51%2F12351%2F8 #1'.
          [Clang-Tidy] [-ERROR-] Errors while computing delta:
          [Clang-Tidy] [-ERROR-] Errors from Git Delta:
          [Clang-Tidy] [-ERROR-] Could not find the specified commit - is the SCM parameter correctly set?
          [Clang-Tidy] [-ERROR-] org.eclipse.jgit.errors.MissingObjectException: Missing unknown 2ca3d80744c9667a05ad3be07d69667fcb86f51f
          ...
          In my case, the 2ca3d8074 commit it complains about is a submodule that was bumped to this commit in the affected change. Not sure if this helps to understand what the issue might be.

          Also interesting is that the same change built fine in a number of iterations before, with the same submodule bumps. The only difference between the working and non-working job execution was a change in the Dockerfile used as the agent for the build. I updated the base image from Ubuntu 22.04 to 24.04, as well as upgrading the GCC cross-compiler version from 10.4 to 13.3. I'll try to isolate those changes to see if any of them are the trigger for this.

          Andreas Fritiofson added a comment - I'm also affected by the same error message in a Gerrit Multibranch Pipeline job: ... [Clang-Tidy] -> Invoking Git delta calculator for determining the changes between commits 'c466ad5' and 'e751159' [Clang-Tidy] Issues in modified code: 0 (new: 0, outstanding: 0) [Clang-Tidy] No quality gates have been set - skipping [Clang-Tidy] Health report is disabled - skipping [Clang-Tidy] Created analysis result for 1807 issues (found 1097 new issues, fixed 174 issues) [Clang-Tidy] Attaching ResultAction with ID 'clang-tidy' to build '220_02_00146/51%2F12351%2F8 #1'. [Clang-Tidy] [-ERROR-] Errors while computing delta: [Clang-Tidy] [-ERROR-] Errors from Git Delta: [Clang-Tidy] [-ERROR-] Could not find the specified commit - is the SCM parameter correctly set? [Clang-Tidy] [-ERROR-] org.eclipse.jgit.errors.MissingObjectException: Missing unknown 2ca3d80744c9667a05ad3be07d69667fcb86f51f ... In my case, the 2ca3d8074 commit it complains about is a submodule that was bumped to this commit in the affected change. Not sure if this helps to understand what the issue might be. Also interesting is that the same change built fine in a number of iterations before, with the same submodule bumps. The only difference between the working and non-working job execution was a change in the Dockerfile used as the agent for the build. I updated the base image from Ubuntu 22.04 to 24.04, as well as upgrading the GCC cross-compiler version from 10.4 to 13.3. I'll try to isolate those changes to see if any of them are the trigger for this.

          No sorry, the "Missing unknown" error from this plugin was a red herring, at least for me. The same output is emitted in a successful build, hence it's not what makes the job fail.

          For me there was another earlier failure which was the cause of the problem: The clang-tidy run failed due to clang-tidy-18 available in Ubuntu 24.04 being pickier that clang-tidy-14 in 22.04, and returning failure due to "error: too many errors emitted, stopping now [clang-diagnostic-error]". Its output was piped to a file and hence not clearly visible in the Jenkins console log.

          Andreas Fritiofson added a comment - No sorry, the "Missing unknown" error from this plugin was a red herring, at least for me. The same output is emitted in a successful build, hence it's not what makes the job fail. For me there was another earlier failure which was the cause of the problem: The clang-tidy run failed due to clang-tidy-18 available in Ubuntu 24.04 being pickier that clang-tidy-14 in 22.04, and returning failure due to "error: too many errors emitted, stopping now [clang-diagnostic-error] ". Its output was piped to a file and hence not clearly visible in the Jenkins console log.

          Mark added a comment - - edited

          I am getting the same error with it trying to use an incorrect commit hash as a reference:

          [GCC Compiler for Ubuntu 22.04] Obtaining reference build from reference recorder
          [GCC Compiler for Ubuntu 22.04] -> Found 'Greensea Systems » jenkins_test » main #216'
          [GCC Compiler for Ubuntu 22.04] Quality gate successful for reference build 'Greensea Systems » jenkins_test » main #216', using this build as reference
          [GCC Compiler for Ubuntu 22.04] Using reference build 'GreenseaSystems/jenkins_test/main #216' to compute new, fixed, and outstanding issues
          [GCC Compiler for Ubuntu 22.04] Issues delta (vs. reference build): outstanding: 2, new: 0, fixed: 0
          [GCC Compiler for Ubuntu 22.04] Detect all issues that are part of modified code
          [GCC Compiler for Ubuntu 22.04] -> Using commit 'a010e53' as latest commit for build 'Greensea Systems » jenkins_test » jenkins-upgrade-test-rc #4'
          [GCC Compiler for Ubuntu 22.04] -> Using commit 'a010e53' as latest commit for build 'Greensea Systems » jenkins_test » main #216'
          [GCC Compiler for Ubuntu 22.04] -> Invoking Git delta calculator for determining the changes between commits 'a010e53' and 'a010e53'
          [GCC Compiler for Ubuntu 22.04] Issues in modified code: 0 (new: 0, outstanding: 0)
          [GCC Compiler for Ubuntu 22.04] Evaluating quality gates
          [GCC Compiler for Ubuntu 22.04] -> All quality gates have been passed
          [GCC Compiler for Ubuntu 22.04] -> Details for each quality gate:
          [GCC Compiler for Ubuntu 22.04]    - [New (any severity)]: ≪Success≫ - (Actual value: 0, Quality gate: 1.00)
          [GCC Compiler for Ubuntu 22.04] Health report is disabled - skipping
          [GCC Compiler for Ubuntu 22.04] Created analysis result for 2 issues (found 0 new issues, fixed 0 issues)
          [GCC Compiler for Ubuntu 22.04] Attaching ResultAction with ID 'gcc-warnings-ubuntu_jammy_x86_64' to build 'GreenseaSystems/jenkins_test/jenkins-upgrade-test-rc #4'.
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] Errors while computing delta: 
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] Errors from Git Delta:
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] Could not find the specified commit - is the SCM parameter correctly set?
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] org.eclipse.jgit.errors.MissingObjectException: Missing unknown a010e5375e1fda40e506c8dfb6e255ab61254960
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at PluginClassLoader for git-client//org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:136)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at PluginClassLoader for git-client//org.eclipse.jgit.lib.ObjectReader.open(ObjectReader.java:216)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at PluginClassLoader for git-client//org.eclipse.jgit.revwalk.RevWalk.parseAny(RevWalk.java:1127)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at PluginClassLoader for git-client//org.eclipse.jgit.revwalk.RevWalk.parseCommit(RevWalk.java:1038)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at PluginClassLoader for git-forensics//io.jenkins.plugins.forensics.git.delta.DeltaRepositoryCallback.calculateDelta(DeltaRepositoryCallback.java:90)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at PluginClassLoader for git-forensics//io.jenkins.plugins.forensics.git.delta.DeltaRepositoryCallback.invoke(DeltaRepositoryCallback.java:73)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at PluginClassLoader for git-forensics//io.jenkins.plugins.forensics.git.delta.DeltaRepositoryCallback.invoke(DeltaRepositoryCallback.java:43)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at PluginClassLoader for git-client//org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.withRepository(AbstractGitAPIImpl.java:28)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at PluginClassLoader for git-client//org.jenkinsci.plugins.gitclient.CliGitAPIImpl.withRepository(CliGitAPIImpl.java:83)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:986)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:961)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:907)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at hudson.remoting.UserRequest.perform(UserRequest.java:225)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at hudson.remoting.UserRequest.perform(UserRequest.java:50)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-] 	at hudson.remoting.Request$2.run(Request.java:391)
          [GCC Compiler for Ubuntu 22.04] [-ERROR-]   ... skipped logging of 5 additional errors ... 

          I've determined that it's trying to use the hash from the version of the pipeline repo that it's building with, and not the hash from the repo it's building. This started happening after I upgraded Jenkins to 2.492.1 and the Warnings Plugin to 12.2.0 (and subsequently 12.3.0).

           

          I'm wondering if this might be some type of incompatibility with the new version of Warnings Plugin with older builds?  In my case the build it selects as a reference is prior to the upgrade.

          Mark added a comment - - edited I am getting the same error with it trying to use an incorrect commit hash as a reference: [GCC Compiler for Ubuntu 22.04] Obtaining reference build from reference recorder [GCC Compiler for Ubuntu 22.04] -> Found 'Greensea Systems » jenkins_test » main #216' [GCC Compiler for Ubuntu 22.04] Quality gate successful for reference build 'Greensea Systems » jenkins_test » main #216' , using this build as reference [GCC Compiler for Ubuntu 22.04] Using reference build 'GreenseaSystems/jenkins_test/main #216' to compute new , fixed, and outstanding issues [GCC Compiler for Ubuntu 22.04] Issues delta (vs. reference build): outstanding: 2, new : 0, fixed: 0 [GCC Compiler for Ubuntu 22.04] Detect all issues that are part of modified code [GCC Compiler for Ubuntu 22.04] -> Using commit 'a010e53' as latest commit for build 'Greensea Systems » jenkins_test » jenkins-upgrade-test-rc #4' [GCC Compiler for Ubuntu 22.04] -> Using commit 'a010e53' as latest commit for build 'Greensea Systems » jenkins_test » main #216' [GCC Compiler for Ubuntu 22.04] -> Invoking Git delta calculator for determining the changes between commits 'a010e53' and 'a010e53' [GCC Compiler for Ubuntu 22.04] Issues in modified code: 0 ( new : 0, outstanding: 0) [GCC Compiler for Ubuntu 22.04] Evaluating quality gates [GCC Compiler for Ubuntu 22.04] -> All quality gates have been passed [GCC Compiler for Ubuntu 22.04] -> Details for each quality gate: [GCC Compiler for Ubuntu 22.04] - [New (any severity)]: ≪Success≫ - (Actual value: 0, Quality gate: 1.00) [GCC Compiler for Ubuntu 22.04] Health report is disabled - skipping [GCC Compiler for Ubuntu 22.04] Created analysis result for 2 issues (found 0 new issues, fixed 0 issues) [GCC Compiler for Ubuntu 22.04] Attaching ResultAction with ID 'gcc-warnings-ubuntu_jammy_x86_64' to build 'GreenseaSystems/jenkins_test/jenkins-upgrade-test-rc #4' . [GCC Compiler for Ubuntu 22.04] [-ERROR-] Errors while computing delta: [GCC Compiler for Ubuntu 22.04] [-ERROR-] Errors from Git Delta: [GCC Compiler for Ubuntu 22.04] [-ERROR-] Could not find the specified commit - is the SCM parameter correctly set? [GCC Compiler for Ubuntu 22.04] [-ERROR-] org.eclipse.jgit.errors.MissingObjectException: Missing unknown a010e5375e1fda40e506c8dfb6e255ab61254960 [GCC Compiler for Ubuntu 22.04] [-ERROR-] at PluginClassLoader for git-client //org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:136) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at PluginClassLoader for git-client //org.eclipse.jgit.lib.ObjectReader.open(ObjectReader.java:216) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at PluginClassLoader for git-client //org.eclipse.jgit.revwalk.RevWalk.parseAny(RevWalk.java:1127) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at PluginClassLoader for git-client //org.eclipse.jgit.revwalk.RevWalk.parseCommit(RevWalk.java:1038) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at PluginClassLoader for git-forensics //io.jenkins.plugins.forensics.git.delta.DeltaRepositoryCallback.calculateDelta(DeltaRepositoryCallback.java:90) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at PluginClassLoader for git-forensics //io.jenkins.plugins.forensics.git.delta.DeltaRepositoryCallback.invoke(DeltaRepositoryCallback.java:73) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at PluginClassLoader for git-forensics //io.jenkins.plugins.forensics.git.delta.DeltaRepositoryCallback.invoke(DeltaRepositoryCallback.java:43) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at PluginClassLoader for git-client //org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.withRepository(AbstractGitAPIImpl.java:28) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at PluginClassLoader for git-client //org.jenkinsci.plugins.gitclient.CliGitAPIImpl.withRepository(CliGitAPIImpl.java:83) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at java.base/java.lang.reflect.Method.invoke(Method.java:580) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:986) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:961) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:907) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at hudson.remoting.UserRequest.perform(UserRequest.java:225) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at hudson.remoting.UserRequest.perform(UserRequest.java:50) [GCC Compiler for Ubuntu 22.04] [-ERROR-] at hudson.remoting.Request$2.run(Request.java:391) [GCC Compiler for Ubuntu 22.04] [-ERROR-] ... skipped logging of 5 additional errors ... I've determined that it's trying to use the hash from the version of the pipeline repo that it's building with, and not the hash from the repo it's building. This started happening after I upgraded Jenkins to 2.492.1 and the Warnings Plugin to 12.2.0 (and subsequently 12.3.0).   I'm wondering if this might be some type of incompatibility with the new version of Warnings Plugin with older builds?  In my case the build it selects as a reference is prior to the upgrade.

          Ulli Hafner added a comment -

          What value did you set for the scm parameter? And what are the names of the two Git repositories in your build?

          Ulli Hafner added a comment - What value did you set for the scm parameter? And what are the names of the two Git repositories in your build?

            drulli Ulli Hafner
            acourtel Arthur
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: