Please describe the problem.

This has happened a few times now which is why I'm reporting it. Git-annex seems to do something that causes my git repo to randomly corrupt on their own which is very worrying because I need to trust these repos to keep their content safe. It has never happened with regular repos and happens on both my Linux machine and my MBP. It hasn't happened on my NAS (SOTERIA) yet though which is exclusively accessed remotely, so I suspect this is an issue with the assistant/daemon.

What steps will reproduce the problem?

Just have the assistant running, committing and syncing. No idea what other factors migh play into this.

What version of git-annex are you using? On what operating system?

git-annex version: 8.20210428
build flags: Assistant Webapp Pairing Inotify DBus DesktopNotify TorrentParser MagicMime Feeds Testsuite S3 WebDAV
dependency versions: aws-0.22 bloomfilter-2.0.1.0 cryptonite-0.28 DAV-1.3.4 feed-1.3.2.0 ghc-8.10.4 http-client-0.6.4.1 persistent-sqlite-2.11.1.0 torrent-10000.1.1 uuid-1.3.14 yesod-1.6.1.1
key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 BLAKE2B256E BLAKE2B256 BLAKE2B512E BLAKE2B512 BLAKE2B160E BLAKE2B160 BLAKE2B224E BLAKE2B224 BLAKE2B384E BLAKE2B384 BLAKE2BP512E BLAKE2BP512 BLAKE2S256E BLAKE2S256 BLAKE2S160E BLAKE2S160 BLAKE2S224E BLAKE2S224 BLAKE2SP256E BLAKE2SP256 BLAKE2SP224E BLAKE2SP224 SHA1E SHA1 MD5E MD5 WORM URL X*
remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav adb tahoe glacier ddar git-lfs httpalso borg hook external
operating system: linux x86_64
supported repository versions: 8
upgrade supported from repository versions: 0 1 2 3 4 5 6 7
local repository version: 8

https://github.com/Atemu/nixpkgs/tree/498831397e77a265c240cf8f8a7d15e738f2f05b

Please provide any additional information below.

# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log
[2021-05-09 17:55:13.653645489] Committer: Committing changes to git
(recording state in git...)
[2021-05-09 17:55:13.702843262] Pusher: Syncing with SOTERIA 
To ssh://192.168.101.24/~/Annex/Documents.git/
   041f52d19..40cc59126  master -> synced/master
git-annex: internal error: evacuate: strange closure type 4325399
    (GHC version 8.10.4 for x86_64_unknown_linux)
    Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug
(recording state in git...)
(scanning...) ControlSocket .git/annex/ssh/atemu@192.168.101.24 already exists, disabling multiplexing
(started...) 
(recording state in git...)
Unpacking all pack files.
remote: error: cannot lock ref 'refs/heads/synced/git-annex': is at 9166c83718695df3021d5bbf4fef2297d3f4cc84 but expected 7f761edbbe3c2a4710c629e9e7fdfb730c0639e7        
remote: error: cannot lock ref 'refs/heads/synced/master': is at 42cab466f705c2496fb19249e272487bceb38808 but expected 40cc591261675e872f79b6a9ea966215d3f73581        
To ssh://192.168.101.24/~/Annex/Documents.git/
 ! [remote rejected]     git-annex -> synced/git-annex (failed to update ref)
 ! [remote rejected]     master -> synced/master (failed to update ref)
error: failed to push some refs to 'ssh://192.168.101.24/~/Annex/Documents.git/'
To ssh://192.168.101.24/~/Annex/Documents.git/
   7f761edbb..9166c8371  git-annex -> synced/git-annex
   40cc59126..42cab466f  master -> synced/master
fatal: early EOF
git-annex: internal error: evacuate: strange closure type 4325399
    (GHC version 8.10.4 for x86_64_unknown_linux)
    Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug
(recording state in git...)
ControlSocket .git/annex/ssh/atemu@192.168.101.24 already exists, disabling multiplexing
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
error: Could not read 1f2ab777cdd4eb9add96d42de5022bde0a4a9a8b
error: Could not read 0f74453f84ff23d31b00a9bc9c331c00988f465a
error: Could not read 0f74453f84ff23d31b00a9bc9c331c00988f465a
error: Could not read 1f2ab777cdd4eb9add96d42de5022bde0a4a9a8b
error: Could not read 0f74453f84ff23d31b00a9bc9c331c00988f465a
error: Could not read 1f2ab777cdd4eb9add96d42de5022bde0a4a9a8b
error: Could not read 0f74453f84ff23d31b00a9bc9c331c00988f465a
error: Could not read 1f2ab777cdd4eb9add96d42de5022bde0a4a9a8b
error: Could not read 0f74453f84ff23d31b00a9bc9c331c00988f465a
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint: 
hint:   git config --global init.defaultBranch <name>
hint: 
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint: 
hint:   git branch -m <name>
Initialized empty Git repository in /tmp/tmpreporFb6Gq/.git/
Trying to recover missing objects from remote SOTERIA.
fatal: 'SOTERIA' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Trying to recover missing objects from remote SOTERIA.
fatal: 'SOTERIA' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
65 missing objects could not be recovered!
To force a recovery to a usable state, retry with the --force parameter.
# End of transcript or log.

I'm not precisely sure when the actual crash happened (could be that it happened after starting up the machine today) as the log is a bit ambiguous. All I know is that it was corrupted today and that I was making commits till yesterday ~18:00.

The objects mentioned in the log are both 6 days old; one is a commit on master and one on git-annex.

Git fsck spat out a huge list of broken blobs and trees.

Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)

There are a surprising amount of weird bugs and quirks like these but it's such an amazing tool, there's nothing like it.