[DRE-maint] Bug#827649: gitlab: Git pull/push over ssh fails with: "fatal: protocol error: bad line length character: API"

Johannes Schauer josch at debian.org
Sun Jun 19 08:12:58 UTC 2016


Package: gitlab
Version: 8.8.2+dfsg-5
Severity: important

Hi,

after the latest upgrades I'm left with the following problem when I
want to pull from or push to any of my gitlab repositories:

	$git push
	fatal: protocol error: bad line length character: API

Using strace, it seems that the server prints the following string:

	API is not accessible

out of which git then tries to read the first four characters and fails
because they are not ASCII numerals.

Running gitlab:check doesn't show much interesting:

	$ rake gitlab:check RAILS_ENV=production
	fatal: Not a git repository (or any of the parent directories): .git
	Checking GitLab Shell ...
	
	GitLab Shell version >= 2.7.2 ? ... OK (3.0.0)
	Repo base directory exists? ... yes
	Repo base directory is a symlink? ... no
	Repo base owned by gitlab:gitlab? ... yes
	Repo base access is drwxrws---? ... yes
	hooks directories in repos are links: ... 
	[...]
	Running /usr/share/gitlab-shell/bin/check
	Check GitLab API access: OK
	Check directories and files: 
		/var/lib/gitlab/repositories: OK
		/usr/share/gitlab/.ssh/authorized_keys: OK
	Send ping to redis server: 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? ... yes
	Init script up-to-date? ... yes
	projects have namespace: ... 
	[...]
	Redis version >= 2.8.0? ... yes
	Ruby version >= 2.1.0 ? ... yes (2.3.1)
	Your git bin path is "/usr/bin/git"
	Git version >= 2.7.3 ? ... yes (2.8.1)
	Active users: 33
	
	Checking GitLab ... Finished

Except maybe that there is no newline after "Send ping to redis server".
I don't know if there should be one. Here the direct output of
gitlab-shell/bin/check:

	$ /usr/share/gitlab-shell/bin/check
	Check GitLab API access: OK
	Check directories and files: 
		/var/lib/gitlab/repositories: OK
		/usr/share/gitlab/.ssh/authorized_keys: OK
	Send ping to redis server: $

/var/log/gitlab-shell/gitlab-shell.log doesn't show any entries when I
try to pull or push.

Where else can I check to find the source of this problem?

Searching online, there seems to be a gitlab-ctl tool, but that doesn't
seem to be installed in the gitlab Debian package.

Thanks!

cheers, josch



More information about the Pkg-ruby-extras-maintainers mailing list