close git bug that I reported to git mailing list

This commit is contained in:
Joey Hess 2022-07-22 13:24:24 -04:00
parent 591e87f1f2
commit e1de941b2c
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
2 changed files with 36 additions and 0 deletions

View 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]]

View file

@ -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.
"""]]