2026-07-10 10:52:20,059 DEBUG: v3.67.1 (pip), CPython 3.12.12 on Linux-4.18.0-553.22.1.el8_10.x86_64-x86_64-with-glibc2.28
2026-07-10 10:52:20,059 DEBUG: command: /some_path/.venv/bin/dvc list ssh://some-repo some-dataset -R -v
2026-07-10 10:52:20,281 DEBUG: Creating external repo ssh://some-repo@None
2026-07-10 10:52:20,281 DEBUG: erepo: git clone 'ssh://some-repo' to a temporary dir
2026-07-10 10:52:20,837 ERROR: failed to list 'ssh://some-repo' - SCM error: Failed to clone repo 'ssh://some-repo' to '/tmp/tmp2g0qc5madvc-clone': The remote server unexpectedly closed the connection.
Traceback (most recent call last):
File "/some_path/.venv/lib/python3.12/site-packages/scmrepo/git/backend/dulwich/__init__.py", line 261, in clone
repo = clone_from()
^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dulwich/porcelain/__init__.py", line 1593, in clone
repo = client.clone(
^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dulwich/client.py", line 1528, in clone
result = self.fetch(
^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dulwich/client.py", line 1671, in fetch
result = self.fetch_pack(
^^^^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dulwich/client.py", line 2217, in fetch_pack
server_protocol_version = negotiate_protocol_version(proto)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dulwich/client.py", line 412, in negotiate_protocol_version
pkt = proto.read_pkt_line()
^^^^^^^^^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dulwich/protocol.py", line 493, in read_pkt_line
raise HangupException
dulwich.errors.HangupException: The remote server unexpectedly closed the connection.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/some_path/.venv/lib/python3.12/site-packages/dvc/scm.py", line 153, in clone
git = Git.clone(url, to_path, progress=pbar.update_git, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/scmrepo/git/__init__.py", line 156, in clone
backend.clone(url, to_path, bare=bare, mirror=mirror, **kwargs)
File "/some_path/.venv/lib/python3.12/site-packages/scmrepo/git/backend/dulwich/__init__.py", line 269, in clone
raise CloneError(url, os.fsdecode(to_path)) from exc
scmrepo.exceptions.CloneError: Failed to clone repo 'ssh://some-repo' to '/tmp/tmp2g0qc5madvc-clone'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/some_path/.venv/lib/python3.12/site-packages/dvc/commands/ls/__init__.py", line 177, in run
return self._show_list()
^^^^^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dvc/commands/ls/__init__.py", line 148, in _show_list
entries = Repo.ls(
^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dvc/repo/ls.py", line 81, in ls
with _open_repo(url, rev, config, remote, remote_config) as repo:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dvc/repo/ls.py", line 24, in _open_repo
return Repo.open(
^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dvc/repo/__init__.py", line 306, in open
return open_repo(url, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dvc/repo/open_repo.py", line 60, in open_repo
return _external_repo(url, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ldap/u237427/.pyenv/versions/3.12.12/lib/python3.12/contextlib.py", line 81, in inner
return func(*args, **kwds)
^^^^^^^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dvc/repo/open_repo.py", line 23, in _external_repo
path = _cached_clone(url, rev)
^^^^^^^^^^^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dvc/repo/open_repo.py", line 140, in _cached_clone
clone_path, shallow = _clone_default_branch(url, rev)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/funcy/decorators.py", line 47, in wrapper
return deco(call, *dargs, **dkwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/funcy/flow.py", line 246, in wrap_with
return call()
^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/funcy/decorators.py", line 68, in __call__
return self._func(*self._args, **self._kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dvc/repo/open_repo.py", line 204, in _clone_default_branch
git = clone(url, clone_path)
^^^^^^^^^^^^^^^^^^^^^^
File "/some_path/.venv/lib/python3.12/site-packages/dvc/scm.py", line 158, in clone
raise CloneError("SCM error") from exc
dvc.scm.CloneError: SCM error
2026-07-10 10:52:20,857 DEBUG: Analytics is enabled.
2026-07-10 10:52:20,904 DEBUG: Trying to spawn ['daemon', 'analytics', '/tmp/tmpp4p7z2pb', '-v']
2026-07-10 10:52:20,911 DEBUG: Spawned ['daemon', 'analytics', '/tmp/tmpp4p7z2pb', '-v'] with pid 3373789
#----------------- pyproject.toml--------------------------------:
[tool.poetry]
name = "dummy-project"
version = "0.0.0" # Version is ignored and set jenkins. Use pipeline to increase.
description = ""
[tool.poetry.dependencies]
python = "~3.13"
[tool.poetry.group.dvc]
optional = true
[tool.poetry.group.dvc.dependencies]
dvc = { extras = ["azure"], version = "3.67.1" }
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
I expect there to be no error showing with the second command and with the first command it should not stay stuck at cloning
$ dvc doctor
DVC version: 3.67.1 (pip)
-------------------------
Platform: Python 3.13.3 on Linux-6.18.33.2-microsoft-standard-WSL2-x86_64-with-glibc2.35
Subprojects:
dvc_data = 3.18.3
dvc_objects = 5.2.0
dvc_render = 1.0.2
dvc_task = 0.40.2
scmrepo = 3.6.2
Supports:
azure (adlfs = 2026.5.0, knack = 0.14.0, azure-identity = 1.25.3),
http (aiohttp = 3.14.1, aiohttp-retry = 2.9.1),
https (aiohttp = 3.14.1, aiohttp-retry = 2.9.1)
Config:
Global: /home/u237427/.config/dvc
System: /etc/xdg/dvc
Bug Report
Description
When running the command
poetry run dvc list ssh://some-repo data/some-dataset -R -vdvc gets stuck at cloning the repository.
When running
GIT_SSH_COMMAND="ssh -o BatchMode=yes -o StrictHostKeyChecking=yes" poetry run dvc list ssh://some-repo data/some-dataset -R -vwe get the following error:
When downgrading dulwich to a version below 1.2.8, it works
Reproduce
poetry lockpoetry install --with dvc --no-rootpoetry run dvc list ssh://git@some-repo data/some-dataset -R -vand
GIT_SSH_COMMAND="ssh" poetry run dvc list ssh://git@some-repo data/some-dataset -R -vExpected
I expect there to be no error showing with the second command and with the first command it should not stay stuck at cloning
Environment information
Output of
dvc doctor:Additional Information (if any):
This commit here could be a possible issue: jelmer/dulwich#2254