opentelemetry-go icon indicating copy to clipboard operation
opentelemetry-go copied to clipboard

Flaky test in `exporters/otlp/otlptrace/otlptracegrpc/...`

Open pellared opened this issue 11 months ago • 4 comments

On a Windows runner https://github.com/open-telemetry/opentelemetry-go/actions/runs/6182510368/job/16782390148

go test -timeout 60s -short ./exporters/otlp/otlptrace/otlptracegrpc/...
PASS
goleak: Errors on successful test run: found unexpected goroutines:
[Goroutine 388 in state syscall, locked to thread, with syscall.SyscallN on top of the stack:
goroutine 388 [syscall, locked to thread]:
syscall.SyscallN(0x77699dc0, {0xa8d342c, 0x9, 0x9})
	C:/hostedtoolcache/windows/go/1.21.1/x64/src/runtime/syscall_windows.go:544 +0x[117](https://github.com/open-telemetry/opentelemetry-go/actions/runs/6182510368/job/16782390148#step:5:118)
syscall.Syscall9(0x77699dc0, 0x7, 0x3200, 0x0, 0x2745, 0x409, 0xa8d34cc, 0x12c, 0x0, 0x0, ...)
	C:/hostedtoolcache/windows/go/1.21.1/x64/src/runtime/syscall_windows.go:494 +0x7a
syscall.formatMessage(0x3200, 0x0, 0x2745, 0x409, {0xa8d34cc, 0x12c, 0x12c}, 0x0)
	C:/hostedtoolcache/windows/go/1.21.1/x64/src/syscall/zsyscall_windows.go:653 +0xb4
syscall.Errno.Error(0x2745)
	C:/hostedtoolcache/windows/go/1.21.1/x64/src/syscall/syscall_windows.go:148 +0x87
os.(*SyscallError).Error(0xa890200)
	C:/hostedtoolcache/windows/go/1.21.1/x64/src/os/error.go:54 +0x25
net.(*OpError).Error(0xa85c510)
	C:/hostedtoolcache/windows/go/1.21.1/x64/src/net/net.go:488 +0x1a8
google.golang.org/grpc/internal/transport.(*http2Client).Close(0xaa30000, {0x14ab01c, 0xa99c2b0})
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_client.go:988 +0x2d5
google.golang.org/grpc/internal/transport.newHTTP2Client.func5()
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_client.go:403 +0x95
google.golang.org/grpc/internal/transport.newHTTP2Client({0x14add9c, 0xa874230}, {0x14add5c, 0xaada420}, {{0xa8e24cf, 0xf}, {0xa8e24cf, 0xf}, 0x0, 0x0, ...}, ...)
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_client.go:447 +0x223a
google.golang.org/grpc/internal/transport.NewClientTransport(...)
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/internal/transport/transport.go:601
google.golang.org/grpc.(*addrConn).createTransport(0xa804180, {0x14add5c, 0xaada870}, {{0xa8e24cf, 0xf}, {0xa8e24cf, 0xf}, 0x0, 0x0, {0x0, ...}}, ...)
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1508 +0x281
google.golang.org/grpc.(*addrConn).tryAllAddrs(0xa804180, {0x14add5c, 0xaada870}, {0xa8a04c0, 0x1, 0x1}, {0xc138cd0034174ac4, 0x670c4dd1, 0x1876880})
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1455 +0x27b
google.golang.org/grpc.(*addrConn).resetTransport(0xa804180)
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1390 +0x1db
google.golang.org/grpc.(*addrConn).connect(0xa804180)
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1037 +0x[137](https://github.com/open-telemetry/opentelemetry-go/actions/runs/6182510368/job/16782390148#step:5:138)
created by google.golang.org/grpc.(*acBalancerWrapper).Connect in goroutine 386
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/balancer_conn_wrappers.go:376 +0x5d
]
FAIL	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc	1.571s

pellared avatar Sep 14 '23 08:09 pellared

Hello @pellared, do you have any extra info about which test could be affected or any way to try to reproduce it? (I have a windows with go 1.21.0)

tonisanta avatar Sep 14 '23 20:09 tonisanta

Hello @pellared, do you have any extra info about which test could be affected o? (I have a windows with go 1.21.0)

do you have any extra info about which test could be affected

No.

any way to try to reproduce it

I was trying

cd exporters/otlp/otlptrace/otlptracegrpc
go test count 1000 -short ./...

but without luck...

pellared avatar Sep 15 '23 06:09 pellared

The issue remains and my PR has not helped in finding the issue cause. From https://github.com/open-telemetry/opentelemetry-go/actions/runs/6303077466/job/17111607822

PASS
goleak: Errors on successful test run: found unexpected goroutines:
[Goroutine 392 in state syscall, locked to thread, with syscall.SyscallN on top of the stack:
goroutine 392 [syscall, locked to thread]:
syscall.SyscallN(0x775f9dc0, {0xac53314, 0x9, 0x9})
	C:/hostedtoolcache/windows/go/1.20.8/x64/src/runtime/syscall_windows.go:557 +0x11d
syscall.Syscall9(0x775f9dc0, 0x7, 0x3200, 0x0, 0x2746, 0x409, 0xac533b4, 0x12c, 0x0, 0x0, ...)
	C:/hostedtoolcache/windows/go/1.20.8/x64/src/runtime/syscall_windows.go:507 +0x7a
syscall.formatMessage(0x3200, 0x0, 0x2746, 0x409, {0xac533b4, 0x12c, 0x12c}, 0x0)
	C:/hostedtoolcache/windows/go/1.20.8/x64/src/syscall/zsyscall_windows.go:653 +0xbe
syscall.Errno.Error(0x2746)
	C:/hostedtoolcache/windows/go/1.20.8/x64/src/syscall/syscall_windows.go:132 +0x89
os.(*SyscallError).Error(0xaf6e190)
	C:/hostedtoolcache/windows/go/1.20.8/x64/src/os/error.go:54 +0x27
net.(*OpError).Error(0xac64330)
	C:/hostedtoolcache/windows/go/1.20.8/x64/src/net/net.go:492 +0x1aa
fmt.(*pp).handleMethods(0xac745a0, 0x76)
	C:/hostedtoolcache/windows/go/1.20.8/x64/src/fmt/print.go:667 +0x1ca
fmt.(*pp).printArg(0xac745a0, {0x1270320, 0xac64330}, 0x76)
	C:/hostedtoolcache/windows/go/1.20.8/x64/src/fmt/print.go:756 +0x730
fmt.(*pp).doPrintf(0xac745a0, {0x12dda69, 0x2d}, {0xac53a98, 0x1, 0x1})
	C:/hostedtoolcache/windows/go/1.20.8/x64/src/fmt/print.go:1077 +0x2d0
fmt.Sprintf({0x12dda69, 0x2d}, {0xac53a98, 0x1, 0x1})
	C:/hostedtoolcache/windows/go/1.20.8/x64/src/fmt/print.go:239 +0x52
google.golang.org/grpc/internal/transport.connectionErrorf(...)
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/internal/transport/transport.go:736
google.golang.org/grpc/internal/transport.newHTTP2Client({0x139b790, 0xae186a0}, {0x139b750, 0xaf165a0}, {{0xacb058f, 0xf}, {0xacb058f, 0xf}, 0x0, 0x0, ...}, ...)
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_client.go:410 +0x1d70
google.golang.org/grpc/internal/transport.NewClientTransport(...)
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/internal/transport/transport.go:601
google.golang.org/grpc.(*addrConn).createTransport(0xace6480, {0x139b750, 0xaf166c0}, {{0xacb058f, 0xf}, {0xacb058f, 0xf}, 0x0, 0x0, {0x0, ...}}, ...)
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1508 +0x26a
google.golang.org/grpc.(*addrConn).tryAllAddrs(0xace6480, {0x139b750, 0xaf166c0}, {0xac3c9e0, 0x1, 0x1}, {0xc13c90d5196e9a74, 0x4e49a16d, 0x1775[120](https://github.com/open-telemetry/opentelemetry-go/actions/runs/6303077466/job/17111607822#step:5:121)})
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1455 +0x276
google.golang.org/grpc.(*addrConn).resetTransport(0xace6480)
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1390 +0x1e4
google.golang.org/grpc.(*addrConn).connect(0xace6480)
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1037 +0x[136](https://github.com/open-telemetry/opentelemetry-go/actions/runs/6303077466/job/17111607822#step:5:137)
created by google.golang.org/grpc.(*acBalancerWrapper).Connect
	C:/Users/runneradmin/go/pkg/mod/google.golang.org/[email protected]/balancer_conn_wrappers.go:376 +0x64
]
FAIL	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc	1.086s

pellared avatar Sep 25 '23 18:09 pellared

Not sure if it's coincidence or not, but seems always fails for i386 (32-bit architecture) 🤔

tonisanta avatar Sep 25 '23 21:09 tonisanta