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

os/exec: fatal error: runtime·unlock: lock count #30594

Open
yinjun622 opened this issue Mar 5, 2019 · 6 comments
Open

os/exec: fatal error: runtime·unlock: lock count #30594

yinjun622 opened this issue Mar 5, 2019 · 6 comments

Comments

@yinjun622
Copy link

@yinjun622 yinjun622 commented Mar 5, 2019

What version of Go are you using (go version)?

$ go version
go version go1.12 darwin/amd64

Does this issue reproduce with the latest release?

yes

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/leeleon/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/leeleon/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/Cellar/go/1.12/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.12/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/leeleon/go/src/test_aos9/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 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/df/tbfwxrg54g98zctp_hjz0l1r0000gn/T/go-build076111302=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

func main() {
	for {
		for i:=0;i<20;i++{
			go func() {
				ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
				defer cancel()
				cmd := exec.CommandContext(ctx,"ls")
				stdout, err := cmd.StdoutPipe()
				cmd.Start()
				content, err := ioutil.ReadAll(stdout)
				if err != nil {
					fmt.Println(err)
				}
				err = cmd.Wait()
				if err != nil {
					fmt.Println(err)
				}
				fmt.Println(string(content))
			}()
		}
		time.Sleep(time.Second*1)
	}
}
  • build the code on Mac:
    ~CGO_ENABLED=0 GOOS=linux GOARCH=arm go build

  • run the code at android phone(sony SO-01L aos9)

~uname -a
Linux localhost 4.9.112-perf+ #1 SMP PREEMPT Fri Dec 14 00:09:44 2018 aarch64
  • err log:
fatal error: runtime·unlock: lock count
fatal: morestack on g0
SIGSEGV: segmentation violation
PC=0x64014 m=1 sigcode=1

goroutine 0 [idle]:
runtime.abort()
	/usr/local/Cellar/go/1.12/libexec/src/runtime/asm_arm.s:801 +0x4
runtime.badmorestackg0()
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:435 +0x2c
runtime: unexpected return pc for runtime.printstring called from 0x18fc6c
stack: frame={sp:0x203e36c, fp:0x203e390} stack=[0x203e000,0x2040000)
0203e2ec:  00000000  00000000  00000000  00000000
0203e2fc:  00000000  00000000  00000000  00000000

err.log

What did you expect to see?

The problem is similar like #29173.

How can it be solved?

@yinjun622 yinjun622 changed the title cmd/go: fatal error: runtime·unlock: lock count os/exec: fatal error: runtime·unlock: lock count Mar 5, 2019
@randall77

This comment has been minimized.

Copy link
Contributor

@randall77 randall77 commented Mar 5, 2019

I can't seem to reproduce your problem. I can do

CGO_ENABLED=0 GOOS=linux GOARCH=arm go build ~/gowork/issue30594.go

Then run the resulting binary on an arm builder just fine.

Why are you building with GOARCH=arm when you are running on an arm64 host? Maybe things are different on your device, but I can't run an arm binary on an arm64 builder.
(Supposedly arm binaries could run on arm64 chips, but that doesn't appear to work on our builders. I get a "exec format error".)

Maybe something about running arm binaries on your arm64 chip is broken? Atomics not working correctly, perhaps?

@yinjun622

This comment has been minimized.

Copy link
Author

@yinjun622 yinjun622 commented Mar 5, 2019

@randall77
when run the resulting binary for a while,the exception will be happened.
Using GOARCH=arm, because of this issue #28431.

@randall77

This comment has been minimized.

Copy link
Contributor

@randall77 randall77 commented Mar 5, 2019

#28431 was fixed in 1.12 (and that fix was backported to 1.11.4), so you should be able to run arm64 binaries just fine.

Actually, that fix was just for GOOS=android, but you use GOOS=linux. It looks like you're running on android, though. Maybe try GOOS=android (for both arm and arm64) to see if that fixes it?

@yinjun622

This comment has been minimized.

Copy link
Author

@yinjun622 yinjun622 commented Mar 6, 2019

@randall77
this is my build param.
CC=$NDK/bin/aarch64-linux-android/bin/aarch64-linux-android-gcc GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build

it is running on Sony SO-01L not fine, except for another android phone.

I changed time.Sleep(time.Second*1) to time.Sleep(time.Millisecond * 200)
while it's running for a while, it's stop by the error below.

wirep: p->m=274878303744(17) p->status=1
fatal error: wirep: invalid p state

runtime stack:
runtime.throw(0x5ecafc101f, 0x16)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/panic.go:617 +0x4c
runtime.wirep(0x400002b400)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:4117 +0x118
runtime.acquirep(0x400002b400)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:4086 +0x20
runtime.stopm()
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:1938 +0xcc
runtime.findrunnable(0x400002b400, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:2399 +0x5ec
runtime.schedule()
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:2525 +0x1dc
runtime.park_m(0x4000529e00)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:2605 +0x90
runtime.mcall(0x7b7c02e0c0)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/asm_arm64.s:174 +0x58

goroutine 1 [sleep]:
runtime.goparkunlock(...)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:307
time.Sleep(0xbebc200)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/time.go:105 +0x128
main.main()
	/Users/leeleon/go/src/test_aos9/main.go:31 +0x50

goroutine 2437 [semacquire]:
sync.runtime_SemacquireMutex(0x5ecb0f9184, 0x4000337800)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40003fae10, 0xe, 0x4000012850, 0x1, 0x1, 0x400012fd20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40003fae10, 0xe, 0x4000012850, 0x1, 0x1, 0x400012fec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40003fae10, 0xe, 0x4000012850, 0x1, 0x1, 0x400012fec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x400045d600, 0x5ecb040680, 0x4000098240)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2348 [select]:
os/exec.(*Cmd).Start.func2(0x400031edc0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:416 +0x74
created by os/exec.(*Cmd).Start
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:415 +0x4a0

goroutine 2321 [runnable]:
sync.runtime_Semrelease(0x5ecb0f9184, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:66 +0x28
sync.(*Mutex).Unlock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:201 +0x98
sync.(*RWMutex).Unlock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:131 +0x94
syscall.forkExec(0x40003fac10, 0xe, 0x4000012770, 0x1, 0x1, 0x4000042d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:199 +0x24c
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40003fac10, 0xe, 0x4000012770, 0x1, 0x1, 0x4000042ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40003fac10, 0xe, 0x4000012770, 0x1, 0x1, 0x4000042ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x400045d340, 0x5ecb040680, 0x40000981f0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2316 [IO wait]:
internal/poll.runtime_pollWait(0x7b79cb2118, 0x72, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/netpoll.go:182 +0x40
internal/poll.(*pollDesc).wait(0x40002b6378, 0x72, 0x201, 0x200, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x94
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x40002b6360, 0x400038f800, 0x200, 0x200, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_unix.go:169 +0x168
os.(*File).read(...)
	/usr/local/Cellar/go/1.12/libexec/src/os/file_unix.go:263
os.(*File).Read(0x400038c2a8, 0x400038f800, 0x200, 0x200, 0x400038f800, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/file.go:108 +0x58
bytes.(*Buffer).ReadFrom(0x40001fdee0, 0x5ecb0404e0, 0x400038c2a8, 0x0, 0x0, 0x40002c4dc0)
	/usr/local/Cellar/go/1.12/libexec/src/bytes/buffer.go:207 +0xa0
io/ioutil.readAll(0x5ecb0404e0, 0x400038c2a8, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:36 +0xa4
io/ioutil.ReadAll(...)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:45
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0x124
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2374 [select]:
os/exec.(*Cmd).Start.func2(0x4000493760)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:416 +0x74
created by os/exec.(*Cmd).Start
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:415 +0x4a0

goroutine 2318 [IO wait]:
internal/poll.runtime_pollWait(0x7b79cb2ba8, 0x72, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/netpoll.go:182 +0x40
internal/poll.(*pollDesc).wait(0x40004db4b8, 0x72, 0x201, 0x200, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x94
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x40004db4a0, 0x40000f4000, 0x200, 0x200, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_unix.go:169 +0x168
os.(*File).read(...)
	/usr/local/Cellar/go/1.12/libexec/src/os/file_unix.go:263
os.(*File).Read(0x400013a1a8, 0x40000f4000, 0x200, 0x200, 0x40000f4000, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/file.go:108 +0x58
bytes.(*Buffer).ReadFrom(0x4000202ee0, 0x5ecb0404e0, 0x400013a1a8, 0x0, 0x0, 0x400023dcc0)
	/usr/local/Cellar/go/1.12/libexec/src/bytes/buffer.go:207 +0xa0
io/ioutil.readAll(0x5ecb0404e0, 0x400013a1a8, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:36 +0xa4
io/ioutil.ReadAll(...)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:45
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0x124
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2439 [semacquire]:
sync.runtime_SemacquireMutex(0x5ecb0f9184, 0x4000243c00)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x4000016fa0, 0xe, 0x400051a750, 0x1, 0x1, 0x4000043d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x4000016fa0, 0xe, 0x400051a750, 0x1, 0x1, 0x4000043ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x4000016fa0, 0xe, 0x400051a750, 0x1, 0x1, 0x4000043ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x4000493b80, 0x5ecb040680, 0x400013a248)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2441 [semacquire]:
sync.runtime_SemacquireMutex(0x5ecb0f9184, 0x4000243b00)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x4000016ea0, 0xe, 0x400051a6e0, 0x1, 0x1, 0x4000048d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x4000016ea0, 0xe, 0x400051a6e0, 0x1, 0x1, 0x4000048ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x4000016ea0, 0xe, 0x400051a6e0, 0x1, 0x1, 0x4000048ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x4000493a20, 0x5ecb040680, 0x400013a220)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2315 [runnable]:
runtime.SetFinalizer(0x5ecb0322a0, 0x4000204a50, 0x5ecb01d9e0, 0x5ecb03e4f0)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/mfinal.go:309 +0x6ac
os.newProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:26
os.startProcess(0x4000380fd0, 0xe, 0x400033a7e0, 0x1, 0x1, 0x4000044ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:51 +0x2d8
os.StartProcess(0x4000380fd0, 0xe, 0x400033a7e0, 0x1, 0x1, 0x4000044ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x4000499e40, 0x5ecb040680, 0x400038c280)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2446 [IO wait]:
internal/poll.runtime_pollWait(0x7b79cb2798, 0x72, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/netpoll.go:182 +0x40
internal/poll.(*pollDesc).wait(0x4000278858, 0x72, 0x201, 0x200, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x94
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x4000278840, 0x400037e600, 0x200, 0x200, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_unix.go:169 +0x168
os.(*File).read(...)
	/usr/local/Cellar/go/1.12/libexec/src/os/file_unix.go:263
os.(*File).Read(0x40000102e8, 0x400037e600, 0x200, 0x200, 0x400037e600, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/file.go:108 +0x58
bytes.(*Buffer).ReadFrom(0x4000288ee0, 0x5ecb0404e0, 0x40000102e8, 0x0, 0x0, 0x40002e9040)
	/usr/local/Cellar/go/1.12/libexec/src/bytes/buffer.go:207 +0xa0
io/ioutil.readAll(0x5ecb0404e0, 0x40000102e8, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:36 +0xa4
io/ioutil.ReadAll(...)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:45
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0x124
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2405 [select]:
os/exec.(*Cmd).Start.func2(0x4000499ce0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:416 +0x74
created by os/exec.(*Cmd).Start
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:415 +0x4a0

goroutine 2447 [select]:
os/exec.(*Cmd).Start.func2(0x400045d080)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:416 +0x74
created by os/exec.(*Cmd).Start
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:415 +0x4a0

goroutine 2442 [semacquire]:
sync.runtime_SemacquireMutex(0x5ecb0f9184, 0x4000337b00)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40003fb010, 0xe, 0x4000012930, 0x1, 0x1, 0x4000130d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40003fb010, 0xe, 0x4000012930, 0x1, 0x1, 0x4000130ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40003fb010, 0xe, 0x4000012930, 0x1, 0x1, 0x4000130ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x400045d8c0, 0x5ecb040680, 0x4000098290)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2420 [select]:
os/exec.(*Cmd).Start.func2(0x400047e000)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:416 +0x74
created by os/exec.(*Cmd).Start
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:415 +0x4a0

goroutine 2444 [semacquire]:
sync.runtime_SemacquireMutex(0x5ecb0f9184, 0x40000de000)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40000171a0, 0xe, 0x400051a830, 0x1, 0x1, 0x4000049d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40000171a0, 0xe, 0x400051a830, 0x1, 0x1, 0x4000049ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40000171a0, 0xe, 0x400051a830, 0x1, 0x1, 0x4000049ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x4000493e40, 0x5ecb040680, 0x400013a298)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2435 [IO wait]:
internal/poll.runtime_pollWait(0x7b79cb15b8, 0x72, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/netpoll.go:182 +0x40
internal/poll.(*pollDesc).wait(0x40001275d8, 0x72, 0x201, 0x200, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x94
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x40001275c0, 0x40000f2000, 0x200, 0x200, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_unix.go:169 +0x168
os.(*File).read(...)
	/usr/local/Cellar/go/1.12/libexec/src/os/file_unix.go:263
os.(*File).Read(0x40000d8190, 0x40000f2000, 0x200, 0x200, 0x40000f2000, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/file.go:108 +0x58
bytes.(*Buffer).ReadFrom(0x400012eee0, 0x5ecb0404e0, 0x40000d8190, 0x0, 0x0, 0x40003a5a40)
	/usr/local/Cellar/go/1.12/libexec/src/bytes/buffer.go:207 +0xa0
io/ioutil.readAll(0x5ecb0404e0, 0x40000d8190, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:36 +0xa4
io/ioutil.ReadAll(...)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:45
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0x124
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2319 [runnable]:
syscall.Syscall(0x39, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/asm_linux_arm64.s:9 +0x8
syscall.Close(0x18, 0x400036bbf8, 0x8)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/zsyscall_linux_arm64.go:310 +0x2c
syscall.forkExec(0x40003fab10, 0xe, 0x4000012700, 0x1, 0x1, 0x400036bd20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:204 +0x298
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40003fab10, 0xe, 0x4000012700, 0x1, 0x1, 0x400036bec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40003fab10, 0xe, 0x4000012700, 0x1, 0x1, 0x400036bec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x400045d1e0, 0x5ecb040680, 0x40000981c8)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2440 [semacquire]:
sync.runtime_SemacquireMutex(0x5ecb0f9184, 0x4000243e00)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40000170a0, 0xe, 0x400051a7c0, 0x1, 0x1, 0x400012ad20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40000170a0, 0xe, 0x400051a7c0, 0x1, 0x1, 0x400012aec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40000170a0, 0xe, 0x400051a7c0, 0x1, 0x1, 0x400012aec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x4000493ce0, 0x5ecb040680, 0x400013a270)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2443 [semacquire]:
sync.runtime_SemacquireMutex(0x5ecb0f9184, 0x4000337900)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40003faf10, 0xe, 0x40000128c0, 0x1, 0x1, 0x4000045d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40003faf10, 0xe, 0x40000128c0, 0x1, 0x1, 0x4000045ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40003faf10, 0xe, 0x40000128c0, 0x1, 0x1, 0x4000045ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x400045d760, 0x5ecb040680, 0x4000098268)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2438 [semacquire]:
sync.runtime_SemacquireMutex(0x5ecb0f9184, 0x4000337600)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40003fad10, 0xe, 0x40000127e0, 0x1, 0x1, 0x4000131d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40003fad10, 0xe, 0x40000127e0, 0x1, 0x1, 0x4000131ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40003fad10, 0xe, 0x40000127e0, 0x1, 0x1, 0x4000131ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x400045d4a0, 0x5ecb040680, 0x4000098218)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2445 [semacquire]:
sync.runtime_SemacquireMutex(0x5ecb0f9184, 0x40000de100)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5ecb0f9180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40000172a0, 0xe, 0x400051a8a0, 0x1, 0x1, 0x4000505d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40000172a0, 0xe, 0x400051a8a0, 0x1, 0x1, 0x4000505ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40000172a0, 0xe, 0x400051a8a0, 0x1, 0x1, 0x4000505ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x40000e0000, 0x5ecb040680, 0x400013a2c0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2436 [IO wait]:
internal/poll.runtime_pollWait(0x7b79cb2048, 0x72, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/netpoll.go:182 +0x40
internal/poll.(*pollDesc).wait(0x400016ff98, 0x72, 0x201, 0x200, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x94
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x400016ff80, 0x400031de00, 0x200, 0x200, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_unix.go:169 +0x168
os.(*File).read(...)
	/usr/local/Cellar/go/1.12/libexec/src/os/file_unix.go:263
os.(*File).Read(0x400038c258, 0x400031de00, 0x200, 0x200, 0x400031de00, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/file.go:108 +0x58
bytes.(*Buffer).ReadFrom(0x4000366ee0, 0x5ecb0404e0, 0x400038c258, 0x0, 0x0, 0x40002c48c0)
	/usr/local/Cellar/go/1.12/libexec/src/bytes/buffer.go:207 +0xa0
io/ioutil.readAll(0x5ecb0404e0, 0x400038c258, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:36 +0xa4
io/ioutil.ReadAll(...)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:45
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0x124
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2434 [runnable]:
syscall.Syscall(0x3f, 0x14, 0x400036cbf8, 0x8, 0x0, 0x400036cbf8, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/asm_linux_arm64.s:9 +0x8
syscall.readlen(0x14, 0x400036cbf8, 0x8, 0x2, 0x40002449a0, 0x15)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/zsyscall_linux_arm64.go:1026 +0x40
syscall.forkExec(0x4000016da0, 0xe, 0x400051a670, 0x1, 0x1, 0x400036cd20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:203 +0x274
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x4000016da0, 0xe, 0x400051a670, 0x1, 0x1, 0x400036cec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x4000016da0, 0xe, 0x400051a670, 0x1, 0x1, 0x400036cec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x40004938c0, 0x5ecb040680, 0x400013a1f8)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2406 [select]:
os/exec.(*Cmd).Start.func2(0x4000493600)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:416 +0x74
created by os/exec.(*Cmd).Start
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:415 +0x4a0

goroutine 2317 [IO wait]:
internal/poll.runtime_pollWait(0x7b79cb1418, 0x72, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/netpoll.go:182 +0x40
internal/poll.(*pollDesc).wait(0x40004db698, 0x72, 0x201, 0x200, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x94
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x40004db680, 0x4000321c00, 0x200, 0x200, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_unix.go:169 +0x168
os.(*File).read(...)
	/usr/local/Cellar/go/1.12/libexec/src/os/file_unix.go:263
os.(*File).Read(0x400013a1d0, 0x4000321c00, 0x200, 0x200, 0x4000321c00, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/file.go:108 +0x58
bytes.(*Buffer).ReadFrom(0x4000200ee0, 0x5ecb0404e0, 0x400013a1d0, 0x0, 0x0, 0x40004ba000)
	/usr/local/Cellar/go/1.12/libexec/src/bytes/buffer.go:207 +0xa0
io/ioutil.readAll(0x5ecb0404e0, 0x400013a1d0, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:36 +0xa4
io/ioutil.ReadAll(...)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:45
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0x124
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

goroutine 2334 [select]:
os/exec.(*Cmd).Start.func2(0x40002bf600)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:416 +0x74
created by os/exec.(*Cmd).Start
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:415 +0x4a0

goroutine 2320 [runnable]:
internal/poll.runtime_pollWait(0x7b79cb2938, 0x72, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/netpoll.go:182 +0x40
internal/poll.(*pollDesc).wait(0x40000c54b8, 0x72, 0x201, 0x200, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x94
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x40000c54a0, 0x4000321a00, 0x200, 0x200, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_unix.go:169 +0x168
os.(*File).read(...)
	/usr/local/Cellar/go/1.12/libexec/src/os/file_unix.go:263
os.(*File).Read(0x40000981a0, 0x4000321a00, 0x200, 0x200, 0x4000321a00, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/file.go:108 +0x58
bytes.(*Buffer).ReadFrom(0x400036dee0, 0x5ecb0404e0, 0x40000981a0, 0x0, 0x0, 0x40002ff7c0)
	/usr/local/Cellar/go/1.12/libexec/src/bytes/buffer.go:207 +0xa0
io/ioutil.readAll(0x5ecb0404e0, 0x40000981a0, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:36 +0xa4
io/ioutil.ReadAll(...)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:45
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0x124
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:14 +0x30

## error2
fatal error: stopm holding locks

runtime stack:
runtime.throw(0x5f8607677e, 0x13)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/panic.go:617 +0x4c
runtime.stopm()
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:1924 +0x130
runtime.findrunnable(0x4000028f00, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:2399 +0x5ec
runtime.schedule()
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:2525 +0x1dc
runtime.park_m(0x4000067e00)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:2605 +0x90
runtime.mcall(0x750aa2e020)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/asm_arm64.s:174 +0x58

goroutine 1 [sleep]:
runtime.goparkunlock(...)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:307
time.Sleep(0xbebc200)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/time.go:105 +0x128
main.main()
	/Users/leeleon/go/src/test_aos9/main.go:33 +0xb4

goroutine 4671 [semacquire]:
sync.runtime_SemacquireMutex(0x5f861b0184, 0x4000226000)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40002172f0, 0xe, 0x40002149e0, 0x1, 0x1, 0x4000280d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40002172f0, 0xe, 0x40002149e0, 0x1, 0x1, 0x4000280ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40002172f0, 0xe, 0x40002149e0, 0x1, 0x1, 0x4000280ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x40002e9e40, 0x5f860f75a0, 0x40000dc2d0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4677 [semacquire]:
sync.runtime_SemacquireMutex(0x5f861b0184, 0x400054e700)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40000175f0, 0xe, 0x4000012ae0, 0x1, 0x1, 0x4000281d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40000175f0, 0xe, 0x4000012ae0, 0x1, 0x1, 0x4000281ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40000175f0, 0xe, 0x4000012ae0, 0x1, 0x1, 0x4000281ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x40002adce0, 0x5f860f75a0, 0x40003e8370)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4674 [runnable]:
os.newFile(0x3b, 0x5f860741ea, 0x2, 0x2, 0x4000098360)
	/usr/local/Cellar/go/1.12/libexec/src/os/file_unix.go:103 +0x1c8
os.Pipe(0x5f860741dc, 0x2, 0x4000217550, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/pipe_linux.go:32 +0x21c
os/exec.(*Cmd).StdoutPipe(0x40002042c0, 0x2, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:593 +0x94
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:19 +0xc8
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4666 [semacquire]:
sync.runtime_SemacquireMutex(0x5f861b0184, 0x4000226200)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40000173a0, 0xe, 0x40000129d0, 0x1, 0x1, 0x40000b1d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40000173a0, 0xe, 0x40000129d0, 0x1, 0x1, 0x40000b1ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40000173a0, 0xe, 0x40000129d0, 0x1, 0x1, 0x40000b1ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x40002ad8c0, 0x5f860f75a0, 0x40000dc2f8)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4571 [select]:
os/exec.(*Cmd).Start.func2(0x40002e98c0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:416 +0x74
created by os/exec.(*Cmd).Start
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:415 +0x4a0

goroutine 4670 [semacquire]:
sync.runtime_SemacquireMutex(0x5f861b0184, 0x40001ea200)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40002171f0, 0xe, 0x4000214970, 0x1, 0x1, 0x4000048d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40002171f0, 0xe, 0x4000214970, 0x1, 0x1, 0x4000048ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40002171f0, 0xe, 0x4000214970, 0x1, 0x1, 0x4000048ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x40002e9ce0, 0x5f860f75a0, 0x40000982e8)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4663 [semacquire]:
sync.runtime_SemacquireMutex(0x5f861b0184, 0x40002eb300)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x4000506b50, 0xe, 0x40005646d0, 0x1, 0x1, 0x4000043d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x4000506b50, 0xe, 0x40005646d0, 0x1, 0x1, 0x4000043ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x4000506b50, 0xe, 0x40005646d0, 0x1, 0x1, 0x4000043ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x4000355760, 0x5f860f75a0, 0x40000d6180)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4672 [semacquire]:
sync.runtime_SemacquireMutex(0x5f861b0184, 0x40001ea400)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x4000217350, 0xe, 0x4000214a10, 0x1, 0x1, 0x40000b3d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x4000217350, 0xe, 0x4000214a10, 0x1, 0x1, 0x40000b3ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x4000217350, 0xe, 0x4000214a10, 0x1, 0x1, 0x40000b3ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x4000204000, 0x5f860f75a0, 0x4000098310)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4673 [semacquire]:
sync.runtime_SemacquireMutex(0x5f861b0184, 0x40001ea500)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x4000217450, 0xe, 0x4000214a80, 0x1, 0x1, 0x4000287d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x4000217450, 0xe, 0x4000214a80, 0x1, 0x1, 0x4000287ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x4000217450, 0xe, 0x4000214a80, 0x1, 0x1, 0x4000287ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x4000204160, 0x5f860f75a0, 0x4000098338)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4665 [semacquire]:
sync.runtime_SemacquireMutex(0x5f861b0184, 0x400054e300)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40000173f0, 0xe, 0x4000012a00, 0x1, 0x1, 0x400012fd20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40000173f0, 0xe, 0x4000012a00, 0x1, 0x1, 0x400012fec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40000173f0, 0xe, 0x4000012a00, 0x1, 0x1, 0x400012fec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x40002ada20, 0x5f860f75a0, 0x40003e8320)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4662 [semacquire]:
sync.runtime_SemacquireMutex(0x5f861b0184, 0x40003bca00)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x4000094460, 0xe, 0x40000804f0, 0x1, 0x1, 0x4000047d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x4000094460, 0xe, 0x40000804f0, 0x1, 0x1, 0x4000047ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x4000094460, 0xe, 0x40000804f0, 0x1, 0x1, 0x4000047ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x40001a2580, 0x5f860f75a0, 0x40000100b8)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4604 [select]:
os/exec.(*Cmd).Start.func2(0x40002e9a20)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:416 +0x74
created by os/exec.(*Cmd).Start
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:415 +0x4a0

goroutine 4659 [IO wait]:
internal/poll.runtime_pollWait(0x750ae5f5b8, 0x72, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/netpoll.go:182 +0x40
internal/poll.(*pollDesc).wait(0x40003e0198, 0x72, 0x201, 0x200, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x94
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x40003e0180, 0x4000148200, 0x200, 0x200, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_unix.go:169 +0x168
os.(*File).read(...)
	/usr/local/Cellar/go/1.12/libexec/src/os/file_unix.go:263
os.(*File).Read(0x4000098298, 0x4000148200, 0x200, 0x200, 0x4000148200, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/file.go:108 +0x58
bytes.(*Buffer).ReadFrom(0x400012cee0, 0x5f860f7400, 0x4000098298, 0x0, 0x0, 0x4000398b40)
	/usr/local/Cellar/go/1.12/libexec/src/bytes/buffer.go:207 +0xa0
io/ioutil.readAll(0x5f860f7400, 0x4000098298, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:36 +0xa4
io/ioutil.ReadAll(...)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:45
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:21 +0x124
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4668 [runnable]:
os/exec.dedupEnvCase(0x4000535500, 0x4000535540, 0x14, 0x14, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:731 +0x280
os/exec.dedupEnv(...)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:709
os/exec.(*Cmd).Start(0x40005778c0, 0x5f860f75a0, 0x40000dc348)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:395 +0x2c4
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4678 [runnable]:
internal/poll.runtime_pollWait(0x750ae1b1a8, 0x72, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/netpoll.go:182 +0x40
internal/poll.(*pollDesc).wait(0x40003945b8, 0x72, 0x201, 0x200, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x94
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x40003945a0, 0x400022a000, 0x200, 0x200, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_unix.go:169 +0x168
os.(*File).read(...)
	/usr/local/Cellar/go/1.12/libexec/src/os/file_unix.go:263
os.(*File).Read(0x40000dc2a8, 0x400022a000, 0x200, 0x200, 0x400022a000, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/file.go:108 +0x58
bytes.(*Buffer).ReadFrom(0x4000285ee0, 0x5f860f7400, 0x40000dc2a8, 0x0, 0x0, 0x4000534c80)
	/usr/local/Cellar/go/1.12/libexec/src/bytes/buffer.go:207 +0xa0
io/ioutil.readAll(0x5f860f7400, 0x40000dc2a8, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:36 +0xa4
io/ioutil.ReadAll(...)
	/usr/local/Cellar/go/1.12/libexec/src/io/ioutil/ioutil.go:45
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:21 +0x124
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4661 [runnable]:
syscall.Syscall(0x3f, 0x2a, 0x400012bbf8, 0x8, 0x0, 0x400012bbf8, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/asm_linux_arm64.s:9 +0x8
syscall.readlen(0x2a, 0x400012bbf8, 0x8, 0x2, 0x40003be370, 0x15)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/zsyscall_linux_arm64.go:1026 +0x40
syscall.forkExec(0x4000094560, 0xe, 0x4000080560, 0x1, 0x1, 0x400012bd20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:203 +0x274
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x4000094560, 0xe, 0x4000080560, 0x1, 0x1, 0x400012bec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x4000094560, 0xe, 0x4000080560, 0x1, 0x1, 0x400012bec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x40001a26e0, 0x5f860f75a0, 0x40000100e0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4667 [runnable]:
context.WithDeadline(0x5f860f7f20, 0x4000094010, 0xbf17ee0152d0c970, 0x5f5138435, 0x5f86194d60, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/context/context.go:405 +0x220
context.WithTimeout(0x5f860f7f20, 0x4000094010, 0x77359400, 0x4000549a50, 0x0, 0x5f8602ce6c)
	/usr/local/Cellar/go/1.12/libexec/src/context/context.go:451 +0x50
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:16 +0x44
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4664 [runnable]:
sync.runtime_Semrelease(0x5f861b0184, 0x1)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:66 +0x28
sync.(*Mutex).Unlock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:211 +0xbc
sync.(*RWMutex).Unlock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:131 +0x94
syscall.forkExec(0x4000506a50, 0xe, 0x4000564660, 0x1, 0x1, 0x4000432d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:199 +0x24c
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x4000506a50, 0xe, 0x4000564660, 0x1, 0x1, 0x4000432ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x4000506a50, 0xe, 0x4000564660, 0x1, 0x1, 0x4000432ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x4000355600, 0x5f860f75a0, 0x40000d6158)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4676 [semacquire]:
sync.runtime_SemacquireMutex(0x5f861b0184, 0x4000226300)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40004f3390, 0xe, 0x4000210980, 0x1, 0x1, 0x40000b2d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40004f3390, 0xe, 0x4000210980, 0x1, 0x1, 0x40000b2ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40004f3390, 0xe, 0x4000210980, 0x1, 0x1, 0x40000b2ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x4000577600, 0x5f860f75a0, 0x40000dc320)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4660 [runnable]:
syscall.Syscall(0x39, 0x21, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/asm_linux_arm64.s:9 +0x8
syscall.Close(0x21, 0x400012dbf8, 0x8)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/zsyscall_linux_arm64.go:310 +0x2c
syscall.forkExec(0x40002170f0, 0xe, 0x4000214900, 0x1, 0x1, 0x400012dd20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:204 +0x298
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40002170f0, 0xe, 0x4000214900, 0x1, 0x1, 0x400012dec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40002170f0, 0xe, 0x4000214900, 0x1, 0x1, 0x400012dec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x40002e9b80, 0x5f860f75a0, 0x40000982c0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4669 [semacquire]:
sync.runtime_SemacquireMutex(0x5f861b0184, 0x400017b900)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40003e6e90, 0xe, 0x40000e8830, 0x1, 0x1, 0x4000129d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40003e6e90, 0xe, 0x40000e8830, 0x1, 0x1, 0x4000129ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40003e6e90, 0xe, 0x40000e8830, 0x1, 0x1, 0x4000129ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x40003c1760, 0x5f860f75a0, 0x40000ce230)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 4675 [semacquire]:
sync.runtime_SemacquireMutex(0x5f861b0184, 0x400054e500)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/sema.go:71 +0x30
sync.(*Mutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/mutex.go:134 +0xf8
sync.(*RWMutex).Lock(0x5f861b0180)
	/usr/local/Cellar/go/1.12/libexec/src/sync/rwmutex.go:93 +0x24
syscall.forkExec(0x40000174f0, 0xe, 0x4000012a70, 0x1, 0x1, 0x4000326d20, 0x2, 0x4, 0x14)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:186 +0x148
syscall.StartProcess(...)
	/usr/local/Cellar/go/1.12/libexec/src/syscall/exec_unix.go:241
os.startProcess(0x40000174f0, 0xe, 0x4000012a70, 0x1, 0x1, 0x4000326ec0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec_posix.go:47 +0x198
os.StartProcess(0x40000174f0, 0xe, 0x4000012a70, 0x1, 0x1, 0x4000326ec0, 0x14, 0x0, 0xe)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec.go:102 +0x5c
os/exec.(*Cmd).Start(0x40002adb80, 0x5f860f75a0, 0x40003e8348)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:392 +0x358
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30


##error3 
fatal error: runtime·unlock: lock count
fatal error: runtime·unlock: lock count
fatal: morestack on g0
SIGSEGV: segmentation violation
PC=0x6425315e4c m=4 sigcode=1

goroutine 0 [idle]:
runtime.abort()
	/usr/local/Cellar/go/1.12/libexec/src/runtime/asm_arm64.s:1118 +0x4
runtime.morestack()
	/usr/local/Cellar/go/1.12/libexec/src/runtime/asm_arm64.s:277 +0x14

goroutine 4970 [running]:
runtime.systemstack_switch()
	/usr/local/Cellar/go/1.12/libexec/src/runtime/asm_arm64.s:183 +0x8 fp=0x4000287c40 sp=0x4000287c30 pc=0x64253136c0
runtime.throw(0x64253610d1, 0x1b)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/panic.go:610 +0x34 fp=0x4000287c70 sp=0x4000287c40 pc=0x64252ec8cc
runtime.unlock(0x75b6e03aa0)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/lock_futex.go:118 +0xa0 fp=0x4000287c90 sp=0x4000287c70 pc=0x64252ce7c8
internal/poll.runtime_pollUnblock(0x75b6e03a98)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/netpoll.go:308 +0xc8 fp=0x4000287cd0 sp=0x4000287c90 pc=0x64252e9f10
internal/poll.(*pollDesc).evict(...)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_poll_runtime.go:64
internal/poll.(*FD).Close(0x400009a8a0, 0x0, 0x0)
	/usr/local/Cellar/go/1.12/libexec/src/internal/poll/fd_unix.go:96 +0x90 fp=0x4000287d10 sp=0x4000287cd0 pc=0x6425345df8
os.(*file).close(0x400009a8a0, 0x642535a8a0, 0x400040c270)
	/usr/local/Cellar/go/1.12/libexec/src/os/file_unix.go:248 +0x30 fp=0x4000287d60 sp=0x4000287d10 pc=0x64253483f8
os.(*File).Close(0x40000f6540, 0x4000287ec0, 0x4000200510)
	/usr/local/Cellar/go/1.12/libexec/src/os/file_unix.go:237 +0x28 fp=0x4000287d90 sp=0x4000287d60 pc=0x6425348380
os/exec.(*Cmd).closeDescriptors(0x4000127340, 0x40000f0c80, 0x3, 0x4)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:297 +0x58 fp=0x4000287dd0 sp=0x4000287d90 pc=0x642535a520
os/exec.(*Cmd).Start(0x4000127340, 0x64253e05a0, 0x40000f6538)
	/usr/local/Cellar/go/1.12/libexec/src/os/exec/exec.go:404 +0x3a0 fp=0x4000287f10 sp=0x4000287dd0 pc=0x642535a8e8
main.main.func1()
	/Users/leeleon/go/src/test_aos9/main.go:20 +0xe4 fp=0x4000287fd0 sp=0x4000287f10 pc=0x642535c4ac
runtime.goexit()
	/usr/local/Cellar/go/1.12/libexec/src/runtime/asm_arm64.s:1128 +0x4 fp=0x4000287fd0 sp=0x4000287fd0 pc=0x6425315e6c
created by main.main
	/Users/leeleon/go/src/test_aos9/main.go:15 +0x30

goroutine 1 [sleep]:
runtime.goparkunlock(...)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/proc.go:307
time.Sleep(0xbebc200)
	/usr/local/Cellar/go/1.12/libexec/src/runtime/time.go:105 +0x128
main.main()
	/Users/leeleon/go/src/test_aos9/main.go:33 +0xb4

r0      0x0
r1      0x6425360317
r2      0x17
r3      0x64252ed31c
r4      0x4000001200
r5      0x4000001200
r6      0x3f
r7      0x30
r8      0x40
r9      0x29
r10     0x5c7f40c2
r11     0x13bc22c6
r12     0x18
r13     0x5c7f40c2
r14     0x1321a63b0eae00
r15     0x9a7c8b145839
r16     0x40002377b8
r17     0x39
r18     0x1
r19     0x18
r20     0x75b44f6b40
r21     0x4000038a80
r22     0x75b6a2e040
r23     0x642535cd80
r24     0x75b45f2570
r25     0x75b44f5000
r26     0x0
r27     0x0
r28     0x4000001200
r29     0x75b44f6c18
lr      0x64253137bc
sp      0x75b44f6b60
pc      0x6425315e4c
fault   0x0
sometimes it will be stopped by different error.
@randall77

This comment has been minimized.

Copy link
Contributor

@randall77 randall77 commented Mar 6, 2019

Ok, so you are using GOOS=android, GOARCH=arm64.

it is running on Sony SO-01L not fine, except for another android phone.

Could you elaborate? Did you try it on multiple devices? What was the difference in behavior? What is the difference between the devices?

@yinjun622

This comment has been minimized.

Copy link
Author

@yinjun622 yinjun622 commented Mar 6, 2019

Could you elaborate? Did you try it on multiple devices? What was the difference in behavior? What is the difference between the devices?

  • sony SO-01L Linux localhost 4.9.112-perf+ #1 SMP PREEMPT Fri Dec 14 00:09:44 2018 aarch64
  • galaxy s7 edge Linux localhost 3.18.31-12668247 #1 SMP PREEMPT Mon Dec 11 16:58:39 KST 2017 aarch64

sony -> runs for a while and then throws an exception
galaxy -> Infinite loop without exception

if I delete the code of os/exec, both of them run infinite loop and no exception.

I think there is a problem at os/exec.

@andybons andybons added this to the Unplanned milestone Mar 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.