redis / rueidis

A fast Golang Redis client that supports Client Side Caching, Auto Pipelining, Generics OM, RedisJSON, RedisBloom, RediSearch, etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Panic on the new Rueidis version

DestroyerAlpha opened this issue · comments

Stacktrace:

PANIC: runtime error: invalid memory address or nil pointer dereference stacktrace: goroutine 96293 [running]:
runtime/debug.Stack()
	/data/tools/org.jenkinsci.plugins.golang.GolangInstallation/Go_stable/src/runtime/debug/stack.go:24 +0x5e
github.com/epifi/gamma/pkg/epifigrpc.getOrderedUnaryServerInterceptors.RecoveryHandlerOpts.func1({0x8192620?, 0x11a99b50})
	/data/workspace/V3_Deployment/staging/onboarding/gamma/pkg/epifigrpc/servers.go:446 +0x1a7
github.com/epifi/gamma/pkg/epifigrpc.getOrderedUnaryServerInterceptors.RecoveryHandlerOpts.WithRecoveryHandler.func14.1({0x0?, 0x0?}, {0x8192620?, 0x11a99b50?})
	/var/cache/go/master/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/recovery/options.go:33 +0x27
github.com/grpc-ecosystem/go-grpc-middleware/recovery.recoverFrom({0xabcfc48?, 0xc00fc287b0?}, {0x8192620?, 0x11a99b50?}, 0x0?)
	/var/cache/go/master/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/recovery/interceptors.go:61 +0x30
github.com/grpc-ecosystem/go-grpc-middleware/recovery.UnaryServerInterceptor.func1.1()
	/var/cache/go/master/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/recovery/interceptors.go:29 +0x75
panic({0x8192620?, 0x11a99b50?})
	/data/tools/org.jenkinsci.plugins.golang.GolangInstallation/Go_stable/src/runtime/panic.go:914 +0x21f
go.opentelemetry.io/otel/sdk/trace.(*recordingSpan).End.func1()
	/var/cache/go/master/mod/go.opentelemetry.io/otel/sdk@v1.24.0/trace/span.go:405 +0x25
go.opentelemetry.io/otel/sdk/trace.(*recordingSpan).End(0xc00fc5a000, {0x0, 0x0, 0x123e6020?})
	/var/cache/go/master/mod/go.opentelemetry.io/otel/sdk@v1.24.0/trace/span.go:443 +0xa3b
panic({0x8192620?, 0x11a99b50?})
	/data/tools/org.jenkinsci.plugins.golang.GolangInstallation/Go_stable/src/runtime/panic.go:914 +0x21f
go.opentelemetry.io/otel/trace.NewSpanStartConfig(...)
	/var/cache/go/master/mod/go.opentelemetry.io/otel/trace@v1.24.0/config.go:116
go.opentelemetry.io/otel/sdk/trace.(*tracer).Start(0xc0040081e0, {0xabcfc48, 0xc00fc28d50}, {0x9d3542c, 0x3}, {0xc00fc28e40?, 0x3, 0x11adf9a0?})
	/var/cache/go/master/mod/go.opentelemetry.io/otel/sdk@v1.24.0/trace/tracer.go:41 +0x95
github.com/redis/rueidis/rueidisotel.startSpan({0xabbe458, 0xc0040081e0}, {0xabcfc48, 0xc00fc28d50}, {0x9d3542c, 0x3}, 0x0?, {0x0?, 0x0})
	/var/cache/go/master/mod/github.com/redis/rueidis/rueidisotel@v1.0.29/trace.go:318 +0x44e
github.com/redis/rueidis/rueidisotel.(*otelclient).start(...)
	/var/cache/go/master/mod/github.com/redis/rueidis/rueidisotel@v1.0.29/trace.go:302
github.com/redis/rueidis/rueidisotel.(*otelclient).DoCache(0xc003c9dce0, {0xabcfc48?, 0xc00fc28d50?}, {0xc00fc2a800, 0x2000, 0x9cac}, 0xc0029d2540?)
	/var/cache/go/master/mod/github.com/redis/rueidis/rueidisotel@v1.0.29/trace.go:99 +0xed

rueidis client setup:

cl, err = rueidisotel.NewClient(rueidisCfg, rueidisotel.WithTracerProvider(otel.GetTraceProvider()),
			rueidisotel.WithMeterProvider(metric.NewMeterProvider(metric.WithReader(exporter))),
			rueidisotel.MetricAttrs(attribute.String("client_name", "some_client_name")))

Here exporter is a prometheus metric exporter.

Not sure if it is a library issue or issue in our setup.

Not sure if it is a library issue or issue in our setup.

Hi @DestroyerAlpha, could you try v1.0.31?

Hi @DestroyerAlpha , did it work for you?

Yes it worked, thanks!