-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Git clone of curl repository stuck inside Windows container #1895
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
A minimal Dockerfile to reproduce the state of the docker container installed with Git would be:
|
@mback2k that sounds as if something got stuck somewhere... can you instrument Git's code, say, to output some debug messages in |
@dscho I am working on additional debug output using your Git for Windows SDK. In the meantime I performed some additional tries and it seems like it just takes very long:
As you can see from these logs, it takes roughly 17 minutes to receive the index pack in this case. I will try to increase the build timeout for my builders while also figuring out the bottleneck using additional debug messages. |
This problem seems to have been caused by extremely slow container and network performance due to nested virtualization. After finally being able to setup VLANs with the hosting provider, nested virtualization is no longer required and therefore the performance issue could be solved. This had nothing to do with Git for Windows. |
Excellent analysis! I am glad you figured it out. |
Unfortunately I am again experiencing this issue after some successful clones. It still seems to be a performance issue inside my process-level isolation Windows Container:
Any other suggestions where to look? The performance speed maxes at 28.00 KiB/s. At the moment I am thinking this Windows Container issue is the root cause: docker/for-win#698. I will update this issue in case others run into a similar situation later on. |
After multiple days I can probably finally confirm that disabling receive segment coalescing (RSC) while using Docker for Windows or WinNAT solves the performance issues I experienced. See microsoft/hcsshim#371 for more information. |
Setup
defaults?
to the issue you're seeing?
This issue is occurring during manual clones via docker exec and was discovered while moving my buildbots for the curl and libssh2 projects into docker container. Please see an example build here which failed due to timed out clone after 20 minutes:
For curl it always fails due to timing out, but for libssh2 it works most of the time. So I guess that it has something to do with the huge size of the curl repository. At some point it also randomly worked for the curl repository, see this build output.
Details
docker exec from bash on Debian to control a remote Windows Docker host.
Minimal, Complete, and Verifiable example
this will help us understand the issue.
The docker container is created from this Dockerfile.
The target directory is inside the container and not a docker volume.
Successful clone in a few seconds.
Git clone is stuck and is normally killed by my buildbot after 20 minutes, in this case I killed it manually. Please see attached git_clone_output.txt.
URL to that repository to help us with testing?
https://github.com/curl/curl.git
The text was updated successfully, but these errors were encountered: