Git-lfs: Smudge filter failed with a fresh new clone

Created on 22 Dec 2015  Â·  50Comments  Â·  Source: git-lfs/git-lfs

Hi,

My colleagues have added git lfs to manage big files in our repository, so I have installed this git extension. After this installation I run a git clone on my repo, and I get this error at the end:

Error accessing media: data/reconciliation/milan/events/accepted/accepted_links_evensi_eventful.nt (e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855)

Errors logged to .git/lfs/objects/logs/20151222T122146.71016571.log
Use `git lfs logs last` to view the log.
error: external filter git-lfs smudge %f failed 2
error: external filter git-lfs smudge %f failed
fatal: data/reconciliation/milan/events/accepted/accepted_links_evensi_eventful.nt: smudge filter lfs failed

The lfs log says:

git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.2)
git version 2.6.4

$ git-lfs smudge data/reconciliation/milan/events/accepted/accepted_links_evensi_eventful.nt
Error accessing media: data/reconciliation/milan/events/accepted/accepted_links_evensi_eventful.nt (e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855)

relation does not exist
goroutine 1 [running]:
github.com/github/git-lfs/lfs.Stack(0x0, 0x0, 0x0)
    /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_git-lfs/git-lfs/work/git-lfs-1.1.0/src/github.com/github/git-lfs/lfs/errors.go:557 +0x80
github.com/github/git-lfs/commands.logPanicToWriter(0x89c1e8, 0xc82002e290, 0x2500430, 0xc8204aa150)
    /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_git-lfs/git-lfs/work/git-lfs-1.1.0/src/github.com/github/git-lfs/commands/commands.go:184 +0xf7f
github.com/github/git-lfs/commands.logPanic(0x2500430, 0xc8204aa150, 0x0, 0x0)
    /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_git-lfs/git-lfs/work/git-lfs-1.1.0/src/github.com/github/git-lfs/commands/commands.go:148 +0x421
github.com/github/git-lfs/commands.handlePanic(0x2500430, 0xc8204aa150, 0x0, 0x0)
    /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_git-lfs/git-lfs/work/git-lfs-1.1.0/src/github.com/github/git-lfs/commands/commands.go:123 +0x4e
github.com/github/git-lfs/commands.LoggedError(0x2500430, 0xc8204aa150, 0x55b0c0, 0x1e, 0xc820113c98, 0x2, 0x2)
    /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_git-lfs/git-lfs/work/git-lfs-1.1.0/src/github.com/github/git-lfs/commands/commands.go:73 +0x82
github.com/github/git-lfs/commands.smudgeCommand(0x75f040, 0xc820011a90, 0x1, 0x1)
    /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_git-lfs/git-lfs/work/git-lfs-1.1.0/src/github.com/github/git-lfs/commands/command_smudge.go:77 +0xd89
github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra.(*Command).execute(0x75f040, 0xc8200119e0, 0x1, 0x1, 0x0, 0x0)
    /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_git-lfs/git-lfs/work/git-lfs-1.1.0/src/github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra/command.go:477 +0x403
github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra.(*Command).Execute(0x760080, 0x0, 0x0)
    /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_git-lfs/git-lfs/work/git-lfs-1.1.0/src/github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra/command.go:551 +0x46a
github.com/github/git-lfs/commands.Run()
    /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_git-lfs/git-lfs/work/git-lfs-1.1.0/src/github.com/github/git-lfs/commands/commands.go:88 +0x23
main.main()
    /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_git-lfs/git-lfs/work/git-lfs-1.1.0/git-lfs.go:34 +0x12e

ENV:
LocalWorkingDir=.
LocalGitDir=.git
LocalGitStorageDir=.git
LocalMediaDir=.git/lfs/objects
TempDir=.git/lfs/tmp
ConcurrentTransfers=3
BatchTransfer=true
GIT_DIR=.git
GIT_WORK_TREE=.
GIT_PREFIX=

Someone can tell me if I did something wrong, and give me some hints to solve my mistake? or it is a bug?

Thanks in advance.

Most helpful comment

I've had similar issues in the past and I think there may be a potential bug in cloning with git lfs (Still to be determined). You can try this method of fetching the repo, which is in fact faster too:

// Skip smudge - We'll download binary files later in a faster batch
git lfs install --skip-smudge

// Do git clone here
git clone ...

// Fetch all the binary files in the new clone
git lfs pull

// Reinstate smudge
git lfs install --force

This only needs to be done once to initialize the clone for the first time.

Please do test it and let me know if it fixes it.

All 50 comments

the same to me

relation does not exist

This is in REST terms, meaning there's no "download" hyperlink relation. That sounds like the object doesn't exist on the server.

I've had similar issues in the past and I think there may be a potential bug in cloning with git lfs (Still to be determined). You can try this method of fetching the repo, which is in fact faster too:

// Skip smudge - We'll download binary files later in a faster batch
git lfs install --skip-smudge

// Do git clone here
git clone ...

// Fetch all the binary files in the new clone
git lfs pull

// Reinstate smudge
git lfs install --force

This only needs to be done once to initialize the clone for the first time.

Please do test it and let me know if it fixes it.

I have the exact same problem (running on Linux Mint).

I am not able to successfully clone my repository (https://github.com/foosoft/website) because git lfs encounters the errors shown in the first post. The file that causes the error appears to be different with each clone operation, but it gets a little bit further before failing each time. Maybe there is some sort of cache problem on GitHub? I don't know.

@strich thank you for the workaround, it worked like a charm. It looks like there is some sort of underlying issue with lfs clone. Seems like a serious problem.

I was able to clone your website just fine. There aren't really any CDNs or caches involved in the LFS API through GitHub. I'll look into better logging when this "relation not found" error comes up (and also a better error message). While it usually means the object isn't on the server, it could mean the server returned a really strange response that it isn't parsing correctly.

Just got this same error from a different computer (also running Linux Mint Rosa 17.3):

alex@wintermute /m/s/projects> git clone https://github.com/FooSoft/website.git test
Cloning into 'test'...
remote: Counting objects: 2831, done.
remote: Total 2831 (delta 0), reused 0 (delta 0), pack-reused 2831
Receiving objects: 100% (2831/2831), 1.98 MiB | 1.09 MiB/s, done.
Resolving deltas: 100% (1329/1329), done.
Checking connectivity... done.
Downloading content/src/portfolio/amaze-tools/img/crash.png (160.16 KB)
Downloading content/src/portfolio/amaze-tools/img/eragon.png (140.78 KB)
Downloading content/src/portfolio/amaze-tools/img/friends.png (140.23 KB)
Downloading content/src/portfolio/amaze-tools/img/shrek.png (150.32 KB)
Downloading content/src/portfolio/arenanet/img/gw2.png (71.39 KB)
Downloading content/src/portfolio/potc-awe/img/potc-awe.png (124.62 KB)
Downloading content/src/portfolio/potc-dmc/img/pirate.png (62.63 KB)
Downloading content/src/portfolio/potc-dmc/img/potc-dmc.png (183.27 KB)
Downloading content/src/projects/ankijoy/img/gamepad.png (12.78 KB)
Downloading content/src/projects/homemaker/dl/homemaker_darwin_386.tar.gz (1.25 MB)
Downloading content/src/projects/homemaker/dl/homemaker_darwin_amd64.tar.gz (1.33 MB)
Downloading content/src/projects/homemaker/dl/homemaker_linux_386.tar.gz (1.26 MB)
Downloading content/src/projects/homemaker/dl/homemaker_linux_amd64.tar.gz (1.35 MB)
Downloading content/src/projects/homemaker/dl/homemaker_linux_arm.tar.gz (1.23 MB)
Downloading content/src/projects/homemaker/dl/homemaker_windows_386.tar.gz (1.30 MB)
Downloading content/src/projects/homemaker/dl/homemaker_windows_amd64.tar.gz (1.39 MB)
Downloading content/src/projects/mangle/dl/mangle_osx.zip (18.62 MB)
Downloading content/src/projects/mangle/dl/mangle_win.zip (10.22 MB)
Downloading content/src/projects/mangle/img/kindle1.png (1.44 MB)
Downloading content/src/projects/mangle/img/kindle2.png (1.09 MB)
Downloading content/src/projects/mangle/img/kindle3.png (1.48 MB)
Downloading content/src/projects/mangle/img/kindle4.png (1.52 MB)
Downloading content/src/projects/mangle/img/main.png (11.77 KB)
Downloading content/src/projects/mangle/img/options.png (46.27 KB)
Downloading content/src/projects/md2vim/dl/md2vim_darwin_386.tar.gz (935.51 KB)
Downloading content/src/projects/md2vim/dl/md2vim_darwin_amd64.tar.gz (992.95 KB)
Downloading content/src/projects/md2vim/dl/md2vim_linux_386.tar.gz (941.30 KB)
Downloading content/src/projects/md2vim/dl/md2vim_linux_amd64.tar.gz (1003.57 KB)
Downloading content/src/projects/md2vim/dl/md2vim_linux_arm.tar.gz (923.80 KB)
Downloading content/src/projects/md2vim/dl/md2vim_windows_386.tar.gz (976.67 KB)
Downloading content/src/projects/md2vim/dl/md2vim_windows_amd64.tar.gz (1.02 MB)
Downloading content/src/projects/md2vim/img/markdown.png (38.70 KB)
Downloading content/src/projects/md2vim/img/vimdoc.png (37.40 KB)
Downloading content/src/projects/meganekko/img/editor.png (33.76 KB)
Downloading content/src/projects/meganekko/img/main.png (19.32 KB)
Downloading content/src/projects/meganekko/img/options.png (18.33 KB)
Downloading content/src/projects/meganekko/img/review1.png (15.91 KB)
Downloading content/src/projects/meganekko/img/review2.png (21.98 KB)
Downloading content/src/projects/moonfall/img/asset-editor.png (54.95 KB)
Downloading content/src/projects/moonfall/img/console.png (65.98 KB)
Downloading content/src/projects/moonfall/img/gameplay.png (65.64 KB)
Downloading content/src/projects/moonfall/img/map-editor.png (50.44 KB)
Downloading content/src/projects/moonfall/img/sprite-editor.png (70.85 KB)
Downloading content/src/projects/scrawl/dl/scrawl_darwin_386.tar.gz (2.36 MB)
Downloading content/src/projects/scrawl/dl/scrawl_darwin_amd64.tar.gz (2.53 MB)
Downloading content/src/projects/scrawl/dl/scrawl_linux_386.tar.gz (2.34 MB)
Downloading content/src/projects/scrawl/dl/scrawl_linux_amd64.tar.gz (2.51 MB)
Downloading content/src/projects/scrawl/dl/scrawl_linux_arm.tar.gz (2.26 MB)
Downloading content/src/projects/scrawl/dl/scrawl_windows_386.tar.gz (2.31 MB)
Downloading content/src/projects/scrawl/dl/scrawl_windows_amd64.tar.gz (2.49 MB)
Downloading content/src/projects/scrawl/img/anki.png (38.34 KB)
Downloading content/src/projects/scrawl/img/inspect.png (25.03 KB)
Downloading content/src/projects/tetrys/img/tetrys.png (7.47 KB)
Downloading content/src/projects/yomichan/img/icons.png (12.12 KB)
Downloading content/src/projects/yomichan/img/layout.png (33.00 KB)
Downloading content/src/projects/yomichan/img/preferences.png (43.45 KB)
Downloading content/src/projects/yomichan/img/reader.png (386.28 KB)
Downloading content/src/research/kanji-freq/dl/novel/report.tar.gz (94.18 KB)
Downloading content/src/research/kanji-freq/dl/report1.tar.gz (292.42 KB)
Downloading content/src/research/kanji-freq/dl/report10.tar.gz (125.08 KB)
Downloading content/src/research/kanji-freq/dl/report100.tar.gz (95.28 KB)
Downloading content/src/research/kanji-freq/dl/report1000.tar.gz (68.65 KB)
Downloading content/src/research/kanji-freq/dl/report10000.tar.gz (42.26 KB)
Downloading content/src/research/kanji-freq/dl/reports.tar.gz (623.48 KB)
Downloading content/src/research/kanji-freq/dl/scripts.tar.gz (86.21 KB)
Error accessing media: content/src/research/kanji-freq/dl/scripts.tar.gz (3831c560ba5ff5cfffceac95eba523a5c3d98aa106303d408f34438f1a77ffd1)

Errors logged to .git/lfs/objects/logs/20160116T124225.444183471.log
Use `git lfs logs last` to view the log.
error: external filter git-lfs smudge %f failed 2
error: external filter git-lfs smudge %f failed
fatal: content/src/research/kanji-freq/dl/scripts.tar.gz: smudge filter lfs failed
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'

Here's the log:

alex@wintermute /m/s/projects> cat test/.git/lfs/objects/logs/20160116T124225.444183471.log 
git-lfs/1.1.0 (GitHub; linux amd64; go 1.5.1; git 258acf1)
git version 1.9.1

$ git-lfs smudge content/src/research/kanji-freq/dl/scripts.tar.gz
Error accessing media: content/src/research/kanji-freq/dl/scripts.tar.gz (3831c560ba5ff5cfffceac95eba523a5c3d98aa106303d408f34438f1a77ffd1)

Post https://github.com/FooSoft/website.git/info/lfs/objects/batch: dial tcp: i/o timeout
goroutine 1 [running]:
github.com/github/git-lfs/lfs.Stack(0x0, 0x0, 0x0)
    /Users/rick/go/src/github.com/github/git-lfs/lfs/errors.go:557 +0x80
github.com/github/git-lfs/commands.logPanicToWriter(0x7f33fd5b01e8, 0xc82016c008, 0x7f33fd52c3a8, 0xc820158280)
    /Users/rick/go/src/github.com/github/git-lfs/commands/commands.go:184 +0xf7f
github.com/github/git-lfs/commands.logPanic(0x7f33fd52c3a8, 0xc820158280, 0x0, 0x0)
    /Users/rick/go/src/github.com/github/git-lfs/commands/commands.go:148 +0x421
github.com/github/git-lfs/commands.handlePanic(0x7f33fd52c3a8, 0xc820158280, 0x0, 0x0)
    /Users/rick/go/src/github.com/github/git-lfs/commands/commands.go:123 +0x4e
github.com/github/git-lfs/commands.LoggedError(0x7f33fd52c3a8, 0xc820158280, 0x959b00, 0x1e, 0xc820139c98, 0x2, 0x2)
    /Users/rick/go/src/github.com/github/git-lfs/commands/commands.go:73 +0x82
github.com/github/git-lfs/commands.smudgeCommand(0xb5bf80, 0xc82009f4b0, 0x1, 0x1)
    /Users/rick/go/src/github.com/github/git-lfs/commands/command_smudge.go:77 +0xd89
github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra.(*Command).execute(0xb5bf80, 0xc82009f400, 0x1, 0x1, 0x0, 0x0)
    /Users/rick/go/src/github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra/command.go:477 +0x403
github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra.(*Command).Execute(0xb5cfc0, 0x0, 0x0)
    /Users/rick/go/src/github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra/command.go:551 +0x46a
github.com/github/git-lfs/commands.Run()
    /Users/rick/go/src/github.com/github/git-lfs/commands/commands.go:88 +0x23
main.main()
    /Users/rick/go/src/github.com/github/git-lfs/git-lfs.go:34 +0x12e

ENV:
LocalWorkingDir=/mnt/storage/projects/test
LocalGitDir=.git
LocalGitStorageDir=.git
LocalMediaDir=.git/lfs/objects
TempDir=.git/lfs/tmp
ConcurrentTransfers=3
BatchTransfer=true
GIT_DIR=.git

Trying it again, just a couple of minutes later. This time it fails on a file that succeeded the last time (there have been no changes to the repository).

alex@wintermute /m/s/projects> rm -rf test/
alex@wintermute /m/s/projects> git clone https://github.com/FooSoft/website.git test
Cloning into 'test'...
remote: Counting objects: 2831, done.
remote: Total 2831 (delta 0), reused 0 (delta 0), pack-reused 2831
Receiving objects: 100% (2831/2831), 1.98 MiB | 354.00 KiB/s, done.
Resolving deltas: 100% (1329/1329), done.
Checking connectivity... done.
Downloading content/src/portfolio/amaze-tools/img/crash.png (160.16 KB)
Downloading content/src/portfolio/amaze-tools/img/eragon.png (140.78 KB)
Downloading content/src/portfolio/amaze-tools/img/friends.png (140.23 KB)
Downloading content/src/portfolio/amaze-tools/img/shrek.png (150.32 KB)
Downloading content/src/portfolio/arenanet/img/gw2.png (71.39 KB)
Downloading content/src/portfolio/potc-awe/img/potc-awe.png (124.62 KB)
Downloading content/src/portfolio/potc-dmc/img/pirate.png (62.63 KB)
Downloading content/src/portfolio/potc-dmc/img/potc-dmc.png (183.27 KB)
Downloading content/src/projects/ankijoy/img/gamepad.png (12.78 KB)
Downloading content/src/projects/homemaker/dl/homemaker_darwin_386.tar.gz (1.25 MB)
Downloading content/src/projects/homemaker/dl/homemaker_darwin_amd64.tar.gz (1.33 MB)
Downloading content/src/projects/homemaker/dl/homemaker_linux_386.tar.gz (1.26 MB)
Downloading content/src/projects/homemaker/dl/homemaker_linux_amd64.tar.gz (1.35 MB)
Downloading content/src/projects/homemaker/dl/homemaker_linux_arm.tar.gz (1.23 MB)
Downloading content/src/projects/homemaker/dl/homemaker_windows_386.tar.gz (1.30 MB)
Downloading content/src/projects/homemaker/dl/homemaker_windows_amd64.tar.gz (1.39 MB)
Downloading content/src/projects/mangle/dl/mangle_osx.zip (18.62 MB)
Downloading content/src/projects/mangle/dl/mangle_win.zip (10.22 MB)
Downloading content/src/projects/mangle/img/kindle1.png (1.44 MB)
Downloading content/src/projects/mangle/img/kindle2.png (1.09 MB)
Downloading content/src/projects/mangle/img/kindle3.png (1.48 MB)
Downloading content/src/projects/mangle/img/kindle4.png (1.52 MB)
Error accessing media: content/src/projects/mangle/img/kindle4.png (0c4678722ab0991a0078fda70f56ac5044e3ce128e9bc6cc2f324db37e67ef99)

Errors logged to .git/lfs/objects/logs/20160116T125256.664212863.log
Use `git lfs logs last` to view the log.
error: external filter git-lfs smudge %f failed 2
error: external filter git-lfs smudge %f failed
fatal: content/src/projects/mangle/img/kindle4.png: smudge filter lfs failed
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD

Log:

alex@wintermute /m/s/projects> cat test/.git/lfs/objects/logs/20160116T125256.664212863.log 
git-lfs/1.1.0 (GitHub; linux amd64; go 1.5.1; git 258acf1)
git version 1.9.1

$ git-lfs smudge content/src/projects/mangle/img/kindle4.png
Error accessing media: content/src/projects/mangle/img/kindle4.png (0c4678722ab0991a0078fda70f56ac5044e3ce128e9bc6cc2f324db37e67ef99)

Error buffering media file: cannot write data to tempfile ".git/lfs/tmp/objects/0c4678722ab0991a0078fda70f56ac5044e3ce128e9bc6cc2f324db37e67ef99-278193986": read tcp 192.168.10.10:37577->54.231.0.177:443: read: connection reset by peer
goroutine 1 [running]:
github.com/github/git-lfs/lfs.Stack(0x0, 0x0, 0x0)
    /Users/rick/go/src/github.com/github/git-lfs/lfs/errors.go:557 +0x80
github.com/github/git-lfs/commands.logPanicToWriter(0x7f5ade1761e8, 0xc820036270, 0x7f5ade177d88, 0xc820110f10)
    /Users/rick/go/src/github.com/github/git-lfs/commands/commands.go:184 +0xf7f
github.com/github/git-lfs/commands.logPanic(0x7f5ade177d88, 0xc820110f10, 0x0, 0x0)
    /Users/rick/go/src/github.com/github/git-lfs/commands/commands.go:148 +0x421
github.com/github/git-lfs/commands.handlePanic(0x7f5ade177d88, 0xc820110f10, 0x0, 0x0)
    /Users/rick/go/src/github.com/github/git-lfs/commands/commands.go:123 +0x4e
github.com/github/git-lfs/commands.LoggedError(0x7f5ade177d88, 0xc820110f10, 0x959b00, 0x1e, 0xc82010fc98, 0x2, 0x2)
    /Users/rick/go/src/github.com/github/git-lfs/commands/commands.go:73 +0x82
github.com/github/git-lfs/commands.smudgeCommand(0xb5bf80, 0xc820011ad0, 0x1, 0x1)
    /Users/rick/go/src/github.com/github/git-lfs/commands/command_smudge.go:77 +0xd89
github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra.(*Command).execute(0xb5bf80, 0xc820011a20, 0x1, 0x1, 0x0, 0x0)
    /Users/rick/go/src/github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra/command.go:477 +0x403
github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra.(*Command).Execute(0xb5cfc0, 0x0, 0x0)
    /Users/rick/go/src/github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra/command.go:551 +0x46a
github.com/github/git-lfs/commands.Run()
    /Users/rick/go/src/github.com/github/git-lfs/commands/commands.go:88 +0x23
main.main()
    /Users/rick/go/src/github.com/github/git-lfs/git-lfs.go:34 +0x12e

ENV:
LocalWorkingDir=/mnt/storage/projects/test
LocalGitDir=.git
LocalGitStorageDir=.git
LocalMediaDir=.git/lfs/objects
TempDir=.git/lfs/tmp
ConcurrentTransfers=3
BatchTransfer=true
GIT_DIR=.git

So this is interesting... I tried cloning my website from my DigitalOcean VPS in Singapore twice and it worked fine every time. I then tried tunneling git through my VPS and cloning it that way, and that worked too. Maybe this is some sort of timing or routing issue?

For what it's worth I'm in Japan on fiber. The other network I was using was that of my university, which is pretty darn fast too... I wonder what is going on.

@FooSoft: Your errors are slightly different than @jplu's:

  • dial tcp: i/o timeout
  • read tcp 192.168.10.10:37577->54.231.0.177:443: read: connection reset by peer

Those are network related. Unfortunately, going from Japan to GitHub.com won't be the best experience right now. This is definitely something we want to work on.

Git LFS v1.1.1 bumped the http timeouts, so it should be a little better now. Next, I want to look at better retry capabilities for the downloads to handle those errors better.

https://github.com/github/git-lfs/releases/tag/v1.1.1

I don't think this should be closed. The error still happens and you haven't given a workaround.

same problem. the workaround given above didn't solve it because git lfs pull doesn't manage to actually pull anything for me

Edit: Apparently it didn't work for me because BitBucket doesn't actually support LFS yet and Sourcetree doesn't bother to tell me that it fails because LFS is just not there on the server. I have LFS working just fine on the console with GitLab

+1, OS X brew

If you all want help, post details on the error in a new issue. There are multiple errors reported in this thread, so a vague request doesn't really help me. Thanks!

The error happens intermittently, but the one I'm encountering is the same one reported by the OP:

error: external filter git-lfs smudge %f failed

+1 In Windows 10, some workarounds over there?

The problem solution that worked for me:
Remove my computer from "deploy key" for project and add my computer in SSH keys (globally)

It seems like lfs does not use the same deploy keys as for "normal" git?

Hey, I have this problem as well. However:

  • while cloning, glt-lfs manages to download other binary files with the same extension just fine and then fails at some specific but seemingly random file. (so it doesn't seem to be a general LFS problem with not being allowed to fetch any files at all)
  • The host is a gitlab instance, and I have no known filesystem problems and I can push/pull with LFS enabled from some other machine just fine or browse the repo online, so there's nothing obviously broken with it
  • When I browse the repository through gitlab's online file browser, the file the clone failed to obtain is present in the repository and I can download it fully without issues (through the gitlab file browser). It appears to be indeed the full correct file and not some pointer or obviously incomplete thing. (it's an audio file and it plays just fine)

I attached the log as far as given to me from the client on the console on the failed clone attempt:
log.txt

Edit: I updated to git-lfs 1.2.0 and now it works... heh. I'm still leaving this here in case it turns out to be relevant to the more current issues in some way

@JonasT I notice your Git-LFS is still on v1.1.2. Have you tried v1.2.0?

When I try the suggested steps...

git lfs install --skip-smudge

git clone 

git lfs pull

I get a message after the pull

Git LFS: (0 of 166 files) 0 B / 439.43 MB
Git credentials for https://github.com/user/suchandsuch.git not found.

It does not ask for login credentials. I've been attempting different credential setups but they don't seem to be working and I can't tell if that's actually what's wrong. I will try SSH but I'm wondering why it doesn't just ask me for my login info like it does in other cases.

Update: It works with SSH.

@Macklehatton I had the same problem. But after setting credential helper, it works.

git config credential.helper manager
git lfs pull

There’s an issue with the LFS install on your drive. The only way I was able to solve it was to:
• Remove Repos on HDD that are failing. Uninstall any instances of git-lfs
• Use Source Tree to clone a new repo, use the world icon to find your active remote repos
• During clone, Source Tree will ask you about git-lfs files needed for binary, would you like to add now? Click cancel.
• Install git-lfs for windows
• Verify in the repo dropdown in SourceTree that git-lfs in initialized
• Open up Git shell, and navigate to local repo just cloned
• Type git lfs install
• Type git pull
• Type git lfs pull

I saw this a while ago on a PC which definitely hasn't a failing drive, and just retrying fixed it.

I don't know if this is fixed in the most recent version, but at least at one point this was _not_ caused purely by a failing drive. (although since a failing drive can cause just about anything, it's not surprising that is also a potential way to get this error message)

This issue just happened to me. This had been working just fine git clone http://github.com/RX-M/docker.git. Then got the above error today. I upgraded lfs from 1.3 to 1.4 (mac) and tried again, still failed same way. I then tried git clone [email protected]:RX-M/docker.git and it worked.

We are using git lfs on a few files - and have been having some issues during clone.
This exception looks similar to what I have been seeing intermittently using the eclipse egit client:

Execution of filter command 'git-lfs smudge -- 'dev/com.ibm.ws.ui.tool.deploy_fat.gui.nd.rw.nodejs/publish/files/deployLibertyServer.zip'' on file 'dev/com.ibm.ws.ui.tool.deploy_fat.gui.nd.rw.nodejs/publish/files/deployLibertyServer.zip' failed with return code '2', message on stderr: 'Downloading 'dev/com.ibm.ws.ui.tool.deploy_fat.gui.nd.rw.nodejs/publish/files/deployLibertyServer.zip' (186.96 MB)
Error downloading object: 'dev/com.ibm.ws.ui.tool.deploy_fat.gui.nd.rw.nodejs/publish/files/deployLibertyServer.zip' (a9666047a4700b81bec486040abf209cbb27f9b4592c24f2e1c63fa1bf704a9a)

Trying again it worked... Any clues? I don't have the logs, but can attach next time I see it.

@strich can I use this method to download binary files and no-binary files respectively.

  1. If I just want to use no-binary files, I use this git-cmd to clone
// Skip smudge - We'll download binary files later in a faster batch
git lfs install --skip-smudge

// Do git clone here
git clone ...

// After change no-binary files, do git add, commit and push with no-binary files
git add .
git commit -m ''
git push ....
  1. Once a time, I want to use binary files in this repo, I just run this git-cmd to download
// Fetch all the binary files in the new clone
git lfs pull

// Reinstate smudge
git lfs install --force

it seems this still affected me as well, had to turn off the smudge filter thing, what is that anyway?
it doesn't seem to make a difference if I just 'git lfs pull' when needed to get the files, so why should it be enabled?

what about command:

git lfs clone <repo>

what is that anyway?

The smudge filter is an implementation of a Git filter which downloads the objects the pointer objects refer to. Skipping the smudge filter means that you will only have pointer objects in your working tree.

Calling git lfs pull or git lfs clone disables the smudge filter for the git pull or git clone respectively due to the fact that the smudge filter happens in sequential order for each file needing to be checked out, which can be slow for large pulls, clones or checkouts. After the raw git <pull|clone|smudge> is complete, then we kick in LFS's parallelized version of the smudge filter, making everything happen a lot quicker.

This process will become significantly easier from a user perspective when https://github.com/github/git-lfs/issues/1329 is merged. The changes to Git itself (mentioned in that issue) will allow for a "streamed" smudge filter, meaning we can effectively do what I described above in the git lfs pull with native Git alone.

In the meantime, try the LFS alternatives to the pull, push, clone and checkout commands.

@ttaylorr wait then... git lfs pull actually disables converting the pointers to objects?
Cause I thought what happened was quite the opposite, to fetch the actual assets and place them on the working tree, and apparently that's what happened too.

@ttaylorr wait then... git lfs pull actually disables converting the pointers to objects?

Only during the git pull, since the process of converting pointers into objects after having been pulled is at best, sequential, when using just git.

The lfs-variant of this command disables the slow smudging, and then does everything in parallel. The objects are still there after running either git lfs pull or just git pull, one is just faster than the other.

Ah okay makes sense, but they still convert the pointers to actual files even with the smudge filter disabled (the --skip-smudge workaround mentioned above)?
because that is what I was referring to in the first place, I got the actual files even though I had to workaround with --skip-smudge first, though I may have messed something up along the lines (afterall I only did that after failing in the first place)

but they still convert the pointers to actual files even with the smudge filter disabled

A git pull with --skip-smudge does not run the smudge filter, and thus does not convert the pointer files. git lfs pull deliberately runs git pull in this way so LFS can smudge files its own way without needing Git to invoke the filters itself.

Alright, thanks for explaining, I'll make proper use of it now.

Still reproduced

fatal: : smudge filter lfs failed

I just had this issue on a build server.
I was suspecting that something with the history of the file in GIT LFS has been corrupted after a commit of mine.
The server was trying to download the file but it had the smudge filter lfs failed error.
What i did was removing the files that caused the issue from my client, commit & push the change and then re-adding the files, commit and push.

That fixed it. I'm far from a git expert, but I hope this can help

Thanks for all the suggestions, but none of those above resolved this issue for me.

What finally fixed it for me in Windows was uninstalling Git LFS, then uninstalling Git, then re-installing Git, then reinstalling Git LFS.

Does anyone have a solution with this so far. It still happens for me on macOS Sierra.

just out of curiosity are you using Source Tree or another UI based client?
I stopped using them and i did not experience the problem again.

I suggest you to open the console in your repo and per form a
git reset --hard

instead of doing that from source tree

2017-04-26 19:07 GMT+01:00 equidevium notifications@github.com:

Does anyone have a solution with this so far. It still happens for me on
macOS Sierra.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/git-lfs/git-lfs/issues/911#issuecomment-297494724,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAhAW8TRfgCFmeZqkl3D55LdHNlN9Ab5ks5rz4f9gaJpZM4G554n
.

--
Giovanni Romagnoli



This message is intended only for the use of the addressee and may contain
information that is privileged, confidential and exempt from
disclosure under applicable law. If the reader of this message is not the
intended recipient, or the employee or agent responsible for delivering
the message to the intended recipient, you are hereby notified that any
dissemination, distribution or copying of this communication is
strictly prohibited. If you have received this e-mail in error, please
notify us immediately by return e-mail and delete this e-mail and all
attachments from your system.



Yes i am using Source Tree. Well i am not that experienced with any other form of handling repos.

do this test go to Actions->Open In Terminal and write

git reset --hard

using the console does not give me any issues when Source Tree is
complaining

2017-04-26 19:45 GMT+01:00 equidevium notifications@github.com:

Yes i am using Source Tree. Well i am not that experienced with any other
form of handling repos.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/git-lfs/git-lfs/issues/911#issuecomment-297505090,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAhAW4Kzgf0LKlC_3v5pPXqKQ-2BhUUKks5rz5DcgaJpZM4G554n
.

--
Giovanni Romagnoli



This message is intended only for the use of the addressee and may contain
information that is privileged, confidential and exempt from
disclosure under applicable law. If the reader of this message is not the
intended recipient, or the employee or agent responsible for delivering
the message to the intended recipient, you are hereby notified that any
dissemination, distribution or copying of this communication is
strictly prohibited. If you have received this e-mail in error, please
notify us immediately by return e-mail and delete this e-mail and all
attachments from your system.



Did that. After that i had my origin head reseted to master.
Then i want to merge another branch into master.
When i try to checkout to the other branch as the first step.

user-MBP:project user$ git checkout somebranch
Error: unknown command "filter-process" for "git-lfs"
Run 'git-lfs --help' for usage.
fatal: The remote end hung up unexpectedly

The odd thing is that every time i try to reset the git lfs
i am required all the time to enter my credentials and always the git lfs ends with an error and not all content downloaded.

@equidevium sorry that you're having trouble. From your comments, it looks like you're not running the latest version of LFS. Please make sure that you have the latest version (v2.0.2) installed and try again.

If the issue persists, please don't hesitate to open a new issue.

Ok here is what i did for anyone that may need a solution.

Opened terminal from source tree.
unlinked the previous version of git lfs
installed the latest git lfs with brew
checkout on feature branch from terminal (waiting until download was finalized)
then checkout on master
merge feature branch
push.

And it worked.
Thanks a million.

I updated my version to 2.1 and the problem went away. FYI homebrew users, the brew version is OLD!!! You need to install using the binary method.

@equidevium
This solved it for me!

In my case I've got 'Smudge filter failed' because I've changed the lfs-objects path. Since I'm running Gitlab CE on one of my local computer. I changed the path because I needed to use a ssd instead of a hdd for fast upload and download - but not as much fast as I expected though. So, I solved the problem with moving all directories under old lfs-objects to the new path.

I got "_smudge filter lfs failed_" error when run out of disk space.

I got the same error on a recent build attempt, but it was already at git-lfs v2.3.4.

git lfs --fetch all and
git lfs pull
gave me a LFs batch response Git credentials not found error.

The following two lines solved the issue:
git config --global credential.helper cache
git config --global crendential.helper wincred

Was this page helpful?
0 / 5 - 0 ratings