google-cloud-go: pubsub: weird panic ( pubsub.NewClient )
Hello there,
I have a service running in GCP kubernetes and right after calling the latest pubsub.NewClient(ctx, *projID)
it panics:
fatal error: unexpected signal during runtime execution
[signal 0xb code=0x1 addr=0xe5 pc=0x7fe7425dda5c]
runtime stack:
runtime.throw(0x1295d20, 0x2a)
/usr/local/go/src/runtime/panic.go:530 +0x90
runtime.sigpanic()
/usr/local/go/src/runtime/sigpanic_unix.go:12 +0x5a
goroutine 1 [syscall, locked to thread]:
runtime.cgocall(0xb602b0, 0xc820547310, 0x0)
/usr/local/go/src/runtime/cgocall.go:123 +0x11b fp=0xc8205472b8 sp=0xc820547288
os/user._Cfunc_mygetpwuid_r(0x0, 0xc8202c41e0, 0x7fe7040008c0, 0x400, 0xc82002c140, 0x0)
??:0 +0x44 fp=0xc820547310 sp=0xc8205472b8
os/user.lookupUnix(0x0, 0x0, 0x0, 0x1166c00, 0x0, 0x0, 0x0)
/usr/local/go/src/os/user/lookup_unix.go:95 +0xcd8 fp=0xc8205474a8 sp=0xc820547310
os/user.current(0x4759a0, 0x0, 0x0)
/usr/local/go/src/os/user/lookup_unix.go:38 +0x42 fp=0xc8205474e8 sp=0xc8205474a8
os/user.Current(0x54fc0d, 0x0, 0x0)
/usr/local/go/src/os/user/lookup.go:9 +0x24 fp=0xc820547508 sp=0xc8205474e8
golang.org/x/oauth2/google.guessUnixHomeDir(0x0, 0x0)
/go/src/xx/xx/Godeps/_workspace/src/golang.org/x/oauth2/google/sdk.go:163 +0x28 fp=0xc820547540 sp=0xc820547508
golang.org/x/oauth2/google.wellKnownFile(0x0, 0x0)
/go/src/xx/xx/Godeps/_workspace/src/golang.org/x/oauth2/google/default.go:107 +0x36 fp=0xc8205475d8 sp=0xc820547540
golang.org/x/oauth2/google.DefaultTokenSource(0x7fe74318b6b8, 0xc820072d78, 0xc820390300, 0x2, 0x2, 0x0, 0x0, 0x0, 0x0)
/go/src/xx/xx/Godeps/_workspace/src/golang.org/x/oauth2/google/default.go:72 +0x307 fp=0xc820547780 sp=0xc8205475d8
google.golang.org/cloud/internal/transport.NewHTTPClient(0x7fe74318b6b8, 0xc820072d78, 0xc820547a38, 0x3, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0)
/go/src/xx/xx/Godeps/_workspace/src/google.golang.org/cloud/internal/transport/dial.go:64 +0x2c1 fp=0xc8205478a8 sp=0xc820547780
google.golang.org/cloud/pubsub.NewClient(0x7fe74318b6b8, 0xc820072d78, 0x7fff2e3248f2, 0x7, 0x0, 0x0, 0x0, 0xc800000002, 0x0, 0x0)
/go/src/xx/xx/Godeps/_workspace/src/google.golang.org/cloud/pubsub/pubsub.go:62 +0x45e fp=0xc820547a70 sp=0xc8205478a8
main.main()
/go/src/xx/xx/main.go:179 +0xc34 fp=0xc820547f10 sp=0xc820547a70
runtime.main()
/usr/local/go/src/runtime/proc.go:188 +0x2b0 fp=0xc820547f60 sp=0xc820547f10
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc820547f68 sp=0xc820547f60
[...]
It works locally if I use a json key file. ( on docker )
Cheers ! 😃
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 18 (8 by maintainers)
I think this is glibc bug 19341, which is caused by statically linking glibc. See golang/go#13470 for background.
A workaround is to link glibc dynamically, i.e., remove
-ldflags '-extldflags "-static"'
from the build command. See cockroachdb/cockroach#3392.