Cannot upgrade to v6, gitauditbackend crashes #246

Closed
opened 2026-07-01 13:47:07 +00:00 by mih · 2 comments
Owner
dump-things-service --admin-token-hash ... --port 20010 --config /home/pool-v0/dumpthings_config.yaml --root-path /api --origins 'http://localhost:3000' /home/pool-v0/data

gives

Traceback (most recent call last):
  File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/datalad_core/runners/git.py", line 58, in _call_git
    return subprocess.run(
           ~~~~~~~~~~~~~~^
        cmd,
        ^^^^
    ...<5 lines>...
        env=env,
        ^^^^^^^^
    )
    ^
  File "/home/pool-v0/.local/share/uv/python/cpython-3.14.0-linux-x86_64-gnu/lib/python3.14/subprocess.py", line 577, in run
    raise CalledProcessError(retcode, process.args,
                             output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['git', 'ls-tree', '-r', 'master:']' returned non-zero exit status 128.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/pool-v0/.local/bin/dump-things-service", line 4, in <module>
    from dump_things_service.main import main
  File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/dump_things_service/main.py", line 246, in <module>
    g_configuration = read_config(store_path)
  File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/dump_things_service/abstract_config.py", line 235, in read_config
    config_backend, _ = get_config_backends(store_path)
                        ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/dump_things_service/abstract_config.py", line 224, in get_config_backends
    config_audit = GitAuditBackend(audit_path)
  File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/dump_things_service/audit/gitaudit.py", line 75, in __init__
    self._init_repo()
    ~~~~~~~~~~~~~~~^^
  File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/dump_things_service/audit/gitaudit.py", line 322, in _init_repo
    self._rebuild_index()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/dump_things_service/audit/gitaudit.py", line 336, in _rebuild_index
    tree_entries = call_git(
                   ~~~~~~~~^
        ['ls-tree', '-r', 'master:'],
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        cwd=self.path,
        ^^^^^^^^^^^^^^
        capture_output=True,
        ^^^^^^^^^^^^^^^^^^^^
    ).decode().splitlines()
    ^
  File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/datalad_core/runners/git.py", line 113, in call_git
    res = _call_git(
        args,
    ...<6 lines>...
        force_c_locale=force_c_locale,
    )
  File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/datalad_core/runners/git.py", line 74, in _call_git
    raise CommandError(
    ...<5 lines>...
    ) from e
datasalad.runners.exception.CommandError: Command ['git', 'ls-tree', '-r', 'master:'] returned non-zero exit status 128 at CWD /home/pool-v0/data/__dump_things__/config_audit [stderr: fatal: Not a valid object name master:
]

Even though I have no audit backend configured/enabled, I do see

$ ls -lh data/__dump_things__/
total 8.0K
drwxr-xr-x 7 pool-v0 pool-v0 4.0K Jul  1 15:39 config_audit
drwxr-xr-x 2 pool-v0 pool-v0 4.0K Jul  1 15:39 config_store
``` dump-things-service --admin-token-hash ... --port 20010 --config /home/pool-v0/dumpthings_config.yaml --root-path /api --origins 'http://localhost:3000' /home/pool-v0/data ``` gives ``` Traceback (most recent call last): File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/datalad_core/runners/git.py", line 58, in _call_git return subprocess.run( ~~~~~~~~~~~~~~^ cmd, ^^^^ ...<5 lines>... env=env, ^^^^^^^^ ) ^ File "/home/pool-v0/.local/share/uv/python/cpython-3.14.0-linux-x86_64-gnu/lib/python3.14/subprocess.py", line 577, in run raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) subprocess.CalledProcessError: Command '['git', 'ls-tree', '-r', 'master:']' returned non-zero exit status 128. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/pool-v0/.local/bin/dump-things-service", line 4, in <module> from dump_things_service.main import main File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/dump_things_service/main.py", line 246, in <module> g_configuration = read_config(store_path) File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/dump_things_service/abstract_config.py", line 235, in read_config config_backend, _ = get_config_backends(store_path) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/dump_things_service/abstract_config.py", line 224, in get_config_backends config_audit = GitAuditBackend(audit_path) File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/dump_things_service/audit/gitaudit.py", line 75, in __init__ self._init_repo() ~~~~~~~~~~~~~~~^^ File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/dump_things_service/audit/gitaudit.py", line 322, in _init_repo self._rebuild_index() ~~~~~~~~~~~~~~~~~~~^^ File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/dump_things_service/audit/gitaudit.py", line 336, in _rebuild_index tree_entries = call_git( ~~~~~~~~^ ['ls-tree', '-r', 'master:'], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cwd=self.path, ^^^^^^^^^^^^^^ capture_output=True, ^^^^^^^^^^^^^^^^^^^^ ).decode().splitlines() ^ File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/datalad_core/runners/git.py", line 113, in call_git res = _call_git( args, ...<6 lines>... force_c_locale=force_c_locale, ) File "/home/pool-v0/.local/share/uv/tools/dump-things-service/lib/python3.14/site-packages/datalad_core/runners/git.py", line 74, in _call_git raise CommandError( ...<5 lines>... ) from e datasalad.runners.exception.CommandError: Command ['git', 'ls-tree', '-r', 'master:'] returned non-zero exit status 128 at CWD /home/pool-v0/data/__dump_things__/config_audit [stderr: fatal: Not a valid object name master: ] ``` Even though I have no audit backend configured/enabled, I do see ``` $ ls -lh data/__dump_things__/ total 8.0K drwxr-xr-x 7 pool-v0 pool-v0 4.0K Jul 1 15:39 config_audit drwxr-xr-x 2 pool-v0 pool-v0 4.0K Jul 1 15:39 config_store ```
Author
Owner

I could mitigate by:

  • delete data/_dump_things__
  • set Git identity
  • restart

It appears that the Git identity is a critical environment requirement, and should be documented in the upgrade guide.

I could mitigate by: - delete `data/_dump_things__` - set Git identity - restart It appears that the Git identity is a critical environment requirement, and should be documented in the upgrade guide.
Owner

Fixed by release 6.3.1

Fixed by release 6.3.1
cmo closed this issue 2026-07-03 14:25:20 +00:00
Sign in to join this conversation.
No milestone
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
orinoco/dump-things-service#246
No description provided.