close git bug that I reported to git mailing list
authorJoey Hess <joeyh@joeyh.name>
Fri, 22 Jul 2022 17:24:24 +0000 (13:24 -0400)
committerJoey Hess <joeyh@joeyh.name>
Fri, 22 Jul 2022 17:24:24 +0000 (13:24 -0400)
doc/bugs/Incompatibility_with_git_2.37.mdwn
doc/bugs/Incompatibility_with_git_2.37/comment_4_95b8ea35cd10ac80e1d01b658e24d7a9._comment [new file with mode: 0644]

index 1a53c5caafb498a908bed3d2a04d0117b8fc648b..3544c30c370661c012e3315934f52f2260230f6e 100644 (file)
@@ -47,3 +47,9 @@ init: 1 failed
 Yes ! git-annex is my goto tool for file storage.
 
 
+> [[done]]; this is a bug in git and will have to be fixed there.
+> (git-annex could work around it by making sure the index file
+> exists before calling write-tree, but I don't think it makes sense to
+> work around a segfault bug like that, at least not unless it gets
+> into some stable release of an OS...)
+> --[[Joey]]
diff --git a/doc/bugs/Incompatibility_with_git_2.37/comment_4_95b8ea35cd10ac80e1d01b658e24d7a9._comment b/doc/bugs/Incompatibility_with_git_2.37/comment_4_95b8ea35cd10ac80e1d01b658e24d7a9._comment
new file mode 100644 (file)
index 0000000..b1c285f
--- /dev/null
@@ -0,0 +1,30 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 4"""
+ date="2022-07-22T16:25:27Z"
+ content="""
+Seems that git write-tree is segfaulting, which leaves the index locked:
+
+       openat(AT_FDCWD, "/tmp/n/.git/annex/index.lock", O_RDWR|O_CREAT|O_EXCL|O_CLOEXEC, 0666) = 3
+       rt_sigaction(SIGINT, {sa_handler=0x55f953819fb0, sa_mask=[INT], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fba9b3d2940}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
+       rt_sigaction(SIGHUP, {sa_handler=0x55f953819fb0, sa_mask=[HUP], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fba9b3d2940}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
+       rt_sigaction(SIGTERM, {sa_handler=0x55f953819fb0, sa_mask=[TERM], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fba9b3d2940}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
+       rt_sigaction(SIGQUIT, {sa_handler=0x55f953819fb0, sa_mask=[QUIT], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fba9b3d2940}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
+       rt_sigaction(SIGPIPE, {sa_handler=0x55f953819fb0, sa_mask=[PIPE], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fba9b3d2940}, {sa_handler=SIG_DFL, sa_mask=[PIPE], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fba9b3d2940}, 8) = 0
+       getpid()                                = 2873826
+       openat(AT_FDCWD, "/tmp/n/.git/annex/index", O_RDONLY) = -1 ENOENT (No such file or directory)
+       --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xd0} ---
+       +++ killed by SIGSEGV +++
+
+And this is not due to anything git-annex is doing, git is 100% broken:
+
+       joey@darkstar:/tmp>git init emptyrepo
+       warning: templates not found in /home/joey/share/git-core/templates
+       Initialized empty Git repository in /tmp/emptyrepo/.git/
+       joey@darkstar:/tmp>cd emptyrepo/
+       joey@darkstar:/tmp/emptyrepo>git config core.untrackedCache true
+       joey@darkstar:/tmp/emptyrepo>git write-tree
+       Segmentation fault
+
+git 2.37.1 has the same problem. I have emailed the git list about it.
+"""]]