Skip to content

cmd/cgo/internal/testsanitizers: TestLSAN/lsan1,2, and 3 fail always in linux/aarch64 #74476

Open
@alexsaezm

Description

@alexsaezm

Go version

go1.25-devel_6c3b5a2798

Output of go env in your module/workspace:

AR='ar'
CC='gcc'
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_ENABLED='1'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
CXX='g++'
GCCGO='gccgo'
GO111MODULE=''
GOARCH='arm64'
GOARM64='v8.0'
GOAUTH='netrc'
GOBIN=''
GOCACHE='/root/.cache/go-build'
GOCACHEPROG=''
GODEBUG=''
GOENV='/root/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFIPS140='off'
GOFLAGS=''
GOGCCFLAGS='-fPIC -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build4235166786=/tmp/go-build -gno-record-gcc-switches'
GOHOSTARCH='arm64'
GOHOSTOS='linux'
GOINSECURE=''
GOMOD='/dev/null'
GOMODCACHE='/root/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/root/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/root/Code/src/github.com/golang/go'
GOSUMDB='sum.golang.org'
GOTELEMETRY='local'
GOTELEMETRYDIR='/root/.config/go/telemetry'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/root/Code/src/github.com/golang/go/pkg/tool/linux_arm64'
GOVCS=''
GOVERSION='go1.25-devel_6c3b5a2798 Thu Jul 3 18:43:56 2025 -0700'
GOWORK=''
PKG_CONFIG='pkg-config'

What did you do?

While preparing the upgrade of Fedora 43 to Go 1.25, TestLSAN/lsan1, TestLSAN/lsan2, and TestLSAN/lsan3 failed in aarch64 only. I'm aware that there are several flake issues, but I can reproduce this always.

What did you see happen?

The tests only fail in aarch64. I'm able to reproduce it always, even outside the Fedora CI. (Link to build)

--- FAIL: TestLSAN (30.26s)
    --- FAIL: TestLSAN/lsan2 (2.08s)
        lsan_test.go:44: /tmp/TestLSANlsan2724864547/001/lsan2 exited with exit status 1
            Tracer caught signal 11: addr=0xfbff3e1d0000 pc=0xffff8982c69c sp=0xfbff3a58bb70
            ==156218==LeakSanitizer has encountered a fatal error.
            ==156218==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1
            ==156218==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)
    --- FAIL: TestLSAN/lsan3 (2.14s)
        lsan_test.go:44: /tmp/TestLSANlsan33679270241/001/lsan3 exited with exit status 1
            Tracer caught signal 11: addr=0xfbff541d0000 pc=0xffff9f81c69c sp=0xfbff4f272b70
            ==156281==LeakSanitizer has encountered a fatal error.
            ==156281==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1
            ==156281==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)
    --- FAIL: TestLSAN/lsan1 (2.15s)
        lsan_test.go:49: /tmp/TestLSANlsan1566431062/001/lsan1
            exit status 1
            Tracer caught signal 11: addr=0xfbff380d7000 pc=0xffff83b9c69c sp=0xfbff3478bb70
            ==156255==LeakSanitizer has encountered a fatal error.
            ==156255==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1
            ==156255==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)
        lsan_test.go:64: output does not contain expected leak error "detected memory leaks"
FAIL
FAIL	cmd/cgo/internal/testsanitizers	37.964s

After enabling export LSAN_OPTIONS="verbosity=1:log_threads=1" I got the attached file output

verbose_ouput.log

What did you expect to see?

No failures.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugReportIssues describing a possible bug in the Go implementation.WaitingForInfoIssue is not actionable because of missing required information, which needs to be provided.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions