Please describe the problem.

Building an optimized Windows binary with flag Production active doesn't result in one that is able to pass its test suite.

What steps will reproduce the problem?

stack --stack-yaml stack-lts-18.13.yaml setup && stack --stack-yaml stack-lts-18.13.yaml build --flag 'git-annex:Production' --flag 'git-annex:-Crypton'

(I found that the Crypton flag needs to be explicitly negated due to the Production flag somehow making it active causing the build to fail because of a missing dependency crypton. A bug in Cabal, perhaps?)

Then run the test suite in Git Bash in a directory that contains the executable and the requisite DLLs (the latter obtained by way of stack exec ldd -- git-annex.exe and copying over the ones in /mingw64). Observe the following (just is a cross-platform command runner that I use instead of GNU make.)

jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129)
$ just tests-new
/usr/bin/time ./git-annex.exe test  2>&1 | tee git-annex.test.LOG~200

All 0 tests passed (0.00s)
Tests
  Repo Tests v10 adjusted unlocked branch
    Init Tests
      init:                          OK (9.36s)
      add:                           FAIL
        Exception: fd:4: hGetChar: invalid argument (invalid byte sequence)
        Use -p '/Init Tests.add/' to rerun this test only.
    crypto:                          SKIP

      Use -p '/crypto/' to rerun this test only.
    uninit (in git-annex branch):    SKIP

      Use -p '/uninit (in git-annex branch)/' to rerun this test only.
    conflict resolution symlink bit: SKIP

      Use -p '/conflict resolution symlink bit/' to rerun this test only.
    union merge regression:          SKIP

      Use -p '/union merge regression/' to rerun this test only.
    unused:                          SKIP

      Use -p '/unused/' to rerun this test only.
    fsck (bare):                     SKIP

      Use -p '/fsck (bare)/' to rerun this test only.
    lock:                            SKIP

      Use -p '/Repo Tests v10 adjusted unlocked branch.lock/' to rerun this test only.
    drop (with remote):              SKIP

      Use -p '/drop (with remote)/' to rerun this test only.
    log:                             SKIP

      Use -p '/log/' to rerun this test only.
    add extras:                      SKIP

      Use -p '/add extras/' to rerun this test only.

11 out of 12 tests failed (11.65s)
[...]

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

git-annex version: 10.20231129-gbacd781c4fe05126219c4b5f2963677a6de01481
build flags: Assistant Webapp Pairing TorrentParser MagicMime Benchmark Feeds Testsuite S3 WebDAV
dependency versions: aws-0.22 bloomfilter-2.0.1.0 cryptonite-0.29 DAV-1.3.4 feed-1.3.2.0 ghc-8.10.7 http-client-0.7.9 pe
rsistent-sqlite-2.13.0.3 torrent-10000.1.1 uuid-1.3.15 yesod-1.6.1.2
key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SH
A3_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 BLA
KE2S160E BLAKE2S160 BLAKE2S224E BLAKE2S224 BLAKE2SP256E BLAKE2SP256 BLAKE2SP224E BLAKE2SP224 SHA1E SHA1 MD5E MD5 WORM UR
L X*
remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav adb tahoe glacier ddar git-lfs httpalso borg h
ook external
operating system: mingw32 x86_64
supported repository versions: 8 9 10
upgrade supported from repository versions: 2 3 4 5 6 7 8 9 10

Windows 10 version 22H2 (build 19045.3693), 64 bit.

Please provide any additional information below.

This is how I build my "production" version of git-annex (in PowerShell):

C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +6 ~0 -0 !]> just setup-build
cd 'C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P' && stack --stack-yaml stack-lts-18.13.yaml setup --verbose 2>&1 | & $env:GNU_TEE_CMD stack.setup---verbose.LOG~101
Version 2.13.1, Git revision 8102bb8afce90fc954f48efae38b87f37cabc988 x86_64 hpack-0.36.0
2023-12-08 16:24:52.098843: [debug] Loading project config file stack-lts-18.13.yaml
2023-12-08 16:24:52.130837: [debug] Use of Casa server enabled: (CasaRepoPrefix "https://casa.stackage.org", 1280).
2023-12-08 16:24:52.142835: [debug] (SQL) SELECT COUNT(*) FROM "last_performed" WHERE ("action"=?) AND ("timestamp">=?); [PersistInt64 1,PersistUTCTime 2023-12-07 14:24:52.1418345 UTC]
2023-12-08 16:24:52.144833: [debug] Using package location completions from a lock file
2023-12-08 16:24:52.154836: [debug] Loaded snapshot from Pantry database.
2023-12-08 16:24:52.575861: [debug] Prefetching git repos: []
2023-12-08 16:24:52.576863: [debug] []
2023-12-08 16:24:52.614841: [debug] Asking for a supported GHC version
2023-12-08 16:24:52.624838: [debug] Installed tools:
 - msys2-20200903
 - ghc-9.6.2
 - ghc-9.0.2
 - ghc-8.8.4
 - ghc-8.8.3
 - ghc-8.6.5
 - ghc-8.4.3
 - ghc-8.10.7
 - ghc-8.10.4
2023-12-08 16:24:52.625841: [debug] Potential GHC builds: standard
2023-12-08 16:24:52.625841: [debug] Found already installed GHC builds: standard
2023-12-08 16:24:52.630839: [debug] Performing a sanity check on: C:\Users\jkniiv\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.7\bin\ghc-8.10.7.exe
2023-12-08 16:24:52.632844: [debug] Run process within C:\Users\jkniiv\AppData\Local\Temp\stack-sanity-check-2b0507b6fb5a74f8\: C:\Users\jkniiv\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.7\bin\ghc-8.10.7.exe C:\Users\jkniiv\AppData\Local\Temp\stack-sanity-check-2b0507b6fb5a74f8\Main.hs -no-user-package-db -hide-all-packages "-package base" "-package Cabal"
2023-12-08 16:25:16.713070: [debug] Process finished in 24079ms: C:\Users\jkniiv\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.7\bin\ghc-8.10.7.exe C:\Users\jkniiv\AppData\Local\Temp\stack-sanity-check-2b0507b6fb5a74f8\Main.hs -no-user-package-db -hide-all-packages "-package base" "-package Cabal"
2023-12-08 16:25:16.721070: [debug] (SQL) SELECT "id","actual_version","arch","ghc_path","ghc_size","ghc_modified","ghc_pkg_path","runghc_path","haddock_path","cabal_version","global_db","global_db_cache_size","global_db_cache_modified","info","global_dump" FROM "compiler_cache" WHERE "ghc_path"=?; [PersistText "C:\\Users\\jkniiv\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.7\\bin\\ghc-8.10.7.exe"]
2023-12-08 16:25:16.806072: [debug] Loaded compiler information from cache
2023-12-08 16:25:16.806072: [debug] Asking for a supported GHC version
2023-12-08 16:25:16.806072: [info] Stack will use a sandboxed GHC it installed. To use this GHC and packages outside of a project,
consider using: stack ghc, stack ghci, stack runghc, or stack exec.
C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +6 ~0 -0 !]> just build-production
cd 'C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P' && stack --stack-yaml stack-lts-18.13.yaml build --flag 'git-annex:Production' --flag 'git-annex:-Crypton' 2>&1 | & $env:GNU_TEE_CMD stack.build---flag-git-annex_Production.LOG~102
Building all executables for git-annex once. After a successful build of all of them, only specified
executables will be rebuilt.
git-annex> configure (exe)
[ 1 of 22] Compiling Author           ( Author.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Author.o )
[ 2 of 22] Compiling Utility.Data     ( Utility\Data.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Data.o )
[ 3 of 22] Compiling Utility.FileSystemEncoding ( Utility\FileSystemEncoding.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\FileSystemEncoding.o )
[ 4 of 22] Compiling Utility.Debug    ( Utility\Debug.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Debug.o )
[ 5 of 22] Compiling Utility.Misc     ( Utility\Misc.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Misc.o )
[ 6 of 22] Compiling Utility.Monad    ( Utility\Monad.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Monad.o )
[ 7 of 22] Compiling Utility.Process.Shim ( Utility\Process\Shim.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Process\Shim.o )
[ 8 of 22] Compiling Utility.SafeOutput ( Utility\SafeOutput.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\SafeOutput.o )
[ 9 of 22] Compiling Utility.Exception ( Utility\Exception.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Exception.o )
[10 of 22] Compiling Utility.Process  ( Utility\Process.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Process.o )
[11 of 22] Compiling Utility.SafeCommand ( Utility\SafeCommand.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\SafeCommand.o )
[12 of 22] Compiling Utility.Env.Basic ( Utility\Env\Basic.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Env\Basic.o )
[13 of 22] Compiling Build.Version    ( Build\Version.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Build\Version.o )
[14 of 22] Compiling Utility.Split    ( Utility\Split.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Split.o )
[15 of 22] Compiling Utility.DottedVersion ( Utility\DottedVersion.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\DottedVersion.o )
[16 of 22] Compiling Git.Version      ( Git\Version.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Git\Version.o )
[17 of 22] Compiling Utility.SystemDirectory ( Utility\SystemDirectory.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\SystemDirectory.o )
[18 of 22] Compiling Utility.Path     ( Utility\Path.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Path.o )
[19 of 22] Compiling Build.TestConfig ( Build\TestConfig.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Build\TestConfig.o )
[20 of 22] Compiling Build.Configure  ( Build\Configure.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Build\Configure.o )
[21 of 22] Compiling Main             ( C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\Setup.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Main.o )
[22 of 22] Compiling StackSetupShim   ( C:\\hs-stack\setup-exe-src\setup-shim-9p6GVs8J.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\StackSetupShim.o )
Linking C:\\Users\\jkniiv\\Projektit\\git-annex.branchable.com\\git-annex--BUILD-231130-10.20231129~P\\.stack-work\\dist\\ed8db9df\\setup\\setup.exe ...
  checking UPGRADE_LOCATION... not available
  checking git... yes
  checking git version... 2.43.0.windows.1
  checking cp -a... yes
  checking cp -p... yes
  checking cp --preserve=timestamps... yes
  checking cp_reflink_supported... no
  checking cp --no-preserve=xattr... yes
  checking xargs -0... yes
  checking rsync... no
  checking curl... yes
  checking bup... no
  checking borg... no
  checking nice... yes
  checking ionice... no
  checking nocache... no
  checking gpg... gpg
  checking lsof... not available
  checking git-remote-gcrypt... not available
  checking ssh connection caching... yes
Configuring git-annex-10.20231129...
git-annex> build (exe)
Preprocessing executable 'git-annex' for git-annex-10.20231129..
Building executable 'git-annex' for git-annex-10.20231129..
[  1 of 693] Compiling Assistant.Types.BranchChange
[  2 of 693] Compiling Assistant.Types.ThreadName
[  3 of 693] Compiling Assistant.Types.TransferSlots
[...snip...]
[691 of 693] Compiling Command.Assistant
[692 of 693] Compiling CmdLine.GitAnnex
[693 of 693] Compiling Main
Linking .stack-work\\dist\\ed8db9df\\build\\git-annex\\git-annex.exe ...
git-annex> copy/register
Installing executable git-annex in C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\install\f241563d\bin
C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +6 ~0 -0 !]> cp .\.stack-work\install\f241563d\bin\git-annex.exe .
C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +7 ~0 -0 !]> .\git-annex.exe version > git-annex.version.TXT
C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +7 ~0 -0 !]> head -1 .\git-annex.version.TXT
git-annex version: 10.20231129-gbacd781c4fe05126219c4b5f2963677a6de01481
C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +7 ~0 -0 !]> cat build.TXT
git-annex--BUILD-231130-10.20231129~P
resolver: lts-18.13
C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +7 ~0 -0 !]> just copy-dlls-over-to-here
+ PATH='/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Program Files/PowerShell/7:<theRestRedacted />'
+ cd 'C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P'
++ stack exec ldd -- git-annex.exe
++ grep /mingw64
++ cut '-d ' -f3
+ dlls_to_copy='/mingw64/bin/libmagic-1.dll
/mingw64/bin/libsystre-0.dll
/mingw64/bin/libtre-5.dll
/mingw64/bin/libintl-8.dll'
+ stack exec cp -- -pv /mingw64/bin/libmagic-1.dll /mingw64/bin/libsystre-0.dll /mingw64/bin/libtre-5.dll /mingw64/bin/libintl-8.dll .
'C:/Users/jkniiv/AppData/Local/Programs/stack/x86_64-windows/msys2-20200903/mingw64/bin/libmagic-1.dll' -> './libmagic-1.dll'
'C:/Users/jkniiv/AppData/Local/Programs/stack/x86_64-windows/msys2-20200903/mingw64/bin/libsystre-0.dll' -> './libsystre-0.dll'
'C:/Users/jkniiv/AppData/Local/Programs/stack/x86_64-windows/msys2-20200903/mingw64/bin/libtre-5.dll' -> './libtre-5.dll'
'C:/Users/jkniiv/AppData/Local/Programs/stack/x86_64-windows/msys2-20200903/mingw64/bin/libintl-8.dll' -> './libintl-8.dll'
C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +12 ~0 -0 !]> just install-files-to-annx-test-dir
+ PATH='/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Program Files/PowerShell/7:<theRestRedacted />'
+ cd 'C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P'
++ shopt -s nullglob
++ echo git-annex.exe libintl-8.dll libmagic-1.dll libsystre-0.dll libtre-5.dll build.TXT git-annex.version.TXT stack.build---flag-git-annex_Production.LOG~102 stack.build.LOG~102 stack.setup---verbose.LOG~101 CHANGELOG
+ files_to_copy='git-annex.exe libintl-8.dll libmagic-1.dll libsystre-0.dll libtre-5.dll build.TXT git-annex.version.TXT stack.build---flag-git-annex_Production.LOG~102 stack.build.LOG~102 stack.setup---verbose.LOG~101 CHANGELOG'
+ cp -pv git-annex.exe libintl-8.dll libmagic-1.dll libsystre-0.dll libtre-5.dll build.TXT git-annex.version.TXT stack.build---flag-git-annex_Production.LOG~102 stack.build.LOG~102 stack.setup---verbose.LOG~101 CHANGELOG .annx-test
'git-annex.exe' -> '.annx-test/git-annex.exe'
'libintl-8.dll' -> '.annx-test/libintl-8.dll'
'libmagic-1.dll' -> '.annx-test/libmagic-1.dll'
'libsystre-0.dll' -> '.annx-test/libsystre-0.dll'
'libtre-5.dll' -> '.annx-test/libtre-5.dll'
'build.TXT' -> '.annx-test/build.TXT'
'git-annex.version.TXT' -> '.annx-test/git-annex.version.TXT'
'stack.build---flag-git-annex_Production.LOG~102' -> '.annx-test/stack.build---flag-git-annex_Production.LOG~102'
'stack.build.LOG~102' -> '.annx-test/stack.build.LOG~102'
'stack.setup---verbose.LOG~101' -> '.annx-test/stack.setup---verbose.LOG~101'
'CHANGELOG' -> '.annx-test/CHANGELOG'

# End of transcript or log.

And this is how I usually run the test suite in Git Bash (with some preliminary actions to record the tests available + make an SHA256SUMS file of the most important files in this test directory):

jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P (BUILD-231130-10.20231129)
$ cd .annx-test/

jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129)
$ just record-tests
./git-annex.exe test --list-tests > git-annex.test---list-tests.TXT

jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129)
$ just sums check-sums
sha256sum git-annex.exe libintl-8.dll libmagic-1.dll libsystre-0.dll libtre-5.dll build.TXT git-annex.test---list-tests.
TXT git-annex.version.TXT > SHA256SUMS
sha256sum -c SHA256SUMS
git-annex.exe: OK
libintl-8.dll: OK
libmagic-1.dll: OK
libsystre-0.dll: OK
libtre-5.dll: OK
build.TXT: OK
git-annex.test---list-tests.TXT: OK
git-annex.version.TXT: OK

jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129)
$ ls -l
total 73065
-rw-r--r-- 1 jkniiv 197121   429145 Dec  8 14:28 CHANGELOG
-rw-r--r-- 1 jkniiv 197121     1073 Dec 14  2022 Justfile
-rw-r--r-- 1 jkniiv 197121      664 Dec  8 16:48 SHA256SUMS
-rw-r--r-- 1 jkniiv 197121       60 Dec  8 15:27 build.TXT
-rwxr-xr-x 1 jkniiv 197121 73740800 Dec  8 16:41 git-annex.exe*
-rw-r--r-- 1 jkniiv 197121     8464 Dec  8 16:48 git-annex.test---list-tests.TXT
-rw-r--r-- 1 jkniiv 197121     1112 Dec  8 16:42 git-annex.version.TXT
-rwxr-xr-x 1 jkniiv 197121   187145 Nov 23 11:21 libintl-8.dll*
-rwxr-xr-x 1 jkniiv 197121   226435 Dec  4 20:11 libmagic-1.dll*
-rwxr-xr-x 1 jkniiv 197121    18240 Jan 17  2018 libsystre-0.dll*
-rwxr-xr-x 1 jkniiv 197121    92313 Jan 17  2018 libtre-5.dll*
-rw-r--r-- 1 jkniiv 197121    37834 Dec  8 16:41 stack.build---flag-git-annex_Production.LOG~102
-rw-r--r-- 1 jkniiv 197121    37834 Dec  8 15:45 stack.build.LOG~102
-rw-r--r-- 1 jkniiv 197121     2757 Dec  8 16:25 stack.setup---verbose.LOG~101

jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129)
$ ldd git-annex.exe
        ntdll.dll => /c/WINDOWS/SYSTEM32/ntdll.dll (0x7ff93f190000)
        KERNEL32.DLL => /c/WINDOWS/System32/KERNEL32.DLL (0x7ff93e380000)
        KERNELBASE.dll => /c/WINDOWS/System32/KERNELBASE.dll (0x7ff93c9d0000)
        ADVAPI32.dll => /c/WINDOWS/System32/ADVAPI32.dll (0x7ff93e870000)
        msvcrt.dll => /c/WINDOWS/System32/msvcrt.dll (0x7ff93d2b0000)
        libmagic-1.dll => /c/Users/jkniiv/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test/libmagic-1.dll (0x7ff8fd370000)
        sechost.dll => /c/WINDOWS/System32/sechost.dll (0x7ff93e250000)
        SHLWAPI.dll => /c/WINDOWS/System32/SHLWAPI.dll (0x7ff93e440000)
        libsystre-0.dll => /c/Users/jkniiv/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test/libsystre-0.dll (0x6bcc0000)
        RPCRT4.dll => /c/WINDOWS/System32/RPCRT4.dll (0x7ff93e120000)
        CRYPT32.dll => /c/WINDOWS/System32/CRYPT32.dll (0x7ff93d090000)
        libtre-5.dll => /c/Users/jkniiv/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test/libtre-5.dll (0x63bc0000)
        ucrtbase.dll => /c/WINDOWS/System32/ucrtbase.dll (0x7ff93cf00000)
        GDI32.dll => /c/WINDOWS/System32/GDI32.dll (0x7ff93d1f0000)
        win32u.dll => /c/WINDOWS/System32/win32u.dll (0x7ff93ced0000)
        libintl-8.dll => /c/Users/jkniiv/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test/libintl-8.dll (0x7ff8f3d20000)
        gdi32full.dll => /c/WINDOWS/System32/gdi32full.dll (0x7ff93ccd0000)
        dbghelp.dll => /c/WINDOWS/SYSTEM32/dbghelp.dll (0x7ff93ae50000)
        msvcp_win.dll => /c/WINDOWS/System32/msvcp_win.dll (0x7ff93c8c0000)
        USER32.dll => /c/WINDOWS/System32/USER32.dll (0x7ff93d6c0000)
        ole32.dll => /c/WINDOWS/System32/ole32.dll (0x7ff93d4e0000)
        libiconv-2.dll => /c/Users/jkniiv/bin/libiconv-2.dll (0x7ff8a6e00000)
        combase.dll => /c/WINDOWS/System32/combase.dll (0x7ff93e510000)
        IPHLPAPI.DLL => /c/WINDOWS/SYSTEM32/IPHLPAPI.DLL (0x7ff93bbf0000)
        SHELL32.dll => /c/WINDOWS/System32/SHELL32.dll (0x7ff93d900000)
        WS2_32.dll => /c/WINDOWS/System32/WS2_32.dll (0x7ff93d860000)
        WINMM.dll => /c/WINDOWS/SYSTEM32/WINMM.dll (0x7ff928e00000)
        CRYPTBASE.DLL => /c/WINDOWS/SYSTEM32/CRYPTBASE.DLL (0x7ff93c070000)
        dbgcore.DLL => /c/WINDOWS/SYSTEM32/dbgcore.DLL (0x7ff928dc0000)

jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129)
$ just tests-new
/usr/bin/time ./git-annex.exe test  2>&1 | tee git-annex.test.LOG~200

All 0 tests passed (0.00s)
Tests
  Repo Tests v10 adjusted unlocked branch
    Init Tests
      init:                          OK (9.36s)
      add:                           FAIL
        Exception: fd:4: hGetChar: invalid argument (invalid byte sequence)
        Use -p '/Init Tests.add/' to rerun this test only.
    crypto:                          SKIP

      Use -p '/crypto/' to rerun this test only.
    uninit (in git-annex branch):    SKIP

      Use -p '/uninit (in git-annex branch)/' to rerun this test only.
    conflict resolution symlink bit: SKIP

      Use -p '/conflict resolution symlink bit/' to rerun this test only.
    union merge regression:          SKIP

      Use -p '/union merge regression/' to rerun this test only.
    unused:                          SKIP

      Use -p '/unused/' to rerun this test only.
    fsck (bare):                     SKIP

      Use -p '/fsck (bare)/' to rerun this test only.
    lock:                            SKIP

      Use -p '/Repo Tests v10 adjusted unlocked branch.lock/' to rerun this test only.
    drop (with remote):              SKIP

      Use -p '/drop (with remote)/' to rerun this test only.
    log:                             SKIP

      Use -p '/log/' to rerun this test only.
    add extras:                      SKIP

      Use -p '/add extras/' to rerun this test only.

11 out of 12 tests failed (11.65s)
Tests
  QuickCheck
    prop_quote_unquote_roundtrip:            OK (0.10s)
      +++ OK, passed 1000 tests.
    prop_encode_c_decode_c_roundtrip:        OK (0.11s)
      +++ OK, passed 1000 tests.
    prop_isomorphic_key_encode:              OK (0.05s)
      +++ OK, passed 1000 tests.
    prop_isomorphic_shellEscape:             OK (0.04s)
      +++ OK, passed 1000 tests.
    prop_isomorphic_shellEscape_multiword:   OK (1.25s)
      +++ OK, passed 1000 tests.
    prop_isomorphic_configEscape:            OK (0.03s)
      +++ OK, passed 1000 tests.
    prop_parse_show_Config:                  OK (0.08s)
      +++ OK, passed 1000 tests.
    prop_upFrom_basics:                      OK
      +++ OK, passed 1000 tests.
    prop_relPathDirToFileAbs_basics:         OK (0.04s)
      +++ OK, passed 1000 tests.
    prop_relPathDirToFileAbs_regressionTest: OK
      +++ OK, passed 1 test.
    prop_dirContains_regressionTest:         OK
      +++ OK, passed 1 test.
    prop_cost_sane:                          OK
      +++ OK, passed 1 test.
    prop_matcher_sane:                       OK
      +++ OK, passed 1 test.
    prop_HmacSha1WithCipher_sane:            OK
      +++ OK, passed 1 test.
    prop_VectorClock_sane:                   OK
      +++ OK, passed 1 test.
    prop_addMapLog_sane:                     OK
      +++ OK, passed 1 test.
    prop_verifiable_sane:                    OK (0.11s)
      +++ OK, passed 1000 tests.
    prop_segment_regressionTest:             OK
      +++ OK, passed 1 test.
    prop_read_write_transferinfo:            OK (0.06s)
      +++ OK, passed 1000 tests.
    prop_read_show_inodecache:               OK (0.04s)
      +++ OK, passed 1000 tests.
    prop_parse_build_presence_log:           OK (1.92s)
      +++ OK, passed 1000 tests.
    prop_parse_build_contentidentifier_log:  OK (1.65s)
      +++ OK, passed 1000 tests.
    prop_read_show_TrustLevel:               OK
      +++ OK, passed 1 test.
    prop_parse_build_TrustLevelLog:          OK
      +++ OK, passed 1 test.
    prop_schedule_roundtrips:                OK (0.01s)
      +++ OK, passed 1000 tests.
    prop_past_sane:                          OK
      +++ OK, passed 1 test.
    prop_duration_roundtrips:                OK
      +++ OK, passed 1000 tests.
    prop_metadata_sane:                      OK (1.00s)
      +++ OK, passed 1000 tests.
    prop_metadata_serialize:                 OK (1.07s)
      +++ OK, passed 1000 tests.
    prop_branchView_legal:                   OK (1.10s)
      +++ OK, passed 1000 tests.
    prop_viewPath_roundtrips:                OK (0.02s)
      +++ OK, passed 1000 tests.
    prop_view_roundtrips:                    OK (0.55s)
      +++ OK, passed 1000 tests.
    prop_viewedFile_rountrips:               OK (0.04s)
      +++ OK, passed 1000 tests.
    prop_standardGroups_parse:               OK
      +++ OK, passed 1 test.
    sha1 stable:                             OK
      +++ OK, passed 1 test.
    sha2_224 stable:                         OK
      +++ OK, passed 1 test.
    sha2_256 stable:                         OK
      +++ OK, passed 1 test.
    sha2_384 stable:                         OK
      +++ OK, passed 1 test.
    sha2_512 stable:                         OK
      +++ OK, passed 1 test.
    skein256 stable:                         OK
      +++ OK, passed 1 test.
    skein512 stable:                         OK
      +++ OK, passed 1 test.
    sha3_224 stable:                         OK
      +++ OK, passed 1 test.
    sha3_256 stable:                         OK
      +++ OK, passed 1 test.
    sha3_384 stable:                         OK
      +++ OK, passed 1 test.
    sha3_512 stable:                         OK
      +++ OK, passed 1 test.
    blake2s_160 stable:                      OK
      +++ OK, passed 1 test.
    blake2s_224 stable:                      OK
      +++ OK, passed 1 test.
    blake2s_256 stable:                      OK
      +++ OK, passed 1 test.
    blake2sp_224 stable:                     OK
      +++ OK, passed 1 test.
    blake2sp_256 stable:                     OK
      +++ OK, passed 1 test.
    blake2b_160 stable:                      OK
      +++ OK, passed 1 test.
    blake2b_224 stable:                      OK
      +++ OK, passed 1 test.
    blake2b_256 stable:                      OK
      +++ OK, passed 1 test.
    blake2b_384 stable:                      OK
      +++ OK, passed 1 test.
    blake2b_512 stable:                      OK
      +++ OK, passed 1 test.
    blake2bp_512 stable:                     OK
      +++ OK, passed 1 test.
    md5 stable:                              OK
      +++ OK, passed 1 test.
    HmacSha1 stable:                         OK
      +++ OK, passed 1 test.
    HmacSha224 stable:                       OK
      +++ OK, passed 1 test.
    HmacSha256 stable:                       OK
      +++ OK, passed 1 test.
    HmacSha384 stable:                       OK
      +++ OK, passed 1 test.
    HmacSha512 stable:                       OK
      +++ OK, passed 1 test.

All 62 tests passed (9.40s)
Tests
  Repo Tests v10 adjusted unlocked branch
    Init Tests
      init:                                OK (9.46s)
      add:                                 FAIL
        Exception: fd:4: hGetChar: invalid argument (invalid byte sequence)
        Use -p '/add/' to rerun this test only.
    bup remote:                            SKIP

      Use -p '/bup remote/' to rerun this test only.
    map:                                   SKIP

      Use -p '/map/' to rerun this test only.
    conflict resolution movein regression: SKIP

      Use -p '/conflict resolution movein regression/' to rerun this test only.
    sync:                                  SKIP

      Use -p '/sync/' to rerun this test only.
    migrate:                               SKIP

      Use -p '/migrate/' to rerun this test only.
    trust:                                 SKIP

      Use -p '/trust/' to rerun this test only.
    move (numcopies):                      SKIP

      Use -p '/move (numcopies)/' to rerun this test only.
    unannex (with copy):                   SKIP

      Use -p '/unannex (with copy)/' to rerun this test only.
    export and import of subdir:           SKIP

      Use -p '/export and import of subdir/' to rerun this test only.

10 out of 11 tests failed (11.84s)
Tests
  Repo Tests v10 adjusted unlocked branch
    Init Tests
      init:                                         OK (9.47s)
      add:                                          FAIL
        Exception: fd:4: hGetChar: invalid argument (invalid byte sequence)
        Use -p '/Init Tests.add/' to rerun this test only.
    borg remote:                                    SKIP

      Use -p '/borg remote/' to rerun this test only.
    uninit:                                         SKIP

      Use -p '/uninit/' to rerun this test only.
    conflict resolution (mixed directory and file): SKIP

      Use -p '/conflict resolution (mixed directory and file)/' to rerun this test only.
    concurrent get of dup key regression:           SKIP

      Use -p '/concurrent get of dup key regression/' to rerun this test only.
    migrate (via gitattributes):                    SKIP

      Use -p '/migrate (via gitattributes)/' to rerun this test only.
    fsck (basics):                                  SKIP

      Use -p '/fsck (basics)/' to rerun this test only.
    copy:                                           SKIP

      Use -p '/copy/' to rerun this test only.
    drop (no remote):                               SKIP

      Use -p '/drop (no remote)/' to rerun this test only.
    shared clone:                                   SKIP

      Use -p '/shared clone/' to rerun this test only.
    add dup:                                        SKIP

      Use -p '/add dup/' to rerun this test only.

11 out of 12 tests failed (11.82s)
Tests
  Repo Tests v10 adjusted unlocked branch
    Init Tests
      init:                                   OK (8.97s)
      add:                                    FAIL
        Exception: fd:4: hGetChar: invalid argument (invalid byte sequence)
        Use -p '/Init Tests.add/' to rerun this test only.
    addurl:                                   SKIP

      Use -p '/addurl/' to rerun this test only.
    directory remote:                         SKIP

      Use -p '/directory remote/' to rerun this test only.
    conflict resolution (nonannexed symlink): SKIP

      Use -p '/conflict resolution (nonannexed symlink)/' to rerun this test only.
    conflict resolution:                      SKIP

      Use -p '$0=="Tests.Repo Tests v10 adjusted unlocked branch.conflict resolution"' to rerun this test only.
    info:                                     SKIP

      Use -p '/info/' to rerun this test only.
    conversion git to annexed:                SKIP

      Use -p '/conversion git to annexed/' to rerun this test only.
    partial commit:                           SKIP

      Use -p '/partial commit/' to rerun this test only.
    move:                                     SKIP

      Use -p '/move/' to rerun this test only.
    reinject:                                 SKIP

      Use -p '/reinject/' to rerun this test only.
    metadata:                                 SKIP

      Use -p '/metadata/' to rerun this test only.

11 out of 12 tests failed (11.20s)
Tests
  Repo Tests v10 adjusted unlocked branch
    Init Tests
      init:                                       OK (9.18s)
      add:                                        FAIL
        Exception: fd:4: hGetChar: invalid argument (invalid byte sequence)
        Use -p '/Init Tests.add/' to rerun this test only.
    preferred content:                            SKIP

      Use -p '/preferred content/' to rerun this test only.
    upgrade:                                      SKIP

      Use -p '/upgrade/' to rerun this test only.
    conflict resolution (uncommitted local file): SKIP

      Use -p '/conflict resolution (uncommitted local file)/' to rerun this test only.
    adjusted branch merge regression:             SKIP

      Use -p '/adjusted branch merge regression/' to rerun this test only.
    describe:                                     SKIP

      Use -p '/describe/' to rerun this test only.
    fsck (local untrusted):                       SKIP

      Use -p '/fsck (local untrusted)/' to rerun this test only.
    lock --force:                                 SKIP

      Use -p '/lock --force/' to rerun this test only.
    drop (untrusted remote):                      SKIP

      Use -p '/drop (untrusted remote)/' to rerun this test only.
    view:                                         SKIP

      Use -p '/view/' to rerun this test only.
    add moved link:                               SKIP

      Use -p '/add moved link/' to rerun this test only.

11 out of 12 tests failed (11.64s)
Tests
  Repo Tests v10 adjusted unlocked branch
    Init Tests
      init:                                OK (9.02s)
      add:                                 FAIL
        Exception: fd:4: hGetChar: invalid argument (invalid byte sequence)
        Use -p '/Init Tests.add/' to rerun this test only.
    add subdirs:                           SKIP

      Use -p '/add subdirs/' to rerun this test only.
    hook remote:                           SKIP

      Use -p '/hook remote/' to rerun this test only.
    conflict resolution (nonannexed file): SKIP

      Use -p '/conflict resolution (nonannexed file)/' to rerun this test only.
    transition propagation:                SKIP

      Use -p '/transition propagation/' to rerun this test only.
    merge:                                 SKIP

      Use -p '/merge/' to rerun this test only.
    fsck --from remote:                    SKIP

      Use -p '/fsck --from remote/' to rerun this test only.
    edit (pre-commit):                     SKIP

      Use -p '/edit (pre-commit)/' to rerun this test only.
    get (ssh remote):                      SKIP

      Use -p '/get (ssh remote)/' to rerun this test only.
    import:                                SKIP

      Use -p '/import/' to rerun this test only.
    ignore deleted files:                  SKIP

      Use -p '/ignore deleted files/' to rerun this test only.

11 out of 12 tests failed (11.22s)
Tests
  Repo Tests v10 adjusted unlocked branch
    Init Tests
      init:                             OK (8.99s)
      add:                              FAIL
        Exception: fd:4: hGetChar: invalid argument (invalid byte sequence)
        Use -p '/add/' to rerun this test only.
    required_content:                   SKIP

      Use -p '/required_content/' to rerun this test only.
    whereis:                            SKIP

      Use -p '/whereis/' to rerun this test only.
    conflict resolution (removed file): SKIP

      Use -p '/conflict resolution (removed file)/' to rerun this test only.
    adjusted branch subtree regression: SKIP

      Use -p '/adjusted branch subtree regression/' to rerun this test only.
    find:                               SKIP

      Use -p '/find/' to rerun this test only.
    fsck (remote untrusted):            SKIP

      Use -p '/fsck (remote untrusted)/' to rerun this test only.
    edit (no pre-commit):               SKIP

      Use -p '/edit (no pre-commit)/' to rerun this test only.
    get:                                SKIP

      Use -p '/get/' to rerun this test only.
    magic:                              SKIP

      Use -p '/magic/' to rerun this test only.
    readonly remote:                    SKIP

      Use -p '/readonly remote/' to rerun this test only.

11 out of 12 tests failed (11.22s)
Tests
  Repo Tests v10 adjusted unlocked branch
    Init Tests
      init:                                               OK (5.91s)
      add:                                                FAIL
        Exception: fd:4: hGetChar: invalid argument (invalid byte sequence)
        Use -p '/add/' to rerun this test only.
    repair:                                               SKIP

      Use -p '/repair/' to rerun this test only.
    rsync remote:                                         SKIP

      Use -p '/rsync remote/' to rerun this test only.
    conflict resolution (mixed locked and unlocked file): SKIP

      Use -p '/conflict resolution (mixed locked and unlocked file)/' to rerun this test only.
    conflict resolution (adjusted branch):                SKIP

      Use -p '/conflict resolution (adjusted branch)/' to rerun this test only.
    version:                                              SKIP

      Use -p '/Repo Tests v10 adjusted unlocked branch.version/' to rerun this test only.
    conversion annexed to git:                            SKIP

      Use -p '/conversion annexed to git/' to rerun this test only.
    fix:                                                  SKIP

      Use -p '/fix/' to rerun this test only.
    move (ssh remote):                                    SKIP

      Use -p '/move (ssh remote)/' to rerun this test only.
    unannex (no copy):                                    SKIP

      Use -p '/unannex (no copy)/' to rerun this test only.
    export and import:                                    SKIP

      Use -p '/export and import/' to rerun this test only.

11 out of 12 tests failed (7.23s)
  (Failures above could be due to a bug in git-annex, or an incompatibility
   with utilities, such as git, installed on this system.)
Command exited with non-zero status 1
0.00user 0.04system 0:31.25elapsed 0%CPU (0avgtext+0avgdata 5248maxresident)k
0inputs+0outputs (1391major+0minor)pagefaults 0swaps

jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129)
$ ./git-annex.exe test -p ' /Init Tests.add/'

All 0 tests passed (0.00s)
Tests
  Repo Tests v10 adjusted unlocked branch
    Init Tests
      init: OK (5.02s)
      add:  FAIL
        Exception: fd:4: hGetChar: invalid argument (invalid byte sequence)
        Use -p '(/Init Tests.add/||/Init Tests/)&&/add/' to rerun this test only.

1 out of 2 tests failed (6.37s)

All 0 tests passed (0.00s)
  (Failures above could be due to a bug in git-annex, or an incompatibility
   with utilities, such as git, installed on this system.)

# End of transcript or log.

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)

Sure, Git Annex is great as always. I use it several times a week with my multigigabyte backups, where it gives structure to my image-based backup routines, so you could say I'm a believer. :)

Update 20 Dec 2023

P.S. This is a bit embarrasing but I found out this is notabug, cf. my comment --jkniiv