Skip to content

GitlabPostReceive fails to create sidekiq job when pushing lots of tags

I want to import an existing project with more than 1,000 tags into gitlab.

I create the project in gitlab, add the ssh URL as a new remote in my local copy, and try to push master and tags:

git push --tags gitlab master

Output contains:

remote: GitLab: An unexpected error occurred (redis-cli returned 127).
To git@git.example.com:group/project.git

  • [new branch] master -> master
  • [new tag] tag1 -> tag1 …more than 1,000 other [new tag] stuff…

I end up with an inconsistent project in gitlab.

Project activity does not show John Doe pushed new branch/tag… activities, and of the 4 numbers on the right, only commits is updated; branches tags and size are all 0:

activity

In Commits section, tabs have the right numbers (1 branch and 1,230 tags), and branch tab displays master correctly, but tags tab is empty:

tags

If I delete and recreate project, but only push master branch without tags, everything is fine: John Doe pushed new branch… activities are created, numbers are correct…

I double-checked path to redis-cli in gitlab-shell/config.yml and it is correct (and it works anyway if I don't push tags).

I set gitlab-shell logs to DEBUG level and did not see anything relevant.

I changed /dev/null to real files for out and err file descriptors for redis-cli call line 26 of lib/gitlab_post_receive.rb and didn't see anything.

Is it the number of tags which breaks something, or could there be a tag with a name that breaks the command line?