Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nil pointer dereference on go generate #37990

Closed
pmalekn opened this issue Mar 21, 2020 · 1 comment
Closed

Nil pointer dereference on go generate #37990

pmalekn opened this issue Mar 21, 2020 · 1 comment

Comments

@pmalekn
Copy link

pmalekn commented Mar 21, 2020

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

$ go version
go version go1.14 linux/amd64

Does this issue reproduce with the latest release?

Yes ( 1.14 is latest as of submitting this issue).

What operating system and processor architecture are you using (go env)?

This is running on CircleCi in a container based on golang:1.14

go env Output
# go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build305414601=/tmp/go-build -gno-record-gcc-switches"

What did you do?

go generate

What did you expect to see?

No panic and no stack trace

What did you see instead?

go: downloading github.com/cenkalti/backoff/v4 v4.0.0
go: downloading github.com/codegangsta/cli v1.18.1
go: downloading github.com/Jeffail/tunny v0.0.0-20171107125207-452a8e97d6a3
go: downloading github.com/golang/geo v0.0.0-20181008215305-476085157cff
go: downloading gopkg.in/olivere/elastic.v5 v5.0.81
go: downloading github.com/xeipuuv/gojsonschema v1.1.0
go: downloading github.com/sirupsen/logrus v1.4.2
go: downloading github.com/pkg/errors v0.9.1
go: downloading github.com/aws/aws-sdk-go v1.25.37
go: downloading github.com/mcuadros/go-version v0.0.0-20180611085657-6d5863ca60fa
go: downloading golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4
go: downloading github.com/go-redis/redis v6.7.5+incompatible
go: downloading github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329
go: downloading github.com/scritchley/orc v0.0.0-20190122202601-8bd759130ab7
go: downloading github.com/scylladb/gocql v1.3.0
go: downloading github.com/ghodss/yaml v1.0.0
go: downloading github.com/multiplay/go-slack v0.0.0-20180305234526-6f89412cdb8c
go: downloading github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af
go: downloading github.com/signalfx/golib v2.5.1+incompatible
go: downloading github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
go: downloading github.com/gorilla/mux v1.6.2
go: downloading golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527
go: downloading github.com/bradfitz/latlong v0.0.0-20170410180902-f3db6d0dff40
go: downloading github.com/prometheus/client_golang v1.3.0
go: downloading github.com/sha1sum/aws_signing_client v0.0.0-20170514202702-9088e4c7b34b
go: downloading googlemaps.github.io/maps v0.0.0-20190206003505-be134e760d70
go: downloading github.com/prometheus/client_model v0.1.0
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x45375d]

goroutine 83 [running]:
time.stopTimer(0xc000980468, 0x0)
	/usr/local/go/src/runtime/time.go:224 +0x2b
time.(*Timer).Stop(...)
	/usr/local/go/src/time/sleep.go:78
net/http.(*http2ClientConn).roundTrip(0xc000660780, 0xc00052c000, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/http/h2_bundle.go:7480 +0x9f
net/http.(*http2Transport).RoundTripOpt(0xc00036a1e0, 0xc00052c000, 0x9a1500, 0xc0008a6120, 0xc0005be3c0, 0x5)
	/usr/local/go/src/net/http/h2_bundle.go:6948 +0x16f
net/http.(*http2Transport).RoundTrip(...)
	/usr/local/go/src/net/http/h2_bundle.go:6909
net/http.http2noDialH2RoundTripper.RoundTrip(0xc00036a1e0, 0xc00052c000, 0xb2e0a0, 0xc00036a1e0, 0x0)
	/usr/local/go/src/net/http/h2_bundle.go:9103 +0x3e
net/http.(*Transport).roundTrip(0xebee00, 0xc00052c000, 0x0, 0xc000a469e8, 0x40e388)
	/usr/local/go/src/net/http/transport.go:515 +0xd94
net/http.(*Transport).RoundTrip(0xebee00, 0xc00052c000, 0xebee00, 0x0, 0x0)
	/usr/local/go/src/net/http/roundtrip.go:17 +0x35
net/http.send(0xc00052c000, 0xb2d3c0, 0xebee00, 0x0, 0x0, 0x0, 0xc000780090, 0x203000, 0x1, 0x0)
	/usr/local/go/src/net/http/client.go:252 +0x43e
net/http.(*Client).send(0xeb6520, 0xc00052c000, 0x0, 0x0, 0x0, 0xc000780090, 0x0, 0x1, 0xc00052c000)
	/usr/local/go/src/net/http/client.go:176 +0xfa
net/http.(*Client).do(0xeb6520, 0xc00052c000, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/http/client.go:699 +0x44a
net/http.(*Client).Do(...)
	/usr/local/go/src/net/http/client.go:567
cmd/go/internal/web.get.func1(0xc0006ac080, 0xc0006ac080, 0x0, 0x0, 0x97a6c0)
	/usr/local/go/src/cmd/go/internal/web/http.go:96 +0x115
cmd/go/internal/web.get(0x1, 0xc000944fe8, 0x2, 0xc000152080, 0x31)
	/usr/local/go/src/cmd/go/internal/web/http.go:111 +0x19a
cmd/go/internal/web.Get(...)
	/usr/local/go/src/cmd/go/internal/web/api.go:183
cmd/go/internal/modfetch.(*proxyRepo).getBody(0xc0008e4200, 0xc00099a0d0, 0xd, 0xc00002bc80, 0x6, 0xa3658c, 0x4)
	/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:266 +0x17d
cmd/go/internal/modfetch.(*proxyRepo).Zip(0xc0008e4200, 0xb2d620, 0xc000780048, 0xc00002bc80, 0x6, 0x0, 0x0)
	/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:416 +0x1d7
cmd/go/internal/modfetch.(*cachingRepo).Zip(0xc000b7e0a0, 0xb2d620, 0xc000780048, 0xc00002bc80, 0x6, 0xc000b7e0a0, 0x0)
	/usr/local/go/src/cmd/go/internal/modfetch/cache.go:242 +0x5c
cmd/go/internal/modfetch.downloadZip.func2(0xa477b4, 0x18, 0x2, 0x0)
	/usr/local/go/src/cmd/go/internal/modfetch/fetch.go:214 +0xbd
cmd/go/internal/modfetch.TryProxies(0xc000945360, 0x40, 0xc0005be361)
	/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:171 +0x9e
cmd/go/internal/modfetch.downloadZip(0xc000029320, 0x22, 0xc00002bc80, 0x6, 0xc0004a0d20, 0x4b, 0x0, 0x0)
	/usr/local/go/src/cmd/go/internal/modfetch/fetch.go:209 +0x2b8
cmd/go/internal/modfetch.DownloadZip.func1(0x0, 0x0)
	/usr/local/go/src/cmd/go/internal/modfetch/fetch.go:173 +0x2b3
cmd/go/internal/par.(*Cache).Do(0xec79a0, 0x9d7ac0, 0xc0007743c0, 0xc000a47538, 0xb2e260, 0xe77640)
	/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modfetch.DownloadZip(0xc000029320, 0x22, 0xc00002bc80, 0x6, 0xb2d680, 0xc000b84180, 0x35, 0x35)
	/usr/local/go/src/cmd/go/internal/modfetch/fetch.go:144 +0xd3
cmd/go/internal/modfetch.download(0xc000029320, 0x22, 0xc00002bc80, 0x6, 0xc00057f600, 0x35, 0xb2d680, 0xc000b84180)
	/usr/local/go/src/cmd/go/internal/modfetch/fetch.go:71 +0xca
cmd/go/internal/modfetch.Download.func1(0xec7960, 0x9d7ac0)
	/usr/local/go/src/cmd/go/internal/modfetch/fetch.go:52 +0xa2
cmd/go/internal/par.(*Cache).Do(0xec7960, 0x9d7ac0, 0xc000774380, 0xc000a47878, 0x801411, 0xc000a47980)
	/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modfetch.Download(0xc000029320, 0x22, 0xc00002bc80, 0x6, 0xc000a47900, 0x4a1841, 0x4f2587, 0xc0008d39b1)
	/usr/local/go/src/cmd/go/internal/modfetch/fetch.go:47 +0xef
cmd/go/internal/modload.fetch(0xc000029320, 0x22, 0xc00002bc80, 0x6, 0xffffffffffffffff, 0x30, 0x0, 0x0, 0xc0000fa200)
	/usr/local/go/src/cmd/go/internal/modload/load.go:1343 +0xfb
cmd/go/internal/modload.Import(0xc0008d39b1, 0x25, 0x3, 0x0, 0xffffffffffffffff, 0xc000150580, 0x8, 0x10, 0x0, 0x0)
	/usr/local/go/src/cmd/go/internal/modload/import.go:157 +0x1b6f
cmd/go/internal/modload.(*loader).doPkg(0xc0000be540, 0x9a58e0, 0xc0008ac460)
	/usr/local/go/src/cmd/go/internal/modload/load.go:770 +0x3c2
cmd/go/internal/par.(*Work).runner(0xc0003ca180)
	/usr/local/go/src/cmd/go/internal/par/work.go:101 +0x157
created by cmd/go/internal/par.(*Work).Do
	/usr/local/go/src/cmd/go/internal/par/work.go:67 +0x9b
@ianlancetaylor
Copy link
Member

This looks like #37400, which is fixed in the recent 1.14.1 release. Please give that release a try.

@golang golang locked and limited conversation to collaborators Mar 21, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants