SIGSEGV on 16.4.1, CNH install on gitlab-shell pod
Summary
customer has a CNH 10k architecture connected to LDAP and the gitlab-shell
pod is throwing panics and restarts frequently.
Steps to reproduce
Relevant logs and/or screenshots
Sample of logs:
{"correlation_id":"01HD3RPW3V1K0PMSXQYNQK8711","level":"info","msg":"server: handleConn: start","time":"2023-10-19T10:46:42Z"}
{"correlation_id":"01HD3RPW3W50D2GJAZB27SDXV7","level":"info","msg":"server: handleConn: start","time":"2023-10-19T10:46:42Z"}
corrupted size vs. prev_size in fastbins
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x7f639371e96f]
runtime stack:
runtime.throw({0xeae4c5?, 0xfffffffffffffff0?})
/usr/local/go/src/runtime/panic.go:1047 +0x5d fp=0x7f6392ddfd40 sp=0x7f6392ddfd10 pc=0x43d2fd
runtime.sigpanic()
/usr/local/go/src/runtime/signal_unix.go:825 +0x3e9 fp=0x7f6392ddfda0 sp=0x7f6392ddfd40 pc=0x454789
goroutine 887243 [syscall, locked to thread]:
runtime.cgocall(0xc39270, 0xc0007e4d38)
/usr/local/go/src/runtime/cgocall.go:157 +0x5c fp=0xc0007e4d10 sp=0xc0007e4cd8 pc=0x40865c
github.com/openshift/gssapi._Cfunc_wrap_gss_delete_sec_context(0x7f63936ff130, 0xc0001242d8, 0xc0007260c8, 0x0)
_cgo_gotypes.go:538 +0x4c fp=0xc0007e4d38 sp=0xc0007e4d10 pc=0xab41ac
github.com/openshift/gssapi.(*CtxId).DeleteSecContext.func1(0xc0007260c0, 0xc0007e4db8?)
/root/go/pkg/mod/github.com/openshift/gssapi@v0.0.0-20161010215902-5fb4217df13b/context.go:320 +0x98 fp=0xc0007e4d88 sp=0xc0007e4d38 pc=0xab80b8
github.com/openshift/gssapi.(*CtxId).DeleteSecContext(0xc0007260c0)
/root/go/pkg/mod/github.com/openshift/gssapi@v0.0.0-20161010215902-5fb4217df13b/context.go:320 +0x7f fp=0xc0007e4de0 sp=0xc0007e4d88 pc=0xab7f1f
gitlab.com/gitlab-org/gitlab-shell/v14/internal/sshd.(*OSGSSAPIServer).DeleteSecContext(0xc0005ee480)
/source/internal/sshd/gssapi.go:139 +0x2a fp=0xc0007e4df8 sp=0xc0007e4de0 pc=0xaef14a
golang.org/x/crypto/ssh.gssExchangeToken.func1()
/root/go/pkg/mod/golang.org/x/crypto@v0.13.0/ssh/server.go:327 +0x2b fp=0xc0007e4e10 sp=0xc0007e4df8 pc=0xaa770b
golang.org/x/crypto/ssh.gssExchangeToken(0xc0002aa060, {0xc000386005, 0x1c4b, 0x1c4b}, 0xc00011c700, {0xc00028c7e0, 0x20, 0xc0007e5010?}, {{0xc0001241b0, 0x3}, ...})
/root/go/pkg/mod/golang.org/x/crypto@v0.13.0/ssh/server.go:370 +0x662 fp=0xc0007e4f70 sp=0xc0007e4e10 pc=0xaa7442
golang.org/x/crypto/ssh.(*connection).serverAuthenticate(0xc00011c700, 0xc0006164e0)
/root/go/pkg/mod/golang.org/x/crypto@v0.13.0/ssh/server.go:645 +0x178b fp=0xc0007e5350 sp=0xc0007e4f70 pc=0xaa93cb
golang.org/x/crypto/ssh.(*connection).serverHandshake(0xc00011c700, 0xc0006164e0)
/root/go/pkg/mod/golang.org/x/crypto@v0.13.0/ssh/server.go:286 +0x53e fp=0xc0007e5420 sp=0xc0007e5350 pc=0xaa68fe
golang.org/x/crypto/ssh.NewServerConn({0xfc57b8, 0xc000120008}, 0xc000616340)
/root/go/pkg/mod/golang.org/x/crypto@v0.13.0/ssh/server.go:214 +0x1d4 fp=0xc0007e54b8 sp=0xc0007e5420 pc=0xaa6154
gitlab.com/gitlab-org/gitlab-shell/v14/internal/sshd.(*connection).initServerConn(0xc000450940, {0xfc09f0, 0xc00092a230}, 0x70?)
/source/internal/sshd/connection.go:79 +0x154 fp=0xc0007e5858 sp=0xc0007e54b8 pc=0xaec874
gitlab.com/gitlab-org/gitlab-shell/v14/internal/sshd.(*connection).handle(0xc000450940, {0xfc09f0?, 0xc00092a230}, 0xb?, 0x407cef?)
/source/internal/sshd/connection.go:56 +0x14c fp=0xc0007e5ba8 sp=0xc0007e5858 pc=0xaec32c
gitlab.com/gitlab-org/gitlab-shell/v14/internal/sshd.(*Server).handleConn(0xc000136280, {0xfc09f0, 0xc0001362d0}, {0xfc57b8?, 0xc000120008})
/source/internal/sshd/sshd.go:199 +0x445 fp=0xc0007e5fa8 sp=0xc0007e5ba8 pc=0xaf4785
gitlab.com/gitlab-org/gitlab-shell/v14/internal/sshd.(*Server).serve.func1()
/source/internal/sshd/sshd.go:135 +0x36 fp=0xc0007e5fe0 sp=0xc0007e5fa8 pc=0xaf4016
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0007e5fe8 sp=0xc0007e5fe0 pc=0x4747a1
created by gitlab.com/gitlab-org/gitlab-shell/v14/internal/sshd.(*Server).serve
/source/internal/sshd/sshd.go:135 +0x135
Possible fixes
It looks like the error is thrown in this code block.