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

cmd/go: build broken on Plan 9 since CL 69830 #22219

Closed
0intro opened this issue Oct 11, 2017 · 3 comments
Closed

cmd/go: build broken on Plan 9 since CL 69830 #22219

0intro opened this issue Oct 11, 2017 · 3 comments

Comments

@0intro
Copy link
Member

0intro commented Oct 11, 2017

Since CL 69830 and subsequent CLs, the build is broken on Plan 9 on all architectures.

The most recent errors are:

cmd/go

##### Building packages and commands for plan9/386.
fatal error: unexpected signal during runtime execution
[signal sys: trap: fault read code=0x0 addr=0x0 pc=0x0]

runtime stack:
runtime.throw(0x25c7a2, 0x2a)
	/tmp/workdir/go/src/runtime/panic.go:616 +0x6a
runtime.sigpanic()
	/tmp/workdir/go/src/runtime/os_plan9.go:79 +0x240

goroutine 1 [chan receive]:
syscall.startProcess(0x1068d510, 0x7, 0x1067f240, 0x4, 0x4, 0x105fd170, 0x10, 0x1068df30, 0x105fd170)
	/tmp/workdir/go/src/syscall/exec_plan9.go:514 +0xac
syscall.StartProcess(0x1068d510, 0x7, 0x1067f240, 0x4, 0x4, 0x105fd170, 0x2, 0x4, 0x0, 0x0)
	/tmp/workdir/go/src/syscall/exec_plan9.go:525 +0x48
os.startProcess(0x1068d510, 0x7, 0x1067f240, 0x4, 0x4, 0x106c1c3c, 0x10607440, 0x43, 0x43)
	/tmp/workdir/go/src/os/exec_plan9.go:33 +0x191
os.StartProcess(0x1068d510, 0x7, 0x1067f240, 0x4, 0x4, 0x106c1c3c, 0x0, 0x0, 0x4187c98)
	/tmp/workdir/go/src/os/exec.go:94 +0x48
os/exec.(*Cmd).Start(0x10608420, 0x10606d01, 0x1061f260)
	/tmp/workdir/go/src/os/exec/exec.go:363 +0x3c1
os/exec.(*Cmd).Run(0x10608420, 0x1061f260, 0x10607408)
	/tmp/workdir/go/src/os/exec/exec.go:286 +0x20
os/exec.(*Cmd).CombinedOutput(0x10608420, 0x1, 0x1, 0x10606fc0, 0x42, 0x48)
	/tmp/workdir/go/src/os/exec/exec.go:506 +0xed
cmd/go/internal/work.(*Builder).gccSupportsFlag(0x105b4230, 0x105b2af8, 0x1, 0x1, 0x254e21, 0x12, 0x0)
	/tmp/workdir/go/src/cmd/go/internal/work/build.go:3573 +0x437
cmd/go/internal/work.(*Builder).compilerCmd(0x105b4230, 0x24fca2, 0x2, 0x24fc7e, 0x2, 0x24fbb1, 0x1, 0x0, 0x0, 0x20e340, ...)
	/tmp/workdir/go/src/cmd/go/internal/work/build.go:3495 +0x435
cmd/go/internal/work.(*Builder).GccCmd(0x105b4230, 0x24fbb1, 0x1, 0x0, 0x0, 0x1060a6e0, 0xb, 0x16)
	/tmp/workdir/go/src/cmd/go/internal/work/build.go:3449 +0x64
cmd/go/internal/envcmd.MkEnv(0x10606240, 0x41, 0x41)
	/tmp/workdir/go/src/cmd/go/internal/envcmd/env.go:76 +0x31a
main.main()
	/tmp/workdir/go/src/cmd/go/main.go:122 +0x479

goroutine 5 [runnable]:
os/signal.loop()
	/tmp/workdir/go/src/os/signal/signal_plan9.go:25
created by os/signal.init.0
	/tmp/workdir/go/src/os/signal/signal_plan9.go:22 +0x36

goroutine 6 [runnable]:
text/template/parse.(*lexer).emit(0x1066b000, 0x6)
	/tmp/workdir/go/src/text/template/parse/lex.go:156 +0x89
text/template/parse.lexText(0x1066b000, 0x26f6c0)
	/tmp/workdir/go/src/text/template/parse/lex.go:270 +0x180
text/template/parse.(*lexer).run(0x1066b000)
	/tmp/workdir/go/src/text/template/parse/lex.go:232 +0x4c
created by text/template/parse.lex
	/tmp/workdir/go/src/text/template/parse/lex.go:225 +0x129

goroutine 9 [runnable, locked to thread]:
syscall.Close(0x7, 0x1067f280, 0x5)
	/tmp/workdir/go/src/syscall/zsyscall_plan9_386.go:245 +0x86
syscall.forkExec(0x1068d510, 0x7, 0x1067f240, 0x4, 0x4, 0x105fd170, 0x105b07d0, 0x0, 0x0)
	/tmp/workdir/go/src/syscall/exec_plan9.go:434 +0x4c0
syscall.startProcess.func1(0x1068d510, 0x7, 0x1067f240, 0x4, 0x4, 0x105fd170, 0x1066b400)
	/tmp/workdir/go/src/syscall/exec_plan9.go:488 +0x51
created by syscall.startProcess
	/tmp/workdir/go/src/syscall/exec_plan9.go:484 +0x80

See https://build.golang.org/log/e690b06496a0fae4f75a8261e1d7ed08573385c2

@0intro 0intro added this to the Go1.10 milestone Oct 11, 2017
@0intro 0intro self-assigned this Oct 11, 2017
@0intro
Copy link
Member Author

0intro commented Oct 11, 2017

I think there are at least two different issues.

The first issue is a change in the runtime that causes programs to regularly crash when executing commands with os/exec. It leads to the error reported earlier.

The second issue is related to CL 46037:

##### Building packages and commands for plan9/386.
runtime/internal/sys
fatal error: exitThread

runtime stack:
runtime.throw(0x251fdc, 0xa)
	/usr/go/src/runtime/panic.go:616 +0x6a
runtime.exitThread(0x105c6310)
	/usr/go/src/runtime/os_plan9.go:427 +0x2a
runtime.mexit(0x0)
	/usr/go/src/runtime/proc.go:1328 +0x10c
runtime.mstart()
	/usr/go/src/runtime/proc.go:1179 +0x6b

goroutine 1 [semacquire]:
sync.runtime_Semacquire(0x10a0423c)
	/usr/go/src/runtime/sema.go:56 +0x2d
sync.(*WaitGroup).Wait(0x10a04230)
	/usr/go/src/sync/waitgroup.go:129 +0x79
cmd/go/internal/work.(*Builder).Do(0x10692460, 0x10a02d20)
	/usr/go/src/cmd/go/internal/work/build.go:1431 +0x319
cmd/go/internal/work.InstallPackages(0x105b2088, 0x2, 0x3, 0x0)
	/usr/go/src/cmd/go/internal/work/build.go:622 +0x8b8
cmd/go/internal/work.runInstall(0x380ec0, 0x105b2088, 0x2, 0x3)
	/usr/go/src/cmd/go/internal/work/build.go:557 +0x3f
main.main()
	/usr/go/src/cmd/go/main.go:138 +0x688

goroutine 5 [syscall]:
os/signal.signal_recv(0x0, 0x0)
	/usr/go/src/runtime/sigqueue_plan9.go:109 +0x69
os/signal.loop()
	/usr/go/src/os/signal/signal_plan9.go:27 +0x19
created by os/signal.init.0
	/usr/go/src/os/signal/signal_plan9.go:22 +0x36

goroutine 6 [select]:
cmd/go/internal/work.(*Builder).Do.func2(0x10a04230, 0x10692460, 0x1095f680)
	/usr/go/src/cmd/go/internal/work/build.go:1412 +0x115
created by cmd/go/internal/work.(*Builder).Do
	/usr/go/src/cmd/go/internal/work/build.go:1409 +0x2fb

goroutine 7 [select]:
cmd/go/internal/work.(*Builder).Do.func2(0x10a04230, 0x10692460, 0x1095f680)
	/usr/go/src/cmd/go/internal/work/build.go:1412 +0x115
created by cmd/go/internal/work.(*Builder).Do
	/usr/go/src/cmd/go/internal/work/build.go:1409 +0x2fb

goroutine 8 [select]:
cmd/go/internal/work.(*Builder).Do.func2(0x10a04230, 0x10692460, 0x1095f680)
	/usr/go/src/cmd/go/internal/work/build.go:1412 +0x115
created by cmd/go/internal/work.(*Builder).Do
	/usr/go/src/cmd/go/internal/work/build.go:1409 +0x2fb

goroutine 9 [select]:
cmd/go/internal/work.(*Builder).Do.func2(0x10a04230, 0x10692460, 0x1095f680)
	/usr/go/src/cmd/go/internal/work/build.go:1412 +0x115
created by cmd/go/internal/work.(*Builder).Do
	/usr/go/src/cmd/go/internal/work/build.go:1409 +0x2fb

goroutine 10 [select]:
cmd/go/internal/work.(*Builder).Do.func2(0x10a04230, 0x10692460, 0x1095f680)
	/usr/go/src/cmd/go/internal/work/build.go:1412 +0x115
created by cmd/go/internal/work.(*Builder).Do
	/usr/go/src/cmd/go/internal/work/build.go:1409 +0x2fb

goroutine 11 [select]:
cmd/go/internal/work.(*Builder).Do.func2(0x10a04230, 0x10692460, 0x1095f680)
	/usr/go/src/cmd/go/internal/work/build.go:1412 +0x115
created by cmd/go/internal/work.(*Builder).Do
	/usr/go/src/cmd/go/internal/work/build.go:1409 +0x2fb

goroutine 12 [select]:
cmd/go/internal/work.(*Builder).Do.func2(0x10a04230, 0x10692460, 0x1095f680)
	/usr/go/src/cmd/go/internal/work/build.go:1412 +0x115
created by cmd/go/internal/work.(*Builder).Do
	/usr/go/src/cmd/go/internal/work/build.go:1409 +0x2fb

goroutine 13 [runnable]:
syscall.Seek(0x4, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0)
	/usr/go/src/syscall/syscall_plan9.go:157 +0xc5
syscall.readenv(0x10a056c9, 0x7, 0x0, 0x0, 0x0, 0x0)
	/usr/go/src/syscall/env_plan9.go:25 +0x114
syscall.Environ(0x0, 0x0, 0x0)
	/usr/go/src/syscall/env_plan9.go:101 +0x126
os.Environ(0x109d4860, 0x1e, 0x10835808)
	/usr/go/src/os/env.go:117 +0x19
cmd/go/internal/work.(*Builder).runOut(0x10692460, 0x10606e60, 0x20, 0x25553d, 0x14, 0x0, 0x0, 0x0, 0x106dd6c0, 0x10, ...)
	/usr/go/src/cmd/go/internal/work/build.go:2275 +0x5aa
cmd/go/internal/work.(*Builder).run(0x10692460, 0x10606e60, 0x20, 0x25553d, 0x14, 0x0, 0x0, 0x0, 0x106dd6c0, 0x10, ...)
	/usr/go/src/cmd/go/internal/work/build.go:2215 +0x83
cmd/go/internal/work.gcToolchain.asm(0x10692460, 0x10788850, 0x108a0ba0, 0x1, 0x1, 0x109819f4, 0x2, 0x2, 0x10981c28, 0x4)
	/usr/go/src/cmd/go/internal/work/build.go:2664 +0x7d3
cmd/go/internal/work.(*Builder).build(0x10692460, 0x10788850, 0x0, 0x0)
	/usr/go/src/cmd/go/internal/work/build.go:1670 +0x2716
cmd/go/internal/work.(*Builder).Do.func1(0x10788850)
	/usr/go/src/cmd/go/internal/work/build.go:1364 +0x20f
cmd/go/internal/work.(*Builder).Do.func2(0x10a04230, 0x10692460, 0x1095f680)
	/usr/go/src/cmd/go/internal/work/build.go:1422 +0x85
created by cmd/go/internal/work.(*Builder).Do
	/usr/go/src/cmd/go/internal/work/build.go:1409 +0x2fb

@0intro
Copy link
Member Author

0intro commented Oct 11, 2017

The second issue (related to CL 46037) has been reported separately in issue #22221.

@0intro
Copy link
Member Author

0intro commented Oct 12, 2017

I've opened issue #22227 to discuss about the first problem.

@0intro 0intro closed this as completed Oct 12, 2017
@golang golang locked and limited conversation to collaborators Oct 12, 2018
@rsc rsc unassigned 0intro Jun 23, 2022
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

2 participants