Seg fault in file git2go conflict resolving
I stumbled across some seg faults in https://gitlab.com/gitlab-com/gl-infra/reliability/-/issues/17118 while looking through the fluentd error logs:
unexpected fault address 0x1df85ed
fatal error: fault
<snip>
[signal SIGSEGV: segmentation violation code=0x1 addr=0x1df85ed pc=0x429b34]
goroutine 1 [running]:
runtime.throw({0xe0f65e?, 0xc000012000?})
/usr/local/go/src/runtime/panic.go:992 +0x71 fp=0xc000327220 sp=0xc0003271f0 pc=0x45ed71
runtime.sigpanic()
/usr/local/go/src/runtime/signal_unix.go:825 +0x2ec fp=0xc000327270 sp=0xc000327220 pc=0x47426c
memeqbody()
/usr/local/go/src/internal/bytealg/equal_amd64.s:137 +0x114 fp=0xc000327278 sp=0xc000327270 pc=0x429b34
bytes.Equal(...)
/usr/local/go/src/bytes/bytes.go:20
bytes.HasSuffix(...)
/usr/local/go/src/bytes/bytes.go:547
gitlab.com/gitlab-org/gitaly/v15/internal/git/conflict.File.Resolve({{0xc00013a1c0, 0x3a}, {0xc000600000, 0x581, 0x800}, 0xc000114810, 0xc000114840, 0xc000114870}, {{0xc00029ccc0, 0x3a}, ...})
/var/cache/omnibus/src/gitaly/internal/git/conflict/parser.go:117 +0x185 fp=0xc0003273a8 sp=0xc000327278 pc=0xb2c325
main.resolveSubcommand.Run({}, {0xe0e200?, 0x1?}, 0xffffffffffffffff?, 0x154d440?)
/var/cache/omnibus/src/gitaly/cmd/gitaly-git2go/resolve_conflicts.go:134 +0xf08 fp=0xc0003279b0 sp=0xc0003273a8 pc=0xb3c848
main.(*resolveSubcommand).Run(0xf38cb8?, {0xf38cb8?, 0xc000479290?}, 0x154d440?, 0xc8bea0?)
<autogenerated>:1 +0x3d fp=0xc0003279e0 sp=0xc0003279b0 pc=0xb3f93d
main.main()
/var/cache/omnibus/src/gitaly/cmd/gitaly-git2go/main.go:136 +0xee6 fp=0xc000327f80 sp=0xc0003279e0 pc=0xb37ce6
runtime.main()
/usr/local/go/src/runtime/proc.go:250 +0x212 fp=0xc000327fe0 sp=0xc000327f80 pc=0x461492
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1571 +0x1 fp=0xc000327fe8 sp=0xc000327fe0 pc=0x48e681
Edited by Stan Hu