Skip to content

git-lfs fails on push with EOF

Summary

Attempt to push an LFS tracked file fails.

Steps to reproduce

git lfs install
git track <file>
git add .gitattributes <file>
git ci -m"Add LFS file
git push origin master

What is the current bug behavior?

dheater@AS-78FNWF2 :~/src/windows/SWIN-XCRVR15 (master)
$ git lfs install
Updated git hooks.
Git LFS initialized.
dheater@AS-78FNWF2 :~/src/windows/SWIN-XCRVR15 (master)
$ git lfs track doc/*.pdf
Tracking doc/Software Release Notes.pdf
dheater@AS-78FNWF2 :~/src/windows/SWIN-XCRVR15 (master)
$ git add doc/Software\ Release\ Notes.pdf
dheater@AS-78FNWF2 :~/src/windows/SWIN-XCRVR15 (master)
$ git add .gitattributes
$ git st
M  .gitattributes
A  "doc/Software Release Notes.pdf"
$ git ci -m"Add PDF version of release notes"
[master 522c5e9] Add PDF version of release notes
 2 files changed, 4 insertions(+)
 create mode 100644 doc/Software Release Notes.pdf
$ git push origin master
Remote "origin" does not support the LFS locking API. Consider disabling it with:
  $ git config 'lfs.https://agar/WinSDK/SWIN-XCRVR15.git/info/lfs.locksverify' false
Git LFS: (0 of 1 files) 0 B / 1.47 MB
LFS: Put http://agar/WinSDK/SWIN-XCRVR15.git/gitlab-lfs/objects/ee7402f1b879a19d2312ac8908e61981703a13c7c2143d73c68e726222a934f7/1540938: EOF
error: failed to push some refs to 'git@agar:WinSDK/SWIN-XCRVR15.git'

On the Git LFS: (0 of 1 files) 0 B / 1.47 MB line, the 0 B value changes over time.

What is the expected correct behavior?

Push should succeed

Results of GitLab environment info

System information
System:         Ubuntu 16.04
Proxy:          no
Current User:   git
Using RVM:      no
Ruby Version:   2.3.3p222
Gem Version:    2.6.6
Bundler Version:1.13.7
Rake Version:   10.5.0
Redis Version:  3.2.5
Sidekiq Version:4.2.7

GitLab information
Version:        8.17.2-ee
Revision:       474978d
Directory:      /opt/gitlab/embedded/service/gitlab-rails
DB Adapter:     postgresql
DB Version:     9.6.1
URL:            http://agar
HTTP Clone URL: http://agar/some-group/some-project.git
SSH Clone URL:  git@agar:some-group/some-project.git
Elasticsearch:  no
Geo:            no
Using LDAP:     no
Using Omniauth: no

GitLab Shell
Version:        4.1.1
Repository storage paths:
- default:      /var/opt/gitlab/git-data/repositories
Hooks:          /opt/gitlab/embedded/service/gitlab-shell/hooks/
Git:            /opt/gitlab/embedded/bin/git

Results of GitLab application Check

Checking GitLab Shell ...

GitLab Shell version >= 5.0.0 ? ... OK (5.0.0)
Repo base directory exists?
default... yes
Repo storage directories are symlinks?
default... no
Repo paths owned by git:git?
default... yes
Repo paths access is drwxrws---?
default... yes
hooks directories in repos are links: ...
3/4 ... ok
3/6 ... ok
3/7 ... ok
3/8 ... ok
3/9 ... ok
3/10 ... ok
3/11 ... ok
3/12 ... ok
3/13 ... ok
3/14 ... ok
3/15 ... ok
3/16 ... repository is empty
3/17 ... repository is empty
3/18 ... repository is empty
3/19 ... repository is empty
3/20 ... repository is empty
3/21 ... ok
3/26 ... ok
3/27 ... ok
3/28 ... repository is empty
3/29 ... ok
9/31 ... ok
9/33 ... ok
9/34 ... ok
3/38 ... ok
3/40 ... repository is empty
3/41 ... repository is empty
3/42 ... ok
3/43 ... ok
10/44 ... repository is empty
17/45 ... ok
22/47 ... ok
22/49 ... ok
16/50 ... ok
22/51 ... ok
15/54 ... ok
3/55 ... ok
4/56 ... ok
9/58 ... ok
3/59 ... ok
3/60 ... ok
3/61 ... ok
3/62 ... ok
3/63 ... repository is empty
3/64 ... repository is empty
26/68 ... ok
27/69 ... ok
Running /opt/gitlab/embedded/service/gitlab-shell/bin/check
Check GitLab API access: OK
Access to /var/opt/gitlab/.ssh/authorized_keys: OK
Send ping to redis server: OK
gitlab-shell self-check successful

Checking GitLab Shell ... Finished

Checking Sidekiq ...

Running? ... yes
Number of Sidekiq processes ... 1

Checking Sidekiq ... Finished

Checking Reply by email ...

Reply by email is disabled in config/gitlab.yml

Checking Reply by email ... Finished

Checking LDAP ...

LDAP is disabled in config/gitlab.yml

Checking LDAP ... Finished

Checking GitLab ...

Git configured with autocrlf=input? ... yes
Database config exists? ... yes
All migrations up? ... yes
Database contains orphaned GroupMembers? ... no
GitLab config exists? ... yes
GitLab config outdated? ... no
Log directory writable? ... yes
Tmp directory writable? ... yes
Uploads directory setup correctly? ... yes
Init script exists? ... skipped (omnibus-gitlab has no init script)
Init script up-to-date? ... skipped (omnibus-gitlab has no init script)
projects have namespace: ...
3/4 ... yes
3/6 ... yes
3/7 ... yes
3/8 ... yes
3/9 ... yes
3/10 ... yes
3/11 ... yes
3/12 ... yes
3/13 ... yes
3/14 ... yes
3/15 ... yes
3/16 ... yes
3/17 ... yes
3/18 ... yes
3/19 ... yes
3/20 ... yes
3/21 ... yes
3/26 ... yes
3/27 ... yes
3/28 ... yes
3/29 ... yes
9/31 ... yes
9/33 ... yes
9/34 ... yes
3/38 ... yes
3/40 ... yes
3/41 ... yes
3/42 ... yes
3/43 ... yes
10/44 ... yes
17/45 ... yes
22/47 ... yes
22/49 ... yes
16/50 ... yes
22/51 ... yes
15/54 ... yes
3/55 ... yes
4/56 ... yes
9/58 ... yes
3/59 ... yes
3/60 ... yes
3/61 ... yes
3/62 ... yes
3/63 ... yes
3/64 ... yes
26/68 ... yes
27/69 ... yes
Redis version >= 2.8.0? ... yes
Ruby version >= 2.1.0 ? ... yes (2.3.3)
Your git bin path is "/opt/gitlab/embedded/bin/git"
Git version >= 2.7.3 ? ... yes (2.10.2)
Active users: 15

Checking GitLab ... Finished

Possible fixes

Note that I am using ssh protocol and talking to an http server (https not an option right now) I have successfully push the Word version of this same document to the same repo using LFS. I had to remove my ssh passphrase to get it to succeed b/c it kept timing out (2MB file) and asking for the passphrase again.

I have changed the amount of LFS storage on the project to 0 - infinite after an initial rejection due to insufficient space.

I have made a new clone of the repo and restarted the Gitlab server, and still get the failure.

Edited by 🤖 GitLab Bot 🤖