Skip to content

Incompatibility with Go 1.17.1 #663

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

Closed
rhaidiz opened this issue Sep 13, 2021 · 1 comment
Closed

Incompatibility with Go 1.17.1 #663

rhaidiz opened this issue Sep 13, 2021 · 1 comment
Assignees
Labels
conclusion: resolved Issue was resolved topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project

Comments

@rhaidiz
Copy link

rhaidiz commented Sep 13, 2021

Bug Report

Describe the bug

Segmentation violation at runtime when running the Create Agent compiled with Go version 1.17.1

To Reproduce

  • Compile the repository with Go 1.17.1 go build .
  • Run the generate binary ./arduino-create-agent

Expected behavior

The Create Agent should start and run.

Environment (please complete the following information):

  • OS [e.g. Windows]: macOS
  • OS version: 11.5.2 (20G95)
  • Agent Version [e.g. 1.0.0]: current main branch on GitHub
  • CPU architecture [e.g. amd64]: amd64

Additional context

When running the compiled binary I obtain the following stack trace.

./arduino-create-agent                                                                                                                  09/13/21 -  4:30 PM
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0xb01dfacedebac1e pc=0x7fff2047fc9e]

runtime stack:
runtime: unexpected return pc for runtime.sigpanic called from 0x7fff2047fc9e
stack: frame={sp:0x70000b851e58, fp:0x70000b851ea8} stack=[0x70000b7d2338,0x70000b851f38)
0x000070000b851d58:  0x010070000b851d78  0x0000000000000004
0x000070000b851d68:  0x000000000000001f  0x00007fff2047fc9e
0x000070000b851d78:  0x0b01dfacedebac1e  0x0000000000000001
0x000070000b851d88:  0x0000000004037e31 <runtime.throw+0x0000000000000071>  0x000070000b851e28
0x000070000b851d98:  0x0000000004775309  0x000070000b851de0
0x000070000b851da8:  0x00000000040380e8 <runtime.fatalthrow.func1+0x0000000000000048>  0x000000c0001021a0
0x000070000b851db8:  0x0000000000000001  0x0000000000000001
0x000070000b851dc8:  0x000070000b851e28  0x0000000004037e31 <runtime.throw+0x0000000000000071>
0x000070000b851dd8:  0x000000c0001021a0  0x000070000b851e18
0x000070000b851de8:  0x0000000004038070 <runtime.fatalthrow+0x0000000000000050>  0x000070000b851df8
0x000070000b851df8:  0x00000000040380a0 <runtime.fatalthrow.func1+0x0000000000000000>  0x000000c0001021a0
0x000070000b851e08:  0x0000000004037e31 <runtime.throw+0x0000000000000071>  0x000070000b851e28
0x000070000b851e18:  0x000070000b851e48  0x0000000004037e31 <runtime.throw+0x0000000000000071>
0x000070000b851e28:  0x000070000b851e30  0x0000000004037e60 <runtime.throw.func1+0x0000000000000000>
0x000070000b851e38:  0x000000000477e63a  0x000000000000002a
0x000070000b851e48:  0x000070000b851e98  0x000000000404d656 <runtime.sigpanic+0x0000000000000396>
0x000070000b851e58: <0x000000000477e63a  0x000000000401ca16 <runtime.(*fixalloc).alloc+0x0000000000000056>
0x000070000b851e68:  0x0100000000000002  0x0000000000000000
0x000070000b851e78:  0x00000000000001e0  0x000000c000100000
0x000070000b851e88:  0x0000000005b09a88  0x000000c0001021a0
0x000070000b851e98:  0x000070000b851ee0 !0x00007fff2047fc9e
0x000070000b851ea8: >0x000070000b851ee0  0x0000000004c84000
0x000070000b851eb8:  0x00000000000005c8  0x0000000004119b25 <golang.org/x/sys/unix.libc_ioctl_trampoline+0x0000000000000005>
0x000070000b851ec8:  0x000000000406a2ff <runtime.syscall+0x000000000000001f>  0x000000c000175120
0x000070000b851ed8:  0x0000000004069c6c <runtime.nanotime_trampoline+0x000000000000000c>  0x000000c0001750f0
0x000070000b851ee8:  0x0000000004068150 <runtime.asmcgocall+0x0000000000000070>  0x000000c0000441e0
0x000070000b851ef8:  0x000000c000044101  0x0000000005f85098
0x000070000b851f08:  0x000070000b851f20  0x000000000401c9a5 <runtime.SetFinalizer.func1+0x0000000000000025>
0x000070000b851f18:  0x0000000000000f38  0x000000c000184340
0x000070000b851f28:  0x0000000004066269 <runtime.systemstack+0x0000000000000049>  0x0000700000000000
runtime.throw({0x477e63a, 0x401ca16})
	/usr/local/go/src/runtime/panic.go:1198 +0x71
runtime: unexpected return pc for runtime.sigpanic called from 0x7fff2047fc9e
stack: frame={sp:0x70000b851e58, fp:0x70000b851ea8} stack=[0x70000b7d2338,0x70000b851f38)
0x000070000b851d58:  0x010070000b851d78  0x0000000000000004
0x000070000b851d68:  0x000000000000001f  0x00007fff2047fc9e
0x000070000b851d78:  0x0b01dfacedebac1e  0x0000000000000001
0x000070000b851d88:  0x0000000004037e31 <runtime.throw+0x0000000000000071>  0x000070000b851e28
0x000070000b851d98:  0x0000000004775309  0x000070000b851de0
0x000070000b851da8:  0x00000000040380e8 <runtime.fatalthrow.func1+0x0000000000000048>  0x000000c0001021a0
0x000070000b851db8:  0x0000000000000001  0x0000000000000001
0x000070000b851dc8:  0x000070000b851e28  0x0000000004037e31 <runtime.throw+0x0000000000000071>
0x000070000b851dd8:  0x000000c0001021a0  0x000070000b851e18
0x000070000b851de8:  0x0000000004038070 <runtime.fatalthrow+0x0000000000000050>  0x000070000b851df8
0x000070000b851df8:  0x00000000040380a0 <runtime.fatalthrow.func1+0x0000000000000000>  0x000000c0001021a0
0x000070000b851e08:  0x0000000004037e31 <runtime.throw+0x0000000000000071>  0x000070000b851e28
0x000070000b851e18:  0x000070000b851e48  0x0000000004037e31 <runtime.throw+0x0000000000000071>
0x000070000b851e28:  0x000070000b851e30  0x0000000004037e60 <runtime.throw.func1+0x0000000000000000>
0x000070000b851e38:  0x000000000477e63a  0x000000000000002a
0x000070000b851e48:  0x000070000b851e98  0x000000000404d656 <runtime.sigpanic+0x0000000000000396>
0x000070000b851e58: <0x000000000477e63a  0x000000000401ca16 <runtime.(*fixalloc).alloc+0x0000000000000056>
0x000070000b851e68:  0x0100000000000002  0x0000000000000000
0x000070000b851e78:  0x00000000000001e0  0x000000c000100000
0x000070000b851e88:  0x0000000005b09a88  0x000000c0001021a0
0x000070000b851e98:  0x000070000b851ee0 !0x00007fff2047fc9e
0x000070000b851ea8: >0x000070000b851ee0  0x0000000004c84000
0x000070000b851eb8:  0x00000000000005c8  0x0000000004119b25 <golang.org/x/sys/unix.libc_ioctl_trampoline+0x0000000000000005>
0x000070000b851ec8:  0x000000000406a2ff <runtime.syscall+0x000000000000001f>  0x000000c000175120
0x000070000b851ed8:  0x0000000004069c6c <runtime.nanotime_trampoline+0x000000000000000c>  0x000000c0001750f0
0x000070000b851ee8:  0x0000000004068150 <runtime.asmcgocall+0x0000000000000070>  0x000000c0000441e0
0x000070000b851ef8:  0x000000c000044101  0x0000000005f85098
0x000070000b851f08:  0x000070000b851f20  0x000000000401c9a5 <runtime.SetFinalizer.func1+0x0000000000000025>
0x000070000b851f18:  0x0000000000000f38  0x000000c000184340
0x000070000b851f28:  0x0000000004066269 <runtime.systemstack+0x0000000000000049>  0x0000700000000000
runtime.sigpanic()
	/usr/local/go/src/runtime/signal_unix.go:719 +0x396

goroutine 34 [syscall]:
syscall.syscall(0x4119b20, 0x1, 0x40487413, 0xc0001751b0)
	/usr/local/go/src/runtime/sys_darwin.go:22 +0x3b fp=0xc000175120 sp=0xc000175100 pc=0x4064d1b
syscall.syscall(0xc000175188, 0x40d3025, 0xc0001751c0, 0x406aac6)
	<autogenerated>:1 +0x26 fp=0xc000175168 sp=0xc000175120 pc=0x406aac6
golang.org/x/sys/unix.ioctl(0xc00022e000, 0x1000, 0x0)
	/Users/federicodemeo/go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_amd64.go:689 +0x39 fp=0xc000175198 sp=0xc000175168 pc=0x4119179
golang.org/x/sys/unix.IoctlGetTermios(...)
	/Users/federicodemeo/go/pkg/mod/golang.org/x/[email protected]/unix/ioctl.go:72
github.com/sirupsen/logrus.isTerminal(0x40d483e)
	/Users/federicodemeo/go/pkg/mod/github.com/sirupsen/[email protected]/terminal_check_bsd.go:11 +0x50 fp=0xc000175208 sp=0xc000175198 pc=0x4124c70
github.com/sirupsen/logrus.checkIfTerminal({0x4854120, 0xc00012e008})
	/Users/federicodemeo/go/pkg/mod/github.com/sirupsen/[email protected]/terminal_check_notappengine.go:13 +0x75 fp=0xc000175220 sp=0xc000175208 pc=0x4124d15
github.com/sirupsen/logrus.(*TextFormatter).init(0xc000112180, 0x5f81778)
	/Users/federicodemeo/go/pkg/mod/github.com/sirupsen/[email protected]/text_formatter.go:106 +0x34 fp=0xc0001752a0 sp=0xc000175220 pc=0x4124df4
github.com/sirupsen/logrus.(*TextFormatter).Format.func1()
	/Users/federicodemeo/go/pkg/mod/github.com/sirupsen/[email protected]/text_formatter.go:196 +0x25 fp=0xc0001752c0 sp=0xc0001752a0 pc=0x41264a5
sync.(*Once).doSlow(0x48600a0, 0xc000124630)
	/usr/local/go/src/sync/once.go:68 +0xd2 fp=0xc000175328 sp=0xc0001752c0 pc=0x40717b2
sync.(*Once).Do(...)
	/usr/local/go/src/sync/once.go:59
github.com/sirupsen/logrus.(*TextFormatter).Format(0xc000112180, 0xc0004049a0)
	/Users/federicodemeo/go/pkg/mod/github.com/sirupsen/[email protected]/text_formatter.go:196 +0xebe fp=0xc000175898 sp=0xc000175328 pc=0x4125e5e
github.com/sirupsen/logrus.(*Entry).write(0xc0004049a0)
	/Users/federicodemeo/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:279 +0x56 fp=0xc000175928 sp=0xc000175898 pc=0x4120136
github.com/sirupsen/logrus.(*Entry).log(0xc0001759f0, 0x4, {0xc00038c318, 0x11})
	/Users/federicodemeo/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:251 +0x219 fp=0xc000175998 sp=0xc000175928 pc=0x411fd39
github.com/sirupsen/logrus.(*Entry).Log(0xc000404930, 0x4, {0xc0001759f0, 0x4121e3a, 0xc000136040})
	/Users/federicodemeo/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:293 +0x4f fp=0xc0001759c8 sp=0xc000175998 pc=0x412038f
github.com/sirupsen/logrus.(*Entry).Logln(0xc000404930, 0x4, {0xc000175ca0, 0x10, 0x46757e0})
	/Users/federicodemeo/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:383 +0x85 fp=0xc000175a10 sp=0xc0001759c8 pc=0x4120f65
github.com/sirupsen/logrus.(*Entry).Infoln(...)
	/Users/federicodemeo/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:396
github.com/sirupsen/logrus.(*Entry).Println(...)
	/Users/federicodemeo/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:400
github.com/sirupsen/logrus.(*Logger).Println(0xc000136000, {0xc000175ca0, 0x1, 0x1})
	/Users/federicodemeo/go/pkg/mod/github.com/sirupsen/[email protected]/logger.go:311 +0x51 fp=0xc000175a50 sp=0xc000175a10 pc=0x4123c91
github.com/sirupsen/logrus.Println(...)
	/Users/federicodemeo/go/pkg/mod/github.com/sirupsen/[email protected]/exported.go:239
main.loop()
	/Users/federicodemeo/Downloads/arduino-create-agent-main/main.go:227 +0x4ef fp=0xc000175fe0 sp=0xc000175a50 pc=0x461608f
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc000175fe8 sp=0xc000175fe0 pc=0x4068441
created by main.main
	/Users/federicodemeo/Downloads/arduino-create-agent-main/main.go:116 +0x9c

goroutine 1 [syscall, locked to thread]:
github.com/getlantern/systray._Cfunc_registerSystray()
	_cgo_gotypes.go:138 +0x45
github.com/getlantern/systray.registerSystray(...)
	/Users/federicodemeo/go/pkg/mod/github.com/getlantern/[email protected]/systray_nonwindows.go:19
github.com/getlantern/systray.Register(0xc000032010, 0xc000032020)
	/Users/federicodemeo/go/pkg/mod/github.com/getlantern/[email protected]/systray.go:106 +0x14b
github.com/getlantern/systray.Run(0x475f79b, 0x47)
	/Users/federicodemeo/go/pkg/mod/github.com/getlantern/[email protected]/systray.go:77 +0x19
github.com/arduino/arduino-create-agent/systray.(*Systray).Start(0x4cef580)
	/Users/federicodemeo/Downloads/arduino-create-agent-main/systray/systray_real.go:25 +0x132
main.main()
	/Users/federicodemeo/Downloads/arduino-create-agent-main/main.go:149 +0x2cb

goroutine 35 [runnable]:
github.com/getlantern/systray.Register.func2()
	/Users/federicodemeo/go/pkg/mod/github.com/getlantern/[email protected]/systray.go:92
created by github.com/getlantern/systray.Register
	/Users/federicodemeo/go/pkg/mod/github.com/getlantern/[email protected]/systray.go:92 +0xc8
@per1234 per1234 added type: imperfection topic: code Related to content of the project itself labels Sep 20, 2021
@per1234 per1234 added type: imperfection Perceived defect in any part of project and removed type: imperfection labels Sep 29, 2021
@umbynos
Copy link
Contributor

umbynos commented Dec 2, 2022

I'm unable to reproduce this with the latest version of go 1.19 (and even with 1.17). Are you sure you used CGO_ENABLED=1 to build? Closing because I bumped the version of go we use to build in #744. Let me know if this still happens

@umbynos umbynos closed this as completed Dec 2, 2022
@umbynos umbynos added the conclusion: resolved Issue was resolved label Dec 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
conclusion: resolved Issue was resolved topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project
Projects
None yet
Development

No branches or pull requests

3 participants