dandi / dandisets

730 Dandisets, 807.1 TB total. DataLad super-dataset of all Dandisets from https://github.com/dandisets
10 stars 0 forks source link

000623 repo git-annex branch is "broken" #371

Closed yarikoptic closed 9 months ago

yarikoptic commented 9 months ago

detected while assessing

apparently this dandiset is in really bad shape on drogon:

dandi@drogon:/mnt/backup/dandi/dandisets/000623$ git annex find --in web --not --in dandi-dandisets-dropbox
error: object file .git/objects/b6/d1d20e316838110ae3385d8aeff437db79fe9f is empty
fatal: b6d1d20e316838110ae3385d8aeff437db79fe9f is not a valid object
git-annex: user error (git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","commit-tree","b6d1d20e316838110ae3385d8aeff437db79fe9f","--no-gpg-sign"] exited 128)
dandi@drogon:/mnt/backup/dandi/dandisets/000623$ git log git-annex
warning: ignoring broken ref refs/heads/git-annex
warning: ignoring broken ref refs/heads/git-annex
fatal: ambiguous argument 'git-annex': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
dandi@drogon:/mnt/backup/dandi/dandisets/000623$ git branch -a
warning: ignoring broken ref refs/heads/git-annex
warning: ignoring broken ref refs/remotes/github/git-annex
* draft
  remotes/github/draft
dandi@drogon:/mnt/backup/dandi/dandisets/000623$ git fetch github
error: object file .git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b is empty
error: object file .git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b is empty
fatal: loose object 786a1b91784ac4c795653a0b04cfa227e975556b (stored in .git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b) is corrupt
dandi@drogon:/mnt/backup/dandi/dandisets/000623$ git fsck
error: object file .git/objects/00/cae08bad3b59bdbee42febd7ee8cbf833b1b13 is empty
error: unable to mmap .git/objects/00/cae08bad3b59bdbee42febd7ee8cbf833b1b13: No such file or directory
error: 00cae08bad3b59bdbee42febd7ee8cbf833b1b13: object corrupt or missing: .git/objects/00/cae08bad3b59bdbee42febd7ee8cbf833b1b13
error: object file .git/objects/02/ab4b845bf6e5ad0cedfde9b811b6f2274d4664 is empty
error: unable to mmap .git/objects/02/ab4b845bf6e5ad0cedfde9b811b6f2274d4664: No such file or directory
error: 02ab4b845bf6e5ad0cedfde9b811b6f2274d4664: object corrupt or missing: .git/objects/02/ab4b845bf6e5ad0cedfde9b811b6f2274d4664
error: object file .git/objects/02/c9c967f88ee3e5a2b1f1b13d3e087b7baddd55 is empty
error: unable to mmap .git/objects/02/c9c967f88ee3e5a2b1f1b13d3e087b7baddd55: No such file or directory
error: 02c9c967f88ee3e5a2b1f1b13d3e087b7baddd55: object corrupt or missing: .git/objects/02/c9c967f88ee3e5a2b1f1b13d3e087b7baddd55
error: object file .git/objects/08/cd3fa9eb4bdc09d932edb3f7d41d20a6902db1 is empty
error: unable to mmap .git/objects/08/cd3fa9eb4bdc09d932edb3f7d41d20a6902db1: No such file or directory
error: 08cd3fa9eb4bdc09d932edb3f7d41d20a6902db1: object corrupt or missing: .git/objects/08/cd3fa9eb4bdc09d932edb3f7d41d20a6902db1
error: object file .git/objects/09/ea111e357c9d9681a6d5fa735d65298ba85462 is empty
error: unable to mmap .git/objects/09/ea111e357c9d9681a6d5fa735d65298ba85462: No such file or directory
error: 09ea111e357c9d9681a6d5fa735d65298ba85462: object corrupt or missing: .git/objects/09/ea111e357c9d9681a6d5fa735d65298ba85462
...

but it seems that it concerns only git-annex branch since draft seems to git log just fine and git status is just fine.

https://github.com/dandisets/000623 seems to be fine...

we do not have btrfs snapshots for drogon going back (I guess I might have cleaned up during "out of space" fiasco" ```shell dandi@drogon:/mnt/backup/.snapshots$ ls -l dandi*/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231102T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231103T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231104T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231105T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231106T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231107T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231108T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231109T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231110T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231111T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231112T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231113T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231114T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231115T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b -r--r--r-- 1 dandi dandi 0 Oct 26 09:21 dandi.20231116T0000/dandisets/000623/.git/objects/78/6a1b91784ac4c795653a0b04cfa227e975556b ```

as github one seems to be ok, I will try to replace broken one with its copy. So this issue is mostly for the record keeping

yarikoptic commented 9 months ago

Don't know if there wouldn't be any side effects, but here is a dump of shell history on what I have done:

 2022  mv 000623 .git/_errored_; git clone https://github.com/dandisets/000623;
 2023  diff .git/_errored_/000623/.git/config  000623/.git/config
 2024  diff -Naur .git/_errored_/000623/.git/config  000623/.git/config
 2025  cd 000623/
 2026  git remote rename origin github
 2027  cp ../.git/_errored_/000623/.git/config .git/config
 2028  git fetch --all
 2029  git annex find --in web --not --in dandi-dandisets-dropbox
 2030  git annex info
 2031  git annex list

so we should reuse prior git-annex uuid, and it ATM doesn't have any file which were not copied to dropbox