-
Bug
-
Resolution: Duplicate
-
Critical
-
None
-
Jenkins 2.19.3, git-client plugin 2.10
-
Powered by SuggestiMate -
tasman, Blue Ocean 1.3
Upgrading the git-client plugin and noticed that pull request builds behind our GitHub Organization Folders started to fail across the board with the following exception:
Caught: hudson.plugins.git.GitException: org.eclipse.jgit.errors.MissingObjectException: Missing commit 06f18bc86352142786ef533c91350863b382631c
Full log from one such build.
Branch indexing Connecting to https://api.github.com using jenkinsadmin/****** (GitHub access token for jenkinsadmin) Cloning the remote Git repository remote: Counting objects remote: Compressing objects Receiving objects Resolving deltas Updating references Merging master commit 3d19d905686b173b8916ee0247d906f536429621 into PR head commit 06f18bc86352142786ef533c91350863b382631c Merge succeeded, producing 06f18bc86352142786ef533c91350863b382631c Checking out Revision 06f18bc86352142786ef533c91350863b382631c (PR-458) First time build. Skipping changelog. [Pipeline] properties [Pipeline] node Running on celery in /home/jenkins/agent-workspace/workspace/Infra_jenkins.io_PR-458-WGT3J3NBHKU6J2KK5XLMWWKKN2CDZN42K6EQVSUQWUMNA4CYPZQA [Pipeline] { [Pipeline] stage (Clean workspace) Using the ‘stage’ step without a block argument is deprecated Entering stage Clean workspace Proceeding [Pipeline] deleteDir [Pipeline] sh [Infra_jenkins.io_PR-458-WGT3J3NBHKU6J2KK5XLMWWKKN2CDZN42K6EQVSUQWUMNA4CYPZQA] Running shell script + ls -lah total 24K drwxrwxr-x 2 jenkins jenkins 4.0K Nov 17 14:37 . drwxrwxr-x 94 jenkins jenkins 20K Nov 17 14:37 .. [Pipeline] stage (Checkout source) Using the ‘stage’ step without a block argument is deprecated Entering stage Checkout source Proceeding [Pipeline] checkout Cloning the remote Git repository remote: Counting objects remote: Compressing objects Receiving objects Resolving deltas Updating references Merging master commit 3d19d905686b173b8916ee0247d906f536429621 into PR head commit 06f18bc86352142786ef533c91350863b382631c Merge succeeded, producing 06f18bc86352142786ef533c91350863b382631c Checking out Revision 06f18bc86352142786ef533c91350863b382631c (PR-458) [Pipeline] } [Pipeline] // node [Pipeline] echo Caught: hudson.plugins.git.GitException: org.eclipse.jgit.errors.MissingObjectException: Missing commit 06f18bc86352142786ef533c91350863b382631c [Pipeline] mail [Pipeline] End of Pipeline
- is blocked by
-
JENKINS-39704 Autofavouriting breaks first build of a new job/branch
-
- Closed
-
- relates to
-
JENKINS-43400 Autofavorite broken on remote agents
-
- Open
-
-
JENKINS-46639 autofavourite fails with git-client plugin and jgit 4.5.3
-
- Closed
-
- links to
[JENKINS-39832] org.eclipse.jgit.errors.MissingObjectException: Missing commit
Hrm, perhaps this is something in the Branch API plugin or GitHub Branch Source plugin then? I encountered the issue with 2.1.0 of the git-client issue installed, downgraded to 2.0.0 and then restarted, which seemed to fix the issue.
Perhaps there's some weird behavior being exercised in one of the plugins on top of git-client :/
I suspect it is in the git client plugin, though I don't understand precisely what it is in the changes from 2.0.0 to 2.1.0.
Some possibilities might include:
I'm sure there are others, but those seem most likely to me.
If I built a 2.1.0 variant without JGit 4.5.0, could you deploy it as a test?
I suspect it is in the git client plugin, though I don't understand precisely what it is in the changes from 2.0.0 to 2.1.0.
Some possibilities might include:
I'm sure there are others, but those seem most likely to me.
If I built a 2.1.0 variant without JGit 4.5.0, could you deploy it as a test?
I am experiencing the same bug, I think:
hudson.plugins.git.GitException: org.eclipse.jgit.errors.MissingObjectException: Missing commit eef01d322c4d33827a7dafa888050b647563bc34
at org.jenkinsci.plugins.gitclient.JGitAPIImpl$4.includes(JGitAPIImpl.java:1005)
at io.jenkins.blueocean.autofavorite.FavoritingScmListener.onCheckout(FavoritingScmListener.java:58)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:123)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:83)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:73)
at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:52)
at hudson.security.ACL.impersonate(ACL.java:221)
at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:49)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing commit eef01d322c4d33827a7dafa888050b647563bc34
at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:159)
at org.eclipse.jgit.revwalk.RevWalk.getCachedBytes(RevWalk.java:903)
at org.eclipse.jgit.revwalk.RevCommit.parseHeaders(RevCommit.java:155)
at org.eclipse.jgit.revwalk.RevWalk.markStart(RevWalk.java:293)
at org.jenkinsci.plugins.gitclient.JGitAPIImpl$4.includes(JGitAPIImpl.java:1001)
I am using "git client plugin 2.0.0". It happens on a multibranch pipeline, first time I build the branch. If I re-run the build, it works.
I am using the following command to checkout:
checkout(
[
$class: 'GitSCM',
branches: [[name: "origin/branch"]],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'CloneOption', depth: 0, noTags: false, reference: '', shallow: true]],
submoduleCfg: [],
userRemoteConfigs:
[
[credentialsId: '<credentialsId>', url: '<url>']
]
])
jones if you're seeing that exception on git client plugin 2.0.0 and if your condition is the same as the condition seen by 201604291_tyler, then the problem is not related to the transition from JGit 2.4 to JGit 2.5. Unfortunately, I don't know how to duplicate the problem you're seeing.
I am a little surprised by one of the entries in your Jenkinsfile checkout definition. You declare that the checkout should be shallow, but declare the depth of the shallow clone to be 0, which would normally mean "don't do a shallow clone". If you intend to use a shallow clone, you probably want a small, positive, non-zero integer for the depth value (like 1). Further, if JGit is used for that clone, then that should result in a warning in the log which says that JGit does not support shallow clone (which it doesn't).
Yeah, it was mainly to let you know that it was not useful to build a 2.1.0 variant without JGit 4.5.0 .
Looking at my plugins, I realized that the pipeline-multibranch-plugin (https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Multibranch+Plugin) was talking about SCM ("In cases where the SCM source does not recognize a branch and fails to determine its tip revision, fail with a clearer message.") in a recent update. I updated to 2.9.2, and it seems to work, now.
I hope it can help rtyler.
Brought back git-client 2.1.0, I don't think I upgraded Multibranch but it's now at 2.9.2 and I haven't yet seen the issue reproduce today.
Will re-open if I see it pop back up
I'm seeing the following entries in the console output where I start my private docker instance. I haven't yet checked to see if the same stack trace is visible in one of the public docker instances. If it is, then I assume the blueocean favorites plugin jamesdumay is probably the right place to move this report (or to create a new report)
Nov 23, 2016 5:09:16 PM io.jenkins.blueocean.autofavorite.FavoritingScmListener onCheckout
SEVERE: Git repository is not consistent. Can't get the changeset that was just checked out.
hudson.plugins.git.GitException: org.eclipse.jgit.errors.MissingObjectException: Missing commit 618f8223bdc1f9d4064f73dbf9c0f5a4c289ab1b
at org.jenkinsci.plugins.gitclient.JGitAPIImpl$4.includes(JGitAPIImpl.java:1020)
at io.jenkins.blueocean.autofavorite.FavoritingScmListener.getChangeSet(FavoritingScmListener.java:103)
at io.jenkins.blueocean.autofavorite.FavoritingScmListener.onCheckout(FavoritingScmListener.java:67)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:123)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:83)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:73)
at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:52)
at hudson.security.ACL.impersonate(ACL.java:221)
at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:49)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing commit 618f8223bdc1f9d4064f73dbf9c0f5a4c289ab1b
at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:159)
at org.eclipse.jgit.revwalk.RevWalk.getCachedBytes(RevWalk.java:903)
at org.eclipse.jgit.revwalk.RevCommit.parseHeaders(RevCommit.java:155)
at org.eclipse.jgit.revwalk.RevWalk.markStart(RevWalk.java:293)
at org.jenkinsci.plugins.gitclient.JGitAPIImpl$4.includes(JGitAPIImpl.java:1016)
... 13 more
markewaite this should have been fixed in JENKINS-39704 and release in blueocean-autofavorite 0.5.
This version ensures that if we get MissingObjectException we retry then if its thrown again it is caught and logged, then the checkout continues.
markewaite I just checked FavoritingScmListener.java:103). Stack trace does not align to the code that throws the exception (it iss a comment) so you are likely running an older version.
That's surprising, since the version of the plugin in my docker instance that I was using is the latest version. It was a somewhat long running Docker instance (3-4 days since it was constructed), but I can readily check a freshly started Docker instance that is using 0.5.
markewaite it was only released a few days ago so you may have missed it. Best check the update center.
I opened the blueocean-favorites jar file in my Docker instance and read the manifest to confirm it is 0.5. However, that doesn't mean that I was running that version, just that it is the version in my current Docker instance. I'll run that Docker instance this evening and confirm it is working as expected.
As far as I can tell, it was my mistake that I was still running the older version of the plugin. I had not refreshed my running Docker image after placing the new plugin version into the image definition.
This is happening to me with autofavorite plugin v0.5 and git plugin v3.0.3
jzila are you just receiving errors in the log? Just to double check - none of your pipelines are failing because of this problem? It seems like there is an issue using the builtin Git. I've opened JENKINS-41576 and made a change so that we use the native Git executable if it is available.
Please watch JENKINS-41576 for updates.
I had the errors in the log and new branches weren't getting builds. I've restarted Jenkins and now it's working: no errors in logs and new branches are getting picked up.
jzila did you perchance upgrade plugins without a restart? Thats the only way I think you could have seen new branches not being able to run.
I'm now seeing this with some frequency in Code Valet.
org.eclipse.jgit.errors.MissingObjectException: Missing commit d968d85eba1f7faaec1ab7d8b9456ab874502a42 at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:159) at org.eclipse.jgit.revwalk.RevWalk.getCachedBytes(RevWalk.java:903) at org.eclipse.jgit.revwalk.RevCommit.parseHeaders(RevCommit.java:155) at org.eclipse.jgit.revwalk.RevWalk.markStart(RevWalk.java:293) at org.jenkinsci.plugins.gitclient.JGitAPIImpl$4.includes(JGitAPIImpl.java:1096) at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$Invocation.replay(RemoteGitImpl.java:101) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:151) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:146) at hudson.remoting.UserRequest.perform(UserRequest.java:181) at hudson.remoting.UserRequest.perform(UserRequest.java:52) at hudson.remoting.Request$2.run(Request.java:336) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
This is using the latest of all plugins, but definitely pops out of auto-favoriting on a regular basis
markewaite, I would be happy to invite you to my Sentry organization if you wish to dig into some of these related errors being reported.
As far as I can tell from that stack trace and your description this is likely still an issue with the autofavorite code, not with the git plugin code. However, I don't have final proof of that.
markewaite any chance you have had a closer look? James is off for a few weeks now so not sure we will get a quick fix unless someone gets to peek into the autofav code. Any more context?
michaelneale I have not done any further investigation. I'll need to check with rtyler tomorrow to see if he wants me to investigate this, or work on evangelism topics.
not sure the stack trace above mentions autofav - and the last comment was back in january if I read it correctly... not sure this could be the same bug back?
michaelneale, the stack trace does not mention autofav, but Tyler's comment mentions it immediately after the stack trace. He says:
...definitely pops out of auto-favoriting on a regular basis
There was a period where I was freqently seeing null pointer exceptions from the autofavorite code in my installation. I thought that I'd submitted a bug report on it, but don't see it in my list of submitted bugs. I may have commented on a bug from someone else.
Here's the full exception from Canary
org.eclipse.jgit.errors.MissingObjectException: Missing commit d968d85eba1f7faaec1ab7d8b9456ab874502a42 at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:159) at org.eclipse.jgit.revwalk.RevWalk.getCachedBytes(RevWalk.java:903) at org.eclipse.jgit.revwalk.RevCommit.parseHeaders(RevCommit.java:155) at org.eclipse.jgit.revwalk.RevWalk.markStart(RevWalk.java:293) at org.jenkinsci.plugins.gitclient.JGitAPIImpl$4.includes(JGitAPIImpl.java:1096) at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$Invocation.replay(RemoteGitImpl.java:101) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:151) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:146) at hudson.remoting.UserRequest.perform(UserRequest.java:181) at hudson.remoting.UserRequest.perform(UserRequest.java:52) at hudson.remoting.Request$2.run(Request.java:336) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) hudson.plugins.git.GitException: org.eclipse.jgit.errors.MissingObjectException: Missing commit d968d85eba1f7faaec1ab7d8b9456ab874502a42 at org.jenkinsci.plugins.gitclient.JGitAPIImpl$4.includes(JGitAPIImpl.java:1100) at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$Invocation.replay(RemoteGitImpl.java:101) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:151) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:146) at hudson.remoting.UserRequest.perform(UserRequest.java:181) at hudson.remoting.UserRequest.perform(UserRequest.java:52) at hudson.remoting.Request$2.run(Request.java:336) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) java.lang.reflect.InvocationTargetException: null at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$Invocation.replay(RemoteGitImpl.java:101) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:151) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:146) at hudson.remoting.UserRequest.perform(UserRequest.java:181) at hudson.remoting.UserRequest.perform(UserRequest.java:52) at hudson.remoting.Request$2.run(Request.java:336) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) hudson.plugins.git.GitException: java.lang.reflect.InvocationTargetException at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:156) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:146) at hudson.remoting.UserRequest.perform(UserRequest.java:181) at hudson.remoting.UserRequest.perform(UserRequest.java:52) at hudson.remoting.Request$2.run(Request.java:336) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) at ......remote call to freebsd-11-f08010 at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1554) at hudson.remoting.UserResponse.retrieve(UserRequest.java:281) at hudson.remoting.Channel.call(Channel.java:839) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:146) at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:132) at com.sun.proxy.$Proxy193.execute at io.jenkins.blueocean.autofavorite.FavoritingScmListener.getChangeSet(FavoritingScmListener.java:143) at io.jenkins.blueocean.autofavorite.FavoritingScmListener.onCheckout(FavoritingScmListener.java:73) at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:132) at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:90) at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:77) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1$1.call(SynchronousNonBlockingStepExecution.java:49) at hudson.security.ACL.impersonate(ACL.java:260) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1.run(SynchronousNonBlockingStepExecution.java:46) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
Auto-favoriting is definitely in there.
there is a lto of noise - I have moved this to https://issues.jenkins-ci.org/browse/JENKINS-46639 - can we close this and move discussion there? this isn't releated to failing builds but failing autofav - quite a different thing
Code changed in jenkins
User: Mark Waite
Path:
pom.xml
http://jenkins-ci.org/commit/git-client-plugin/c90b3f32be6bb6921be634fbaee6ef74084e3bdb
Log:
Revert "Use jgit 4.5.3"
JENKINS-39832 may be visible again due to the update to JGit 4.5.3.
This revert is a test which will be used in the staging environment
to confirm (or refute) that the change from JGit 4.5.2 to JGit 4.5.3
introduces "missing object exception" reports.
This reverts commit 4de8bb5a5e77e94e422828798d0bbb218a7840cc.
Code changed in jenkins
User: Mark Waite
Path:
pom.xml
http://jenkins-ci.org/commit/git-client-plugin/7fa60c6625590522ada79fac614d2101e28ef735
Log:
Merge pull request #266 from MarkEWaite/revert-jgit-4.5.3
Revert "Use jgit 4.5.3" - test JENKINS-39832
Compare: https://github.com/jenkinsci/git-client-plugin/compare/7e62650ab7a6...7fa60c662559
The previously mentioned revert is unlikely to help this case.
The Blue Ocean autofavorite plugin (FavoritingScmListener.getChangeSet) is asking the workspace for the changeset for the tip of the pipeline shared library. It should be asking the workspace for the changeset for the tip of the workspace.
In my case, I see that the autofavorite code is asking for 88016e... That SHA1 is the tip of the master branch of my pipeline shared library, but is does not exist in the workspace of the pipeline for the "docker" or "git-client-plugin" or "hello-world-plugin" where I saw the problem.
As far as I can tell, this is a problem specific to the Blue Ocean autofavorite plugin and its interaction with pipeline shared libraries. If the pipeline job is not executing in a context which provides a pipeline shared library, then this failure should not be visible.
Wow markewaite, thanks for digging into this, I'm glad you found what appears to be the root cause of the issue.
Code changed in jenkins
User: Mark Waite
Path:
pom.xml
http://jenkins-ci.org/commit/git-client-plugin/5119057d51db7e9859d0c4fd51fcb0f59358c288
Log:
Use jgit 4.5.3
Testing for JENKINS-39832 showed that the JGit change was unrelated to
the missing object exception.
This reverts commit c90b3f32be6bb6921be634fbaee6ef74084e3bdb.
Yes this was already diagnosed in https://github.com/jenkinsci/blueocean-autofavorite-plugin/pull/9.
Unfortunately, I don't find the strings "Merging " or "Merge succeeded" in either the git plugin or the git client plugin. I would speculate that some other plugin is using the JGit library provided by the git client plugin, and is performing the merge.
The message from the merge is surprising, since it says that it is merging a commit from the master branch (3d19d9) into the PR head commit (06f18bc) for PR-458. It is odd that it then reports that it is "checking out the PR head commit" (06f18bc). I would have expected it to checkout the results of merging the PR head commit into the master branch (with a resulting new commit) or to checkout the results of merging the master branch into the PR head commit.