Skip to content

Panic seen in google.golang.org/grpc/internal/resolver/delegatingresolver.(*delegatingResolver).updateProxyResolverState #8168

@nkawli

Description

@nkawli

NOTE: if you are reporting is a potential security vulnerability or a crash,
please follow our CVE process at
https://github.com/grpc/proposal/blob/master/P4-grpc-cve-process.md instead of
filing an issue here.

Please see the FAQ in our main README.md, then answer the questions below
before submitting your issue.

What version of gRPC are you using?

v1.71.0

What version of Go are you using (go version)?

1.23.7

What operating system (Linux, Windows, …) and version?

Linux

What did you do?

If possible, provide a recipe for reproducing the error.

We are trying to connect to non existing server like test:8882
There is no host/domain like test in the setup. Its just a dummy value to execute some piece of code in unit test.

What did you expect to see?

Test works fine as earlier and there is no panic. v1.69.4 and previous versions did not face this panic issue. So seems to be seeing this post v1.69.4 .

What did you see instead?

Below panic is seen in one of our unit-test:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x55e73a5a3456]

goroutine 1007 [running]:
google.golang.org/grpc/internal/resolver/delegatingresolver.(*delegatingResolver).updateProxyResolverState(0xc000fc2690, {{0xc00095a080, 0x1, 0x1}, {0x0, 0x0, 0x0}, 0x0, 0x0})
	/opt/workspace/test-app/pkg/mod/google.golang.org/grpc@v1.71.0/internal/resolver/delegatingresolver/delegatingresolver.go:274 +0x2b6
google.golang.org/grpc/internal/resolver/delegatingresolver.(*wrappingClientConn).UpdateState(0xc000fd0300?, {{0xc00095a080, 0x1, 0x1}, {0x0, 0x0, 0x0}, 0x0, 0x0})
	/opt/workspace/test-app/pkg/mod/google.golang.org/grpc@v1.71.0/internal/resolver/delegatingresolver/delegatingresolver.go:311 +0x68
google.golang.org/grpc/internal/resolver/dns.(*dnsResolver).watcher(0xc000fd0300)
	/opt/workspace/test-app/pkg/mod/google.golang.org/grpc@v1.71.0/internal/resolver/dns/dns_resolver.go:212 +0x138
created by google.golang.org/grpc/internal/resolver/dns.(*dnsBuilder).Build in goroutine 1005
	/opt/workspace/test-app/pkg/mod/google.golang.org/grpc@v1.71.0/internal/resolver/dns/dns_resolver.go:150 +0x2d9

Metadata

Metadata

Assignees

Labels

Area: Resolvers/BalancersIncludes LB policy & NR APIs, resolver/balancer/picker wrappers, LB policy impls and utilities.Type: Bug

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions