sameersbn / sameersbn/docker-gitlab

Pushing to repositories fails on Docker for Windows

Open
#795 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

wontfix
Dominant language
Shell
Stars
8.1k
Forks
2.1k
Avg merge
17h 47m
Merged PRs (30d)
7

Description

I was fiddeling around with the new Docker for Windows beta and there were a couple of problems when trying to run the provided docker-compose.yml out of the box (the biggest problem seems to be the current incompatibility between PostgreSQL and Docker for Windows, see https://forums.docker.com/t/data-directory-var-lib-postgresql-data-pgdata-has-wrong-ownership/17963/8). It was possible to work around most of the problems, however, whenever I try to push some slightly bigger commits, I receive the following error:

Counting objects: 21, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (13/13), done.
FATAL ERROR: Server sent disconnect message
type 2 (protocol error):
"Packet corrupt"
fatal: The remote end hung up unexpectedly
fatal: sha1 file '<stdout>' write error: Broken pipe
error: failed to push some refs to 'ssh://git@localhost:10022/root/spring-boot-example.git'

Or sometimes:

Counting objects: 21, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (13/13), done.
Writing objects: 100% (21/21), 51.35 KiB | 0 bytes/s, done.
Total 21 (delta 0), reused 0 (delta 0)
FATAL ERROR: Server sent disconnect message
type 2 (protocol error):
"Packet corrupt"
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

And gitlab logs the following output:
gitlab_1 | 2016-07-20 23:02:50,366 CRIT reaped unknown pid 525)

I think this problem might have something to do with supervisord, but I'm not really sure. A similar problem exists when pushing via HTTP as well.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the provided docker-compose.yml and the Docker for Windows setup, then reproduce a larger push over both SSH and HTTP. Inspect the supervisord behavior alongside the GitLab log entry showing the reaped process; done means repository pushes complete without protocol errors or broken pipes.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, git, gitlab, postgresql
Domain
backend, devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.