Hi

I haven't seen that problem and can't reproduce it.

The wait for 10 seconds in some pretty obscure code came from a comment in https://kallithea-scm.org/repos/kallithea/changeset/034e4fe1ebb2#rhodecodelibsubprocessiopy_n127 before The Big Fork. The comment became reality in https://kallithea-scm.org/repos/kallithea/changeset/01aca0a4f876#kallithealibvcssubprocessiopy_n125 when moving to Python 3. It doesn't seem to have caused problems so far, but I might have been too naive and trusted the comment too much.

Does it work better for you if changing it back:

                 kr.wait(2)

-                if not kr.wait(10):

+                if len(t) > ccm + 3:

                     raise IOError(

                         "Timed out while waiting for input from subprocess.")



I don't see why that should be a good change, but perhaps it fixes your issue.

Please let me know if you think I should push https://kallithea-scm.org/repos/kallithea-incoming/changeset/35e5c3dcec22 .

/Mads


On 15/04/2023 01:21, Quentin Wenger wrote:
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 clonehttps://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
_______________________________________________
kallithea-general mailing list
kallithea-general@sfconservancy.org
https://lists.sfconservancy.org/mailman/listinfo/kallithea-general

_______________________________________________
kallithea-general mailing list
kallithea-general@sfconservancy.org
https://lists.sfconservancy.org/mailman/listinfo/kallithea-general

Reply via email to