Timeout with git clone

Quentin Wenger matpi at proton.me
Fri Apr 14 23:21:46 UTC 2023


Hi,

When cloning a medium-sized repo (not extremely large but with a couple heavy media files), I consistently get a timeout preventing the cloning from completing.

Client:
> $ git clone https://user@domain/main_website
> Cloning into 'main_website'...
> Password for 'https://user@domain': 
> remote: Enumerating objects: 10798, done.
> remote: Counting objects: 100% (10798/10798), done.
> remote: Compressing objects: 100% (5199/5199), done.
> fetch-pack: unexpected disconnect while reading sideband packet
> fatal: early EOF
> fatal: fetch-pack: invalid index-pack output

The error occurs during the "Receiving objects:" phase, around 60%.

Server log with DEBUG:
> 2023-04-14 19:05:26.748 INFO  [kallithea.controllers.base] pull action on git repo "main_website" by "user" from IP
> 2023-04-14 19:05:26.748 DEBUG [kallithea.config.middleware.pygrack] handling cmd ['git', 'upload-pack', '--stateless-rpc', '/home/domain/hosting_kallithea/repos/main_website']
> Exception in thread Thread-6:
> Traceback (most recent call last):
>   File "/opt/alt/python310/lib64/python3.10/threading.py", line 1016, in _bootstrap_inner
>     self.run()
>   File "/home/domain/hosting_kallithea/source/kallithea/lib/vcs/subprocessio.py", line 129, in run
>     raise IOError(
> OSError: Timed out while waiting for input from subprocess.
> [UID:1552][1444643] Child process with pid: 1444662 was killed by signal: 15, core dumped: no

Cloning via git+ssh directly instead of the https protocol works fine.

Has this been experienced before?
Is this just a matter of using a longer timeout value on line 128 of kallithea/lib/vcs/subprocessio.py? How was the value 10 seconds chosen in the first place? What about making it configurable if it is arbitrary?

Thanks,
Quentin


More information about the kallithea-general mailing list