Bug 1847717 - Dependency download fails due to GOPROXY / GOSUMDB not using they default value
Summary: Dependency download fails due to GOPROXY / GOSUMDB not using they default value
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: golang
Version: 32
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Alejandro Sáez Morollón
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-06-16 20:55 UTC by Fabiano Fidêncio
Modified: 2021-05-25 16:28 UTC (History)
10 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2021-05-25 16:28:36 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Fabiano Fidêncio 2020-06-16 20:55:53 UTC
Description of problem:

When running `make check` on github.com/kata-containers/runtime there's a different behaviour when using the Fedora package as it is and when setting GOPROXY and GOSUMDB to their default values.


Version-Release number of selected component (if applicable): golang-1.14.3-1.fc32.x86_64


How reproducible: 100%


Steps to Reproduce:

On a fedora32 VM or container do:

1. export GOPATH=$HOME/go
2. export PATH=$PATH:$GOPATH/bin
3. go get -u github.com/kata-containers/runtime
4. cd $GOPATH/src/github.com/kata-containers/runtime/
5. make
6. make check

Actual results:

```
[root@9f275b576d28 runtime]# make check
     CHECK    check-go-static
make[1]: Entering directory '/root/go/src/github.com/kata-containers/runtime'
     GENERATE pkg/katautils/config-settings.go
     GENERATE cli/config-generated.go
     GENERATE data/kata-collect-data.sh
kata-runtime - version 1.11.0-rc0 (commit ada62fc5e7475688689c203f99ac9f05917df5c7)

• architecture:
	Host: 
	golang: amd64
	Build: amd64

• golang:
	go version go1.14.3 linux/amd64

• hypervisors:
	Default: qemu
	Known: acrn cloud-hypervisor firecracker qemu qemu-virtiofs
	Available for this architecture: acrn cloud-hypervisor firecracker qemu qemu-virtiofs

• Features:
	SELinux (FEATURE_SELINUX): yes

• Summary:

	destination install path (DESTDIR) : /
	binary installation path (BINDIR) : /usr/local/bin
	binaries to install :
	 - /usr/local/bin/kata-runtime
	 - /usr/local/bin/containerd-shim-kata-v2
	 - /usr/libexec/kata-containers/kata-netmon
	 - /usr/local/bin/data/kata-collect-data.sh
	configs to install (CONFIGS) :
	 - cli/config/configuration-acrn.toml
 	 - cli/config/configuration-clh.toml
 	 - cli/config/configuration-fc.toml
 	 - cli/config/configuration-qemu-virtiofs.toml
 	 - cli/config/configuration-qemu.toml
	install paths (CONFIG_PATHS) :
	 - /usr/share/defaults/kata-containers/configuration-acrn.toml
 	 - /usr/share/defaults/kata-containers/configuration-clh.toml
 	 - /usr/share/defaults/kata-containers/configuration-fc.toml
 	 - /usr/share/defaults/kata-containers/configuration-qemu-virtiofs.toml
 	 - /usr/share/defaults/kata-containers/configuration-qemu.toml
	alternate config paths (SYSCONFIG_PATHS) : 
	 - /etc/kata-containers/configuration-acrn.toml
 	 - /etc/kata-containers/configuration-clh.toml
 	 - /etc/kata-containers/configuration-fc.toml
 	 - /etc/kata-containers/configuration-qemu-virtiofs.toml
 	 - /etc/kata-containers/configuration-qemu.toml
	default install path for qemu (CONFIG_PATH) : /usr/share/defaults/kata-containers/configuration.toml
	default alternate config path (SYSCONFIG) : /etc/kata-containers/configuration.toml
	qemu hypervisor path (QEMUPATH) : /usr/bin/qemu-system-x86_64
	qemu-virtiofs hypervisor path (QEMUVIRTIOFSPATH) : /usr/bin/qemu-virtiofs-system-x86_64
	cloud-hypervisor hypervisor path (CLHPATH) : /usr/bin/cloud-hypervisor
	firecracker hypervisor path (FCPATH) : /usr/bin/firecracker
	acrn hypervisor path (ACRNPATH) : /usr/bin/acrn-dm
	assets path (PKGDATADIR) : /usr/share/kata-containers
	proxy+shim path (PKGLIBEXECDIR) : /usr/libexec/kata-containers

     BUILD    /root/go/src/github.com/kata-containers/runtime/kata-runtime
     GENERATE cli/config/configuration-qemu.toml
     GENERATE cli/config/configuration-qemu-virtiofs.toml
     GENERATE cli/config/configuration-clh.toml
     GENERATE cli/config/configuration-fc.toml
     GENERATE cli/config/configuration-acrn.toml
     BUILD    /root/go/src/github.com/kata-containers/runtime/containerd-shim-kata-v2
     BUILD    /root/go/src/github.com/kata-containers/runtime/kata-netmon
make[1]: Leaving directory '/root/go/src/github.com/kata-containers/runtime'
INFO: Running 'static_check_commits' function
make[1]: Entering directory '/root/go/src/github.com/kata-containers/tests'
INFO: adding '\[Serial Test\]' to 'SKIP_GINKGO_PARALLEL'
INFO: adding '\[Serial Test\]' to 'FOCUS_GINKGO_SERIAL'
make -C cmd/checkcommits
make[2]: Entering directory '/root/go/src/github.com/kata-containers/tests/cmd/checkcommits'
go test .
ok  	github.com/kata-containers/tests/cmd/checkcommits	0.005s
go install -ldflags "-X main.appCommit="fb7e5acc0dd36d893cd55954542e47454bb11794" -X main.appVersion=0.0.1" .
make[2]: Leaving directory '/root/go/src/github.com/kata-containers/tests/cmd/checkcommits'
make[1]: Leaving directory '/root/go/src/github.com/kata-containers/tests'
Running checkcommits version 0.0.1 (commit fb7e5acc0dd36d893cd55954542e47454bb11794)
Defaulting commit to HEAD
Defaulting branch to master
Found 0 commits between commit HEAD and branch master
All commit checks passed.
INFO: Running 'static_check_docs' function
INFO: Installing xurls utility
~/go/src/mvdan.cc/xurls/cmd/xurls ~/go/src/github.com/kata-containers/runtime
INFO: Using mvdan.cc/xurls/cmd/xurls version 70405f5eab516c9f7b626d803b043415809499a6
Switched to a new branch '70405f5eab516c9f7b626d803b043415809499a6'
INFO: Building mvdan.cc/xurls/cmd/xurls
~/go/src/github.com/kata-containers/runtime
INFO: Checking documentation
INFO: Checking local branch for changed documents only
INFO: No documentation to check
INFO: Running 'static_check_files' function
INFO: Skipping check_files: see https://github.com/kata-containers/tests/issues/469
INFO: Running 'static_check_go_arch_specific' function
INFO: Installing golangci-lint
INFO: Forcing golangci-lint version v1.18.0
package github.com/golangci/golangci-lint: no Go files in /root/go/src/github.com/golangci/golangci-lint
~/go/src/github.com/golangci/golangci-lint ~/go/src/github.com/kata-containers/runtime
INFO: Using github.com/golangci/golangci-lint version v1.18.0
Switched to a new branch 'v1.18.0'
INFO: Building github.com/golangci/golangci-lint
make[1]: Entering directory '/root/go/src/github.com/golangci/golangci-lint'
GO111MODULE=on go mod verify
go: github.com/golangci/tools.0-20190910062050-3540c026601b: invalid version: unknown revision 3540c026601b
make[1]: *** [Makefile:107: go.mod] Error 1
make[1]: Leaving directory '/root/go/src/github.com/golangci/golangci-lint'
make: *** [Makefile:681: check-go-static] Error 2

```

Expected results:

`make check` should pass.

Additional info:

By simply doing:

1. export GOPROXY="https://proxy.golang.org,direct"
2. export GOSUMDB="sum.golang.org"

You'd be able to properly get the dependencies downloaded.

Comment 1 David Gibson 2020-06-17 02:44:34 UTC
In fact setting GOPROXY, without setting GOSUMDB is sufficient to make the build work.

Comment 2 Jakub Čajka 2020-06-17 11:52:08 UTC
This seems to be a bug in the Go(possibly incorrectly handling "old" googlesource packages, go 1.15 seems to have bit better error msg). Could you try running the verify one more time after the first failure, i.e. something like 
go mod verify || go mod verify in the build script?
Also could you post output of "go env" run prior to the verify please?

For the record I have been able to reproduce it with following steps(without setting any env vars):
go get github.com/golangci/golangci-lint
cd $GOPATH/src/github.com/golangci/golangci-lint
go mod verfiy

Comment 3 David Gibson 2020-06-18 01:12:01 UTC
Alternative, reproducer with less picees to fiddle with:

On a Fedora32 system with the golang package installed, and no GOPROXY set:

$ go get github.com/golangci/golangci-lint
package github.com/golangci/golangci-lint: no Go files in /home/dwg/go/src/github.com/golangci/golangci-lint
$ cd $GOPATH/src/github.com/golangci/golangci-lint
$ git checkout v1.18.0
Note: switching to 'v1.18.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 31afdf8 dev: build by go1.13 for release
$ go mod verify
go: github.com/golangci/tools.0-20190910062050-3540c026601b: invalid version: unknown revision 3540c026601b

$ export GOPROXY=https://proxy.golang.org,direct
$ go mod verify
all modules verified

Comment 4 David Gibson 2020-06-18 01:17:55 UTC
Heh, posted comment 3 before seeing comment 2.

Repeating the go mod verify does not make it succeed:


$ go mod verify
go: github.com/golangci/tools.0-20190910062050-3540c026601b: invalid version: unknown revision 3540c026601b
$ go mod verify
go: github.com/golangci/tools.0-20190910062050-3540c026601b: invalid version: unknown revision 3540c026601b
$ go mod verify
go: github.com/golangci/tools.0-20190910062050-3540c026601b: invalid version: unknown revision 3540c026601b

Jakub, repeating the go mod verify does not help.

And as requested:

$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/dwg/.cache/go-build"
GOENV="/home/dwg/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/dwg/go"
GOPRIVATE=""
GOPROXY="direct"
GOROOT="/usr/lib/golang"
GOSUMDB="off"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/golang/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/dwg/go/src/github.com/golangci/golangci-lint/go.mod"
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-build869599110=/tmp/go-build -gno-record-gcc-switches"

Comment 5 Fedora Admin user for bugzilla script actions 2021-02-25 00:07:08 UTC
This package has changed maintainer in Fedora. Reassigning to the new maintainer of this component.

Comment 6 Fedora Program Management 2021-04-29 16:31:23 UTC
This message is a reminder that Fedora 32 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 32 on 2021-05-25.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '32'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 32 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 7 Ben Cotton 2021-05-25 16:28:36 UTC
Fedora 32 changed to end-of-life (EOL) status on 2021-05-25. Fedora 32 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.