Bug 1888443

Summary: golang-1.15.3 is available
Product: [Fedora] Fedora Reporter: Upstream Release Monitoring <upstream-release-monitoring>
Component: golangAssignee: Jakub Čajka <jcajka>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: amurdaca, asm, deparker, jcajka, lemenkov, quantum.analyst, renich, vbatts
Target Milestone: ---Keywords: FutureFeature, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: golang-1.15.3-1.fc34 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-07 19:29:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Upstream Release Monitoring 2020-10-14 21:06:59 UTC
Latest upstream release: 1.15.3
Current version/release in rawhide: 1.15.2-1.fc34
URL: https://golang.org

Please consult the package updates policy before you issue an update to a stable branch: https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/


More information about the service that created this bug can be found at: https://fedoraproject.org/wiki/Upstream_release_monitoring


Please keep in mind that with any upstream change, there may also be packaging changes that need to be made. Specifically, please remember that it is your responsibility to review the new version to ensure that the licensing is still correct and that no non-free or legally problematic items have been added upstream.


Based on the information from anitya: https://release-monitoring.org/project/1227/

Comment 1 Upstream Release Monitoring 2020-10-14 21:07:04 UTC
The following Sources of the specfile are not valid URLs so we cannot automatically build the new version for you.  Please use URLs in your Source declarations if possible.

- fedora.go
- golang-gdbinit

Comment 2 Fedora Update System 2020-10-15 14:14:22 UTC
FEDORA-2020-fc34fcaaa5 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-fc34fcaaa5

Comment 3 Fedora Update System 2020-10-15 19:09:29 UTC
FEDORA-2020-fc34fcaaa5 has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-fc34fcaaa5`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-fc34fcaaa5

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 4 Elliott Sales de Andrade 2020-10-18 09:51:58 UTC
In Rawhide, this seems to have broken some CGo stuff in tinygo: https://koschei.fedoraproject.org/build/9148470

fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7f7e56c50493]
runtime stack:
runtime.throw(0x562a67ae89fc, 0x2a)
	/usr/lib/golang/src/runtime/panic.go:1116 +0x74
runtime.sigpanic()
	/usr/lib/golang/src/runtime/signal_unix.go:704 +0x4ac
goroutine 22 [syscall]:
runtime.cgocall(0x562a67acf860, 0xc000ad8c90, 0x67ad14f0)
	/usr/lib/golang/src/runtime/cgocall.go:133 +0x5d fp=0xc000ad8c60 sp=0xc000ad8c28 pc=0x562a67783f1d
tinygo.org/x/go-llvm._Cfunc_LLVMGetLastParam(0x562a694d96f8, 0x0)
	_cgo_gotypes.go:5878 +0x4c fp=0xc000ad8c90 sp=0xc000ad8c60 pc=0x562a679f408c
tinygo.org/x/go-llvm.Value.LastParam.func1(0x562a694d96f8, 0x562a69523870)
	/usr/share/gocode/src/tinygo.org/x/go-llvm/ir.go:1208 +0x53 fp=0xc000ad8cc0 sp=0xc000ad8c90 pc=0x562a67a0fcf3
tinygo.org/x/go-llvm.Value.LastParam(0x562a694d96f8, 0x562a67ad5102)
	/usr/share/gocode/src/tinygo.org/x/go-llvm/ir.go:1208 +0x2d fp=0xc000ad8ce0 sp=0xc000ad8cc0 pc=0x562a67a00b4d
github.com/tinygo-org/tinygo/compiler.(*builder).createFunctionDefinition(0xc000ad9490)
	/builddir/build/BUILD/tinygo-0.15.0/_build/src/github.com/tinygo-org/tinygo/compiler/compiler.go:925 +0x1816 fp=0xc000ad90c8 sp=0xc000ad8ce0 pc=0x562a67a54fb6
...

Comment 5 Jakub Čajka 2020-10-19 08:21:55 UTC
(In reply to Elliott Sales de Andrade from comment #4)
> In Rawhide, this seems to have broken some CGo stuff in tinygo:
> https://koschei.fedoraproject.org/build/9148470
> 
> fatal error: unexpected signal during runtime execution
> [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7f7e56c50493]
> runtime stack:
> runtime.throw(0x562a67ae89fc, 0x2a)
> 	/usr/lib/golang/src/runtime/panic.go:1116 +0x74
> runtime.sigpanic()
> 	/usr/lib/golang/src/runtime/signal_unix.go:704 +0x4ac
> goroutine 22 [syscall]:
> runtime.cgocall(0x562a67acf860, 0xc000ad8c90, 0x67ad14f0)
> 	/usr/lib/golang/src/runtime/cgocall.go:133 +0x5d fp=0xc000ad8c60
> sp=0xc000ad8c28 pc=0x562a67783f1d
> tinygo.org/x/go-llvm._Cfunc_LLVMGetLastParam(0x562a694d96f8, 0x0)
> 	_cgo_gotypes.go:5878 +0x4c fp=0xc000ad8c90 sp=0xc000ad8c60 pc=0x562a679f408c
> tinygo.org/x/go-llvm.Value.LastParam.func1(0x562a694d96f8, 0x562a69523870)
> 	/usr/share/gocode/src/tinygo.org/x/go-llvm/ir.go:1208 +0x53 fp=0xc000ad8cc0
> sp=0xc000ad8c90 pc=0x562a67a0fcf3
> tinygo.org/x/go-llvm.Value.LastParam(0x562a694d96f8, 0x562a67ad5102)
> 	/usr/share/gocode/src/tinygo.org/x/go-llvm/ir.go:1208 +0x2d fp=0xc000ad8ce0
> sp=0xc000ad8cc0 pc=0x562a67a00b4d
> github.com/tinygo-org/tinygo/compiler.(*builder).
> createFunctionDefinition(0xc000ad9490)
> 	/builddir/build/BUILD/tinygo-0.15.0/_build/src/github.com/tinygo-org/tinygo/
> compiler/compiler.go:925 +0x1816 fp=0xc000ad90c8 sp=0xc000ad8ce0
> pc=0x562a67a54fb6
> ...

This is not regression with the go1.15.3(is already present in the f33) and there seems to be llvm/clang involved. I think there is no reason to block the f33 update on it. Do you agree? Could you please file sparate BZ to track it?

Comment 6 Elliott Sales de Andrade 2020-10-19 08:42:07 UTC
It is not present in f33 with 1.15.2 (https://koji.fedoraproject.org/koji/buildinfo?buildID=1613688), but it is with 1.15.3 (see the comment in the bodhi update).

Comment 7 Jakub Čajka 2020-10-19 08:45:03 UTC
I have just tested locally with stock f33 buildroot(1.15.2):

Testing    in: /builddir/build/BUILD/tinygo-0.15.0/_build/src
         PATH: /builddir/build/BUILD/tinygo-0.15.0/_build/bin:/builddir/build/BUILDROOT/tinygo-0.15.0-1.fc33.x86_64/usr/bin:/builddir/.local/bin:/builddir/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
       GOPATH: /builddir/build/BUILD/tinygo-0.15.0/_build:/builddir/build/BUILDROOT/tinygo-0.15.0-1.fc33.x86_64/usr/lib64/tinygo:/usr/share/gocode:/usr/share/gocode
  GO111MODULE: off
      command: go test -buildmode pie -compiler gc -ldflags " -X github.com/tinygo-org/tinygo/version=0.15.0 -extldflags '-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld  '"
      testing: github.com/tinygo-org/tinygo
github.com/tinygo-org/tinygo
--- FAIL: TestCompiler (17.54s)
    --- FAIL: TestCompiler/EmulatedCortexM3 (17.54s)
        --- FAIL: TestCompiler/EmulatedCortexM3/alias.go (17.54s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x555b6d3656c6]

goroutine 34 [running]:
testing.tRunner.func1.1(0x555b6d45d900, 0x555b6d67a560)
	/usr/lib/golang/src/testing/testing.go:1076 +0x30d
testing.tRunner.func1(0xc0001a2300)
	/usr/lib/golang/src/testing/testing.go:1079 +0x41a
panic(0x555b6d45d900, 0x555b6d67a560)
	/usr/lib/golang/src/runtime/panic.go:969 +0x175
github.com/tinygo-org/tinygo/stacksize.parseFrames(0xc003d70140, 0xc000228380, 0x330, 0x330, 0xc00159ad98, 0x0, 0x0)
	/builddir/build/BUILD/tinygo-0.15.0/_build/src/github.com/tinygo-org/tinygo/stacksize/dwarf.go:137 +0x986
github.com/tinygo-org/tinygo/stacksize.CallGraph(0xc003d70140, 0x0, 0x0, 0x0, 0x0, 0xc000a41780, 0x0)
	/builddir/build/BUILD/tinygo-0.15.0/_build/src/github.com/tinygo-org/tinygo/stacksize/stacksize.go:235 +0xa3c
github.com/tinygo-org/tinygo/builder.determineStackSizes(0x7fe6f800e2a0, 0xc000752100, 0x19, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/builddir/build/BUILD/tinygo-0.15.0/_build/src/github.com/tinygo-org/tinygo/builder/build.go:371 +0x7e5
github.com/tinygo-org/tinygo/builder.Build(0xc00023aba0, 0x13, 0xc00023ab80, 0x1e, 0xc000565140, 0xc00159bc50, 0x0, 0x0)
	/builddir/build/BUILD/tinygo-0.15.0/_build/src/github.com/tinygo-org/tinygo/builder/build.go:248 +0x11fd
github.com/tinygo-org/tinygo.Build(0xc00023aba0, 0x13, 0xc00023ab80, 0x1e, 0xc00027a000, 0xc000504ce0, 0x2)
	/builddir/build/BUILD/tinygo-0.15.0/_build/src/github.com/tinygo-org/tinygo/main.go:94 +0xc7
github.com/tinygo-org/tinygo.runBuild(0xc00023aba0, 0x13, 0xc00023ab80, 0x1e, 0xc00027a000, 0x0, 0x0)
	/builddir/build/BUILD/tinygo-0.15.0/_build/src/github.com/tinygo-org/tinygo/main_test.go:121 +0xae
github.com/tinygo-org/tinygo.runTest(0xc00001db20, 0x11, 0x555b6d3b090f, 0xd, 0xc0001a2300)
	/builddir/build/BUILD/tinygo-0.15.0/_build/src/github.com/tinygo-org/tinygo/main_test.go:159 +0x40d
github.com/tinygo-org/tinygo.runPlatTests.func1(0xc0001a2300)
	/builddir/build/BUILD/tinygo-0.15.0/_build/src/github.com/tinygo-org/tinygo/main_test.go:107 +0x8b
testing.tRunner(0xc0001a2300, 0xc00018a570)
	/usr/lib/golang/src/testing/testing.go:1127 +0xef
created by testing.(*T).Run
	/usr/lib/golang/src/testing/testing.go:1178 +0x38d
exit status 2
FAIL	github.com/tinygo-org/tinygo	17.609s
error: Bad exit status from /var/tmp/rpm-tmp.1KcH7v (%check)
    Setting %{thisgofilelist} = devel.file-list
    Setting %{currentgoipath} = github.com/tinygo-org/tinygo
    Setting %{currentgosourcedir} = /builddir/build/BUILD/tinygo-0.15.0
    Setting %{currentgofilelist} = devel.file-list
    Setting %{currentversion} = 0.15.0
    Setting %{currentgoldflags} =  -X github.com/tinygo-org/tinygo/version=0.15.0
    Bad exit status from /var/tmp/rpm-tmp.1KcH7v (%check)

Comment 8 Jakub Čajka 2020-10-19 08:47:57 UTC
That would IMHO point more probably to the llvm/clang(or interfacing between it and GC). This has been with llvm-11.0.0-0.3.rc1.fc33.x86_64 and clang-11.0.0-0.2.rc1.fc33.x86_64.

Comment 9 Elliott Sales de Andrade 2020-10-19 08:48:47 UTC
If you want to test locally, you need to use llvm/clang that's currently in the build root. Stable llvm is broken, and won't be fixed until the freeze is lifted.

Comment 10 Jakub Čajka 2020-10-19 08:53:27 UTC
(In reply to Elliott Sales de Andrade from comment #9)
> If you want to test locally, you need to use llvm/clang that's currently in
> the build root. Stable llvm is broken, and won't be fixed until the freeze
> is lifted.

Please open separate tracking bug then if llvm/clang is atm broken. And I'm strongly against blocking the update in this case(as I think that the culprit lies there).

Comment 11 Elliott Sales de Andrade 2020-10-19 09:36:14 UTC
Please read what I wrote again; I never said that.

Go 1.15.2 works, Go 1.15.3 doesn't. LLVM/clang have nothing to do with it. To be 100% clear:

$ fedpkg clone -b f33 tinygo
$ cd tinygo
$ fedpkg mockbuild -N --enablerepo=local  # WORKS

$ koji download-build --arch=x86_64 --arch=noarch golang-1.15.3-1.fc33
$ mock -r fedora-33-x86_64 --install ./*.noarch.rpm ./*.x86_64.rpm
$ fedpkg mockbuild -N --enablerepo=local  # FAILS

Comment 12 Jakub Čajka 2020-10-19 10:10:00 UTC
Ok, could you please open separate tracking bug for the tinygo issue. And could you include logs from the failing/working builds?(Or just mentioning go and llvm/clang versions used).

Comment 13 Elliott Sales de Andrade 2020-11-06 09:56:31 UTC
This should be fixed in 1.15.4, https://github.com/golang/go/issues/42032

Comment 14 Jakub Čajka 2020-11-06 10:09:07 UTC
If this is the tinygo issue seen with llvm, this seems to be fixed via the mentioned issue in the f33. Tinygo on rawhide is still broken with something that seems on first look as related to the qemu.