Re: on Amazon EFS (NFS): "Reference directory conflict: refs/heads/" with status code 128
From: Jeff King <hidden>
Date: 2016-08-24 21:40:54
On Wed, Aug 24, 2016 at 04:52:33PM -0400, Alex Nauda wrote:
Elastic File System (EFS) is Amazon's scalable filesystem product that is exposed to the OS as an NFS mount. We're using EFS to host the filesystem used by a Jenkins CI server. Sometimes when Jenkins tries to git fetch, we get this error: $ git -c core.askpass=true fetch --tags --progress git@github.com:mediasilo/dodo.git +refs/pull/*:refs/remotes/origin/pr/* fatal: Reference directory conflict: refs/heads/ $ echo $? 128 Has anyone seen anything like this before? Any tips on how to troubleshoot it?
No, I haven't seen it before. That's an internal assertion in the refs code that shouldn't ever happen. It looks like it happens when the loose refs end up with duplicate directory entries. While a bug in git is an obvious culprit, I wonder if it's possible that your filesystem might expose the same name twice in one set of readdir() results. +cc Michael, who added this assertion long ago (and since this is the first report in all these years, it does make me suspect that the filesystem is a critical part of reproducing). -Peff