panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x18 pc=0x103329594]
goroutine 1 [running]:
cloud.google.com/go/bigtable.NewClientWithConfig.func1()
cloud.google.com/go/bigtable@v1.38.0/bigtable.go:154 +0xa4
google.golang.org/api/transport/grpc.dryRunAsync.Token({{0x103ac65a0, 0x140004e89b0}, {0x103ac9960, 0x140004e8990}, 0x140004d5320})
google.golang.org/api@v0.246.0/transport/grpc/dial.go:296 +0x4c
google.golang.org/grpc/credentials/oauth.TokenSource.GetRequestMetadata({{0x103ac6500?, 0x140004f10b0?}}, {0x103ae5b38, 0x140004f1320}, {0x0?, 0x0?, 0x140000b33d8?})
google.golang.org/grpc@v1.74.2/credentials/oauth/oauth.go:42 +0x34
google.golang.org/api/transport/grpc.grpcTokenSource.GetRequestMetadata({{{0x103ac6500, 0x140004f10b0}}, {0x0, 0x0}, {0x0, 0x0}}, {0x103ae5b38?, 0x140004f1320?}, {0x140004e8440?, 0x103711560?, ...})
google.golang.org/api@v0.246.0/transport/grpc/dial.go:418 +0x5c
google.golang.org/grpc/internal/transport.(*http2Client).getTrAuthData(0x14000560008, {0x103ae5b38, 0x140004f1320}, {0x14000050200, 0x3b})
google.golang.org/grpc@v1.74.2/internal/transport/http2_client.go:661 +0x108
google.golang.org/grpc/internal/transport.(*http2Client).createHeaderFields(0x14000560008, {0x103ae5b38, 0x140004f12f0}, 0x140006959e0)
google.golang.org/grpc@v1.74.2/internal/transport/http2_client.go:546 +0xc4
google.golang.org/grpc/internal/transport.(*http2Client).NewStream(0x14000560008, {0x103ae5b38, 0x14000599290}, 0x14000212af0)
google.golang.org/grpc@v1.74.2/internal/transport/http2_client.go:771 +0x178
google.golang.org/grpc.(*csAttempt).newStream(0x14000514820)
google.golang.org/grpc@v1.74.2/stream.go:509 +0x90
google.golang.org/grpc.newClientStreamWithParams.func2(0x14000514820)
google.golang.org/grpc@v1.74.2/stream.go:359 +0x34
google.golang.org/grpc.(*clientStream).withRetry(0x14000248c60, 0x14000590f10, 0x14000695ef0)
google.golang.org/grpc@v1.74.2/stream.go:796 +0x18c
google.golang.org/grpc.newClientStreamWithParams({0x103ae5b38, 0x14000599080}, 0x1047bc280, 0x140002cd008, {0x103447cba, 0x25}, {0x0, 0x0, 0x0, 0x0, ...}, ...)
google.golang.org/grpc@v1.74.2/stream.go:368 +0x974
google.golang.org/grpc.newClientStream.func3({0x103ae5b38?, 0x14000599080?}, 0x14000599080?)
google.golang.org/grpc@v1.74.2/stream.go:223 +0x7c
google.golang.org/grpc.newClientStream({0x103ae5b38, 0x14000599080}, 0x1047bc280, 0x140002cd008, {0x103447cba, 0x25}, {0x1400061aac0, 0x2, 0x140000b4298?})
google.golang.org/grpc@v1.74.2/stream.go:258 +0x610
cloud.google.com/go/bigtable/internal/option.streamInterceptor({0x103ae5b70, 0x14000172e60}, 0x1047bc280, 0x140002cd008, {0x103447cba, 0x25}, 0x103ab8b08, {0x1400061aac0, 0x2, 0x2})
cloud.google.com/go/bigtable@v1.38.0/internal/option/option.go:71 +0x8c
google.golang.org/grpc.(*ClientConn).NewStream(0x140000b4248?, {0x103ae5b70?, 0x14000172e60?}, 0x102795364?, {0x103447cba?, 0x140000b4298?}, {0x0?, 0x14000600008?, 0x140000b42a8?})
google.golang.org/grpc@v1.74.2/stream.go:170 +0x124
google.golang.org/api/transport/grpc.(*roundRobinConnPool).NewStream(0x81ce39da97?, {0x103ae5b70?, 0x14000172e60?}, 0x1027ad00c?, {0x103447cba?, 0x11fa98b88?}, {0x0?, 0x6899b42c?, 0x140000b42e8?})
google.golang.org/api@v0.246.0/transport/grpc/pool.go:64 +0x84
cloud.google.com/go/bigtable/apiv2/bigtablepb.(*bigtableClient).ReadRows(0x103ae5b38?, {0x103ae5b70?, 0x14000172e60?}, 0x140003d3c20, {0x0?, 0x1046bad9e?, 0x17?})
cloud.google.com/go/bigtable@v1.38.0/apiv2/bigtablepb/bigtable_grpc.pb.go:107 +0x68
cloud.google.com/go/bigtable.(*Table).readRows.func1({0x103ae5b38, 0x14000598f60}, 0x14000592118, 0x14000592120, {0x140005862a0, {0x0, 0x0, 0x0}, {0x0, 0x0}, ...})
cloud.google.com/go/bigtable@v1.38.0/bigtable.go:1027 +0x524
cloud.google.com/go/bigtable.gaxInvokeWithRecorder.func1({0x103ae5b38?, 0x14000598f60?}, {0x140005862a0, {0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0})
cloud.google.com/go/bigtable@v1.38.0/bigtable.go:2275 +0x78
github.com/googleapis/gax-go/v2.invoke({0x103ae5b38, 0x14000598f60}, 0x14000696938, {0x140005862a0, {0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}, ...)
github.com/googleapis/gax-go/v2@v2.15.0/invoke.go:82 +0xfc
github.com/googleapis/gax-go/v2.Invoke({0x103ae5b38, 0x14000598f60}, 0x140000b4938, {0x140000b4b10, 0x1, 0x14000598f60?})
github.com/googleapis/gax-go/v2@v2.15.0/invoke.go:50 +0xb8
cloud.google.com/go/bigtable.gaxInvokeWithRecorder({0x103ae5b38, 0x14000598f60}, 0x140000b4d48, {0x10341cfa1, 0x8}, 0x140000b4b20, {0x140000b4b10, 0x1, 0x1})
cloud.google.com/go/bigtable@v1.38.0/bigtable.go:2310 +0x18c
cloud.google.com/go/bigtable.(*Table).readRows(0x1400058cc40, {0x103ae5b38, 0x14000598f60}, {0x103ae65c0, 0x140003a23d8}, 0x140000b4f98, 0x140000b4d48, {0x1400058e7e0, 0x2, 0x2})
cloud.google.com/go/bigtable@v1.38.0/bigtable.go:994 +0x1c0
cloud.google.com/go/bigtable.(*Table).ReadRows(0x1400058cc40, {0x103ae5b38?, 0x140004d52c0?}, {0x103ae65c0, 0x140003a23d8}, 0x140000b4f98, {0x1400058e7e0, 0x2, 0x2})
cloud.google.com/go/bigtable@v1.38.0/bigtable.go:971 +0x154
cloud.google.com/go/bigtable.(*Table).ReadRow(0x1400058cc40, {0x103ae5b38, 0x140004d52c0}, {0x16d6c7498, 0x24}, {0x140000b5008, 0x1, 0x7?})
cloud.google.com/go/bigtable@v1.38.0/bigtable.go:1130 +0x158
.
Client
BigTable
Environment
Darwin 24.6.0 Darwin Kernel Version 24.6.0 arm64
Code and Dependencies
Additional context
invalid_granterror triggered this code:google-cloud-go/bigtable/bigtable.go
Line 150 in b3b8f70
where the
metricsTracerFactory.debugTagsisnil.The bigtable client is initialised as below: