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

runtime: SIGSEGV during gcenable on darwin-arm64-corellium #34908

Closed
bcmills opened this issue Oct 14, 2019 · 2 comments
Closed

runtime: SIGSEGV during gcenable on darwin-arm64-corellium #34908

bcmills opened this issue Oct 14, 2019 · 2 comments
Labels
FrozenDueToAge mobile Android, iOS, and x/mobile NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-Darwin
Milestone

Comments

@bcmills
Copy link
Contributor

bcmills commented Oct 14, 2019

From the darwin-arm64-corellium builder (https://build.golang.org/log/591a1a4a3afb0d8d72864ae84e551bb82c40f0c9):

fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x0]

goroutine 3 [running]:
runtime.throw(0x104878476, 0x2a)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/runtime/panic.go:774 +0x4c fp=0x130052ef0 sp=0x130052ec0 pc=0x104352c14
runtime: unexpected return pc for runtime.sigpanic called from 0x0
stack: frame={sp:0x130052ef0, fp:0x130052f20} stack=[0x130052000,0x130053000)
0000000130052df0:  0000000000000000  0000000000000000 
0000000130052e00:  0000000000000000  0000000000000000 
0000000130052e10:  0000000000000000  0000000000000000 
0000000130052e20:  0000000000000000  0000000000000000 
0000000130052e30:  0000000000000000  0000000000000000 
0000000130052e40:  0000000000000000  0000000000000000 
0000000130052e50:  0000000000000000  0000000000000000 
0000000130052e60:  0000000000000000  0000000000000000 
0000000130052e70:  0000000104352d90 <runtime.fatalthrow+56>  0000000000000000 
0000000130052e80:  0000000104352c14 <runtime.throw+76>  0000000130052e98 
0000000130052e90:  0000000000000000  0000000104378ee8 <runtime.fatalthrow.func1+0> 
0000000130052ea0:  0000000130000f00  0000000104352c14 <runtime.throw+76> 
0000000130052eb0:  0000000130052ec0  0000000000008000 
0000000130052ec0:  0000000104366cd0 <runtime.sigpanic+1032>  0000000130052ed0 
0000000130052ed0:  0000000104378e78 <runtime.throw.func1+0>  0000000104878476 
0000000130052ee0:  000000000000002a  000000010500c6d0 
0000000130052ef0: <0000000000000000  0000000104878476 
0000000130052f00:  000000000000002a  0000000000000003 
0000000130052f10:  0000000000000000  0000000000000000 
0000000130052f20: >0000000000000000  0000000000000000 
0000000130052f30:  0000000104347e58 <runtime.bgsweep+208>  0000000105162738 
0000000130052f40:  0000000104349e00 <runtime.freeSomeWbufs+88>  0000000104376d01 <runtime.cgoCheckWriteBarrier.func1+41> 
0000000130052f50:  000000013004a000  0000000000000000 
0000000130052f60:  0000000104347ea0 <runtime.bgsweep+280>  3f6131fc233e9e95 
0000000130052f70:  0000000000000004  0000000104d1a030 
0000000130052f80:  0000000104347ef8 <runtime.bgsweep+368>  00000001048e9e38 
0000000130052f90:  0000000130000f00  0000000000000000 
0000000130052fa0:  000000010437cb2c <runtime.goexit+4>  00000001048e9d08 
0000000130052fb0:  0000000104d18a80  000000000000140c 
0000000130052fc0:  0000000000000001  0000000000000000 
0000000130052fd0:  0000000000000000  000000013004a000 
0000000130052fe0:  0000000000000000  0000000000000000 
0000000130052ff0:  0000000000000000  0000000000000000 
runtime.sigpanic()
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/runtime/signal_unix.go:551 +0x408 fp=0x130052f20 sp=0x130052ef0 pc=0x104366cd0
created by runtime.gcenable
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/runtime/mgc.go:210 +0x4c

goroutine 1 [semacquire]:
sync.runtime_Semacquire(0x13025aa68)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/runtime/sema.go:56 +0x30
sync.(*WaitGroup).Wait(0x13025aa60)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/sync/waitgroup.go:130 +0x64
cmd/go/internal/work.(*Builder).Do(0x130229b80, 0x130168140)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/work/exec.go:187 +0x334
cmd/go/internal/test.runTest(0x104d0f1c0, 0x13001a0b0, 0x7, 0x7)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/test/test.go:770 +0xd00
main.main()
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/main.go:189 +0x518

goroutine 334 [IO wait]:
internal/poll.runtime_pollWait(0x1051649e8, 0x72, 0x1048ea1d8)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/runtime/netpoll.go:184 +0x3c
internal/poll.(*pollDesc).wait(0x1303af698, 0x72, 0x201, 0x200, 0xffffffffffffffff)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/internal/poll/fd_poll_runtime.go:87 +0x30
internal/poll.(*pollDesc).waitRead(...)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x1303af680, 0x13029e200, 0x200, 0x200, 0x0, 0x0, 0x0)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/internal/poll/fd_unix.go:169 +0x1b8
os.(*File).read(...)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/file_unix.go:259
os.(*File).Read(0x130018400, 0x13029e200, 0x200, 0x200, 0x1303c02c8, 0x104376df0, 0x1)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/file.go:116 +0x58
bytes.(*Buffer).ReadFrom(0x1302961e0, 0x10499c900, 0x130018400, 0x10519e700, 0x1302961e0, 0x130467e01)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/bytes/buffer.go:204 +0x9c
io.copyBuffer(0x10499bda0, 0x1302961e0, 0x10499c900, 0x130018400, 0x0, 0x0, 0x0, 0x10440e070, 0x1303c0420, 0x1304adfa8)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/io/io.go:388 +0x280
io.Copy(...)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/io/io.go:364
os/exec.(*Cmd).writerDescriptor.func1(0x1303c0420, 0x1304adfa8)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/exec/exec.go:311 +0x4c
os/exec.(*Cmd).Start.func1(0x1301f8000, 0x1302c43e0)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/exec/exec.go:435 +0x20
created by os/exec.(*Cmd).Start
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/exec/exec.go:434 +0x474

goroutine 341 [runnable]:
os.(*File).Read(0x130018100, 0x1306e8000, 0x8000, 0x8000, 0x0, 0x1045fda00, 0x1302fc0a0)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/file.go:112 +0x1f0
io.copyBuffer(0x105165068, 0x130322800, 0x10499c900, 0x130018100, 0x1306e8000, 0x8000, 0x8000, 0x1043fc5a0, 0x0, 0x1043fc58c)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/io/io.go:402 +0xcc
io.Copy(...)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/io/io.go:364
cmd/go/internal/cache.FileHash(0x1302fc0a0, 0x44, 0x0, 0x0, 0x0, 0x0, 0x1302fc0a0, 0x44)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/cache/hash.go:149 +0x2ac
cmd/go/internal/work.(*Builder).fileHash(0x130229b80, 0x1302fc0a0, 0x44, 0x1302fc0a0, 0x44)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/work/buildid.go:404 +0x28
cmd/go/internal/work.(*Builder).buildActionID(0x130229b80, 0x1302a7a40, 0x0, 0x0, 0x0, 0x0)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/work/exec.go:317 +0x894
cmd/go/internal/work.(*Builder).build(0x130229b80, 0x1302a7a40, 0x0, 0x0)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/work/exec.go:398 +0x3bd4
cmd/go/internal/work.(*Builder).Do.func2(0x1302a7a40)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/work/exec.go:118 +0x58
cmd/go/internal/work.(*Builder).Do.func3(0x13025aa60, 0x130229b80, 0x1304d7d20)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/work/exec.go:178 +0x58
created by cmd/go/internal/work.(*Builder).Do
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/work/exec.go:165 +0x310

goroutine 340 [runnable]:
syscall.syscall6(0x1043bf3e8, 0xaacd, 0x130510de0, 0x0, 0x1301883f0, 0x0, 0x0, 0xaacd, 0x0, 0x0)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/runtime/sys_darwin.go:74 +0x14
syscall.wait4(0xaacd, 0x130510de0, 0x0, 0x1301883f0, 0x90, 0x10484b8a0, 0x13002e201)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/syscall/zsyscall_darwin_arm64.go:44 +0x64
syscall.Wait4(0xaacd, 0x130510e30, 0x0, 0x1301883f0, 0x130467e01, 0x1046a0b5c, 0x1)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/syscall/syscall_bsd.go:129 +0x3c
os.(*Process).wait(0x13002e270, 0x8, 0x1048e9aa0, 0x1048e9aa8)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/exec_unix.go:38 +0x60
os.(*Process).Wait(...)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/exec.go:125
os/exec.(*Cmd).Wait(0x1301f8000, 0x0, 0x0)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/exec/exec.go:501 +0x40
os/exec.(*Cmd).Run(0x1301f8000, 0x130296420, 0x2d)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/exec/exec.go:341 +0x48
cmd/go/internal/work.(*Builder).toolID(0x130229b80, 0x10485f955, 0x3, 0x2c, 0x130511408)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/work/buildid.go:193 +0x374
cmd/go/internal/work.(*Builder).buildActionID(0x130229b80, 0x1301d1400, 0x0, 0x0, 0x0, 0x0)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/work/exec.go:222 +0x16e4
cmd/go/internal/work.(*Builder).build(0x130229b80, 0x1301d1400, 0x0, 0x0)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/work/exec.go:398 +0x3bd4
cmd/go/internal/work.(*Builder).Do.func2(0x1301d1400)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/work/exec.go:118 +0x58
cmd/go/internal/work.(*Builder).Do.func3(0x13025aa60, 0x130229b80, 0x1304d7d20)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/work/exec.go:178 +0x58
created by cmd/go/internal/work.(*Builder).Do
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/cmd/go/internal/work/exec.go:165 +0x310

goroutine 335 [IO wait]:
internal/poll.runtime_pollWait(0x105164f98, 0x72, 0x1048ea1d8)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/runtime/netpoll.go:184 +0x3c
internal/poll.(*pollDesc).wait(0x1303af8d8, 0x72, 0x201, 0x200, 0xffffffffffffffff)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/internal/poll/fd_poll_runtime.go:87 +0x30
internal/poll.(*pollDesc).waitRead(...)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x1303af8c0, 0x13029e000, 0x200, 0x200, 0x0, 0x0, 0x0)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/internal/poll/fd_unix.go:169 +0x1b8
os.(*File).read(...)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/file_unix.go:259
os.(*File).Read(0x130018430, 0x13029e000, 0x200, 0x200, 0x1303c0388, 0x104376df0, 0x1)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/file.go:116 +0x58
bytes.(*Buffer).ReadFrom(0x130296420, 0x10499c900, 0x130018430, 0x10519e700, 0x130296420, 0x130467e01)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/bytes/buffer.go:204 +0x9c
io.copyBuffer(0x10499bda0, 0x130296420, 0x10499c900, 0x130018430, 0x0, 0x0, 0x0, 0x10440e070, 0x1303c0420, 0x1304b3fa8)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/io/io.go:388 +0x280
io.Copy(...)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/io/io.go:364
os/exec.(*Cmd).writerDescriptor.func1(0x1303c0420, 0x1304b3fa8)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/exec/exec.go:311 +0x4c
os/exec.(*Cmd).Start.func1(0x1301f8000, 0x1302c4420)
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/exec/exec.go:435 +0x20
created by os/exec.(*Cmd).Start
	/private/var/tmp/workdir-host-darwin-arm64-corellium-ios/go/src/os/exec/exec.go:434 +0x474
2019/10/13 02:18:48 Failed: exit status 2

May be related to #32026 and/or #32324: it looks like we may have a general memory-corruption issue on either the builder or the platform.

CC @aclements @randall77 @cherrymui @steeve

@bcmills bcmills added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Oct 14, 2019
@bcmills bcmills added this to the Go1.14 milestone Oct 14, 2019
@bcmills bcmills added OS-Darwin mobile Android, iOS, and x/mobile labels Oct 14, 2019
@danscales
Copy link
Contributor

It's not obvious to me what test or what build of a test is causing the failure (just must be some test after sync/atomic). But I tried reproducing the failure by running the following command (which executes a sequence of tests around the point where things failed) repeatedly via gomote to darwin-arm64-corellium:

go test -test.count=1 sort strconv strings sync sync/atomic syscall testing testing/quick text/scanner text/tabwriter text/template text/template/parse time unicode unicode/utf16 unicode/utf8 cmd/addr2line cmd/api cmd/asm/internal/asm cmd/asm/internal/lex cmd/compile cmd/compile/internal/gc cmd/compile/internal/syntax

I couldn't reproduce -- never got any failures in 50 runs. So, I think we'll probably just have to wait & see if there are any other failures from builders.

@ianlancetaylor
Copy link
Contributor

Most likely fixed by the numerous runtime fixes.

@golang golang locked and limited conversation to collaborators Dec 4, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge mobile Android, iOS, and x/mobile NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-Darwin
Projects
None yet
Development

No branches or pull requests

4 participants