9fans

9fans

Fans of Plan 9

Member Since 7 years ago

Experience Points
0
follower
Lessons Completed
0
follow
Best Reply Awards
5
repos
Activity
Nov
18
1 week ago
pull request

rogpeppe pull request 9fans/go

rogpeppe
rogpeppe

cmd/acme/internal/fileload: fix completion logic

The string wasn't being appropriately truncated so we were seeing error messages like:

error attempting completion: open /home/rogpeppe/src/influx/openapi/contracts/\x00\x00....: invalid argument

Fix by using more natural Go idioms.

Nov
17
1 week ago
push

rsc push 9fans/go

rsc
rsc

cmd/acme: fix some biglock deadlocks

This should fix the three deadlocks between biglock and wind.TheRow.lk on #81.

For #81.

rsc
rsc

cmd/acme: fix ui deadlock

I don't quite understand why this loop sometimes runs forever. There may be another problem. But this should at least stop the deadlock, which wouldn't have happened in the C version either.

Fixes #81.

commit sha: 6faf3d85352eaf9174a0c19ce174115d8ad5f53d

push time in 1 week ago
Activity icon
issue

rsc issue 9fans/go

rsc
rsc

cmd/acme: deadlock

I encountered this deadlock. Recording the stack trace for posterity..

/home/rogpeppe/src/go/bin/acme: devel go1.18-8248152528 Thu Nov 4 20:43:07 2021 +0000
	path	9fans.net/go/cmd/acme
	mod	9fans.net/go	(devel)	
	build	compiler	gc
	build	tags	goexperiment.regabiwrappers,goexperiment.regabireflect,goexperiment.regabiargs,goexperiment.pacerredesign
	build	CGO_ENABLED	true
	build	CGO_CPPFLAGS	
	build	CGO_CFLAGS	
	build	CGO_CXXFLAGS	
	build	CGO_LDFLAGS	
	build	gitrevision	36f0d54cd5ceec2ae9064909ace236078b252458
	build	gitcommittime	2021-11-05T13:48:27Z
	build	gituncommitted	false
SIGQUIT: quit
PC=0x48ba08 m=0 sigcode=0

goroutine 847 [syscall, 3289 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x74717, 0xc000172e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5 fp=0xc000172dd8 sp=0xc000172dd0 pc=0x48b9e5
os.(*Process).blockUntilWaitable(0xc000324540)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c fp=0xc000172ec8 sp=0xc000172dd8 pc=0x4a33fc
os.(*Process).wait(0xc000324540)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28 fp=0xc000172f28 sp=0xc000172ec8 pc=0x49f448
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f62c0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54 fp=0xc000172fa0 sp=0xc000172f28 pc=0x4c0e14
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25 fp=0xc000172fe0 sp=0xc000172fa0 pc=0x562f25
runtime.goexit()
	/home/rogpeppe/go/src/runtime/asm_amd64.s:1579 +0x1 fp=0xc000172fe8 sp=0xc000172fe0 pc=0x462821
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1 [chan receive, 3936 minutes]:
main.main()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:222 +0xd58

goroutine 7 [chan receive, 3936 minutes]:
main.main.func5()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:116 +0x38
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:115 +0x6cf

goroutine 52 [chan send, 2 minutes]:
9fans.net/go/draw.mouseproc(0x0?, 0xc0000c0000, 0x4c0cca?, 0x0?)
	/home/rogpeppe/other/9fans/draw/mouse.go:63 +0x5c
created by 9fans.net/go/draw.(*Display).InitMouse
	/home/rogpeppe/other/9fans/draw/mouse.go:49 +0x12e

goroutine 53 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6ca8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a6120?, 0xc0006fd7d4?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a6120, {0xc0006fd7d4, 0x4, 0x4})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2020, {0xc0006fd7d4?, 0xc000150af0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0000a2020}, {0xc0006fd7d4, 0x4, 0x4}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/draw/drawfcall.ReadMsg({0x5ed740, 0xc0000a2020})
	/home/rogpeppe/other/9fans/draw/drawfcall/msg.go:232 +0x59
9fans.net/go/draw/drawfcall.(*Conn).RPC(0xc0001000a0, 0xc000150d28, 0xc000a3c6c0)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:93 +0x425
9fans.net/go/draw/drawfcall.(*Conn).ReadKbd(0x0?)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:156 +0x7c
9fans.net/go/draw.kbdproc(0xc0000c0000, 0x0?)
	/home/rogpeppe/other/9fans/draw/keyboard.go:43 +0x48
created by 9fans.net/go/draw.(*Display).InitKeyboard
	/home/rogpeppe/other/9fans/draw/keyboard.go:37 +0x8a

goroutine 54 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6908, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000190400?, 0xc0006c4a80?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000190400, {0xc0006c4a80, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000190400, {0xc0006c4a80?, 0x100c00012a9d8?, 0x7ff7385c33a0?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000a2088, {0xc0006c4a80?, 0xc00005db28?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000a2088}, {0xc0006c4a80, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000a2088})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0000a8000)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0000a8000, 0xc00005dca0, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).readAt(0xc0000af290, {0xc0003ae000, 0x1000, 0x8?}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:190 +0x19e
9fans.net/go/plan9/client.(*Fid).Read(0x3?, {0xc0003ae000?, 0xc00005de30?, 0x436da0?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:155 +0x25
bufio.(*Reader).fill(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadByte(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:262 +0x2c
9fans.net/go/plumb.(*reader).readLine(0xc00005def0)
	/home/rogpeppe/other/9fans/plumb/plumb.go:144 +0x56
9fans.net/go/plumb.(*Message).Recv(0xc000aa55c0, {0x5ed4e0, 0xc0000d2300})
	/home/rogpeppe/other/9fans/plumb/plumb.go:109 +0x98
main.plumbthread()
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:68 +0x36c
created by main.startplumbing
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:93 +0x25

goroutine 55 [IO wait]:
internal/poll.runtime_pollWait(0x7ff738ea6bc0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a69c0?, 0xc000458000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a69c0, {0xc000458000, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0001280a8, {0xc000458000?, 0xc00014cca0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0001280a8}, {0xc000458000, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed740, 0xc0001280a8})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
main.fsysproc()
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:136 +0x7c
created by main.fsysinit
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:126 +0x39c

goroutine 39 [IO wait, 3936 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6e78, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000d2180?, 0xc0001abfb8?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000d2180, {0xc0001abfb8, 0x2000, 0x2000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010010, {0xc0001abfb8?, 0x0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
main.acmeerrorproc()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:318 +0xaf
created by main.acmeerrorinit
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:335 +0x9e

goroutine 40 [select, 2 minutes]:
main.keyboardthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:366 +0x132
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:215 +0xcf1

goroutine 41 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0x0?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidlog(0xc00086e100, {0x5b100e, 0x5})
	/home/rogpeppe/other/9fans/cmd/acme/logf.go:146 +0xfb
main.mousethread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:463 +0x50c
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:216 +0xcfd

goroutine 42 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc000182fe8?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x6e6a60)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.waitthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:644 +0x5f1
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:217 +0xd09

goroutine 43 [select]:
main.xfidallocthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:710 +0x79
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:218 +0xd15

goroutine 44 [chan receive, 4 minutes]:
main.newwindowthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:735 +0x45
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:219 +0xd25

goroutine 66 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001067c8?, 0xa0?, 0xc000b8df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000013400)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 10 [chan receive, 3284 minutes]:
main.xfideventread(0xc0003ba0c0, 0xc000373600)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 916 [IO wait, 3289 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6568, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000077e00?, 0xc0003cc000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000077e00, {0xc0003cc000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2090, {0xc0003cc000?, 0xc000358360?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358360}, {0x5ed740, 0xc0000a2090}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 8 [chan receive, 2 minutes]:
main.xfideventread(0xc0001462c0, 0xc00098c000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2670 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea5ff8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00055bc00?, 0xc000458900?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00055bc00, {0xc000458900, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00055bc00, {0xc000458900?, 0x100c0003c4c80?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000128288, {0xc000458900?, 0xc0003c4d00?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc000128288}, {0xc000458900, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc000128288})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc000153ea0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc000153ea0, 0xc0003c4e48, 0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).Close(0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:46 +0x95
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1144 +0x65
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 82 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001834c8?, 0xa0?, 0xc00045df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000146700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 14 [chan receive, 143 minutes]:
main.xfideventread(0xc000146000, 0xc000387080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 793 [syscall, 3459 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x6fb6c, 0xc000638628, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00072e060)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00072e060)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6000)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 115 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6480, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000195000?, 0xc000458a00?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000195000, {0xc000458a00, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000195000, {0xc000458a00?, 0x100c0003c6b48?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000100c0, {0xc000458a00?, 0xc0003c6bc8?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000100c0}, {0xc000458a00, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000100c0})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0003bc2a0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0003bc2a0, 0xc0003c6d38, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).writeAt(0xc000114b70, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:367 +0x188
9fans.net/go/plan9/client.(*Fid).WriteAt(0x3d?, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:342 +0xf8
9fans.net/go/plan9/client.(*Fid).Write(0xc0000100f0?, {0xc00044c000?, 0xc000114b70?, 0x4c0e14?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:325 +0x25
io.copyBuffer({0x5ed4c0, 0xc000114b70}, {0x5ed740, 0xc0000100f0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:428 +0x204
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2667 [syscall, 9 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd17aa, 0xc000173e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0006203c0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0006203c0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6160)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2666 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c86d8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0008b90e0?, 0xc00042e000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0008b90e0, {0xc00042e000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe040, {0xc00042e000?, 0xc0000ae540?, 0xc000566ad8?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000ae540}, {0x5ed740, 0xc0000fe040}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 119 [chan receive, 4 minutes]:
main.xfideventread(0xc000012080, 0xc000f53b80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 806 [IO wait, 3459 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea60e0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00048f4a0?, 0xc0004f4000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00048f4a0, {0xc0004f4000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010070, {0xc0004f4000?, 0xc000114900?, 0xc0000be418?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000114900}, {0x5ed740, 0xc000010070}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 612 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001194c8?, 0xa0?, 0xc000461f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000776180)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 456 [chan receive, 553 minutes]:
main.xfidctl(0xc0000acd80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1602 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001199a8?, 0xa0?, 0xc0000f7f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000777800)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1955 [syscall, 1759 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x9ec65, 0xc000634e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f69a0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2529 [IO wait, 270 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c87c0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000a0e240?, 0xc00034c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000a0e240, {0xc00034c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe030, {0xc00034c000?, 0xc000358720?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358720}, {0x5ed740, 0xc0000fe030}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 1937 [IO wait, 1759 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6738, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0004aa000?, 0xc000a2c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0004aa000, {0xc000a2c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe1d0, {0xc000a2c000?, 0xc000a2a1e0?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000a2a1e0}, {0x5ed740, 0xc0000fe1d0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2669 [IO wait, 4 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c8168, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000aa59e0?, 0xc000980000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000aa59e0, {0xc000980000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000101f8, {0xc000980000?, 0xc0000af2f0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000af2f0}, {0x5ed740, 0xc0000101f8}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2562 [syscall, 270 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xc8a71, 0xc000517e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00080c090)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00080c090)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6420)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1936 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0006bf808?, 0xa0?, 0xc000b23f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc00012c680)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2693 [syscall, 4 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd1a46, 0xc000637e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0008eb260)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0008eb260)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f66e0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2314 [chan receive, 30 minutes]:
main.xfideventread(0xc0000ac700, 0xc0006b4580)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

rax    0xf7
rbx    0xc00002c000
rcx    0x48ba0a
rdx    0xc000172e28
rdi    0x1
rsi    0x74717
rbp    0xc000172eb8
rsp    0xc000172dd0
r8     0x0
r9     0x0
r10    0x1000004
r11    0x202
r12    0xc000172e58
r13    0x30
r14    0xc000107a00
r15    0x7ff73b03ea61
rip    0x48ba08
rflags 0x202
cs     0x33
fs     0x0
gs     0x0
Activity icon
issue

rsc issue comment 9fans/go

rsc
rsc

cmd/acme: deadlock

I encountered this deadlock. Recording the stack trace for posterity..

/home/rogpeppe/src/go/bin/acme: devel go1.18-8248152528 Thu Nov 4 20:43:07 2021 +0000
	path	9fans.net/go/cmd/acme
	mod	9fans.net/go	(devel)	
	build	compiler	gc
	build	tags	goexperiment.regabiwrappers,goexperiment.regabireflect,goexperiment.regabiargs,goexperiment.pacerredesign
	build	CGO_ENABLED	true
	build	CGO_CPPFLAGS	
	build	CGO_CFLAGS	
	build	CGO_CXXFLAGS	
	build	CGO_LDFLAGS	
	build	gitrevision	36f0d54cd5ceec2ae9064909ace236078b252458
	build	gitcommittime	2021-11-05T13:48:27Z
	build	gituncommitted	false
SIGQUIT: quit
PC=0x48ba08 m=0 sigcode=0

goroutine 847 [syscall, 3289 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x74717, 0xc000172e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5 fp=0xc000172dd8 sp=0xc000172dd0 pc=0x48b9e5
os.(*Process).blockUntilWaitable(0xc000324540)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c fp=0xc000172ec8 sp=0xc000172dd8 pc=0x4a33fc
os.(*Process).wait(0xc000324540)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28 fp=0xc000172f28 sp=0xc000172ec8 pc=0x49f448
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f62c0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54 fp=0xc000172fa0 sp=0xc000172f28 pc=0x4c0e14
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25 fp=0xc000172fe0 sp=0xc000172fa0 pc=0x562f25
runtime.goexit()
	/home/rogpeppe/go/src/runtime/asm_amd64.s:1579 +0x1 fp=0xc000172fe8 sp=0xc000172fe0 pc=0x462821
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1 [chan receive, 3936 minutes]:
main.main()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:222 +0xd58

goroutine 7 [chan receive, 3936 minutes]:
main.main.func5()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:116 +0x38
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:115 +0x6cf

goroutine 52 [chan send, 2 minutes]:
9fans.net/go/draw.mouseproc(0x0?, 0xc0000c0000, 0x4c0cca?, 0x0?)
	/home/rogpeppe/other/9fans/draw/mouse.go:63 +0x5c
created by 9fans.net/go/draw.(*Display).InitMouse
	/home/rogpeppe/other/9fans/draw/mouse.go:49 +0x12e

goroutine 53 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6ca8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a6120?, 0xc0006fd7d4?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a6120, {0xc0006fd7d4, 0x4, 0x4})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2020, {0xc0006fd7d4?, 0xc000150af0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0000a2020}, {0xc0006fd7d4, 0x4, 0x4}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/draw/drawfcall.ReadMsg({0x5ed740, 0xc0000a2020})
	/home/rogpeppe/other/9fans/draw/drawfcall/msg.go:232 +0x59
9fans.net/go/draw/drawfcall.(*Conn).RPC(0xc0001000a0, 0xc000150d28, 0xc000a3c6c0)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:93 +0x425
9fans.net/go/draw/drawfcall.(*Conn).ReadKbd(0x0?)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:156 +0x7c
9fans.net/go/draw.kbdproc(0xc0000c0000, 0x0?)
	/home/rogpeppe/other/9fans/draw/keyboard.go:43 +0x48
created by 9fans.net/go/draw.(*Display).InitKeyboard
	/home/rogpeppe/other/9fans/draw/keyboard.go:37 +0x8a

goroutine 54 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6908, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000190400?, 0xc0006c4a80?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000190400, {0xc0006c4a80, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000190400, {0xc0006c4a80?, 0x100c00012a9d8?, 0x7ff7385c33a0?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000a2088, {0xc0006c4a80?, 0xc00005db28?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000a2088}, {0xc0006c4a80, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000a2088})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0000a8000)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0000a8000, 0xc00005dca0, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).readAt(0xc0000af290, {0xc0003ae000, 0x1000, 0x8?}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:190 +0x19e
9fans.net/go/plan9/client.(*Fid).Read(0x3?, {0xc0003ae000?, 0xc00005de30?, 0x436da0?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:155 +0x25
bufio.(*Reader).fill(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadByte(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:262 +0x2c
9fans.net/go/plumb.(*reader).readLine(0xc00005def0)
	/home/rogpeppe/other/9fans/plumb/plumb.go:144 +0x56
9fans.net/go/plumb.(*Message).Recv(0xc000aa55c0, {0x5ed4e0, 0xc0000d2300})
	/home/rogpeppe/other/9fans/plumb/plumb.go:109 +0x98
main.plumbthread()
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:68 +0x36c
created by main.startplumbing
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:93 +0x25

goroutine 55 [IO wait]:
internal/poll.runtime_pollWait(0x7ff738ea6bc0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a69c0?, 0xc000458000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a69c0, {0xc000458000, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0001280a8, {0xc000458000?, 0xc00014cca0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0001280a8}, {0xc000458000, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed740, 0xc0001280a8})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
main.fsysproc()
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:136 +0x7c
created by main.fsysinit
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:126 +0x39c

goroutine 39 [IO wait, 3936 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6e78, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000d2180?, 0xc0001abfb8?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000d2180, {0xc0001abfb8, 0x2000, 0x2000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010010, {0xc0001abfb8?, 0x0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
main.acmeerrorproc()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:318 +0xaf
created by main.acmeerrorinit
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:335 +0x9e

goroutine 40 [select, 2 minutes]:
main.keyboardthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:366 +0x132
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:215 +0xcf1

goroutine 41 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0x0?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidlog(0xc00086e100, {0x5b100e, 0x5})
	/home/rogpeppe/other/9fans/cmd/acme/logf.go:146 +0xfb
main.mousethread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:463 +0x50c
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:216 +0xcfd

goroutine 42 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc000182fe8?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x6e6a60)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.waitthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:644 +0x5f1
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:217 +0xd09

goroutine 43 [select]:
main.xfidallocthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:710 +0x79
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:218 +0xd15

goroutine 44 [chan receive, 4 minutes]:
main.newwindowthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:735 +0x45
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:219 +0xd25

goroutine 66 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001067c8?, 0xa0?, 0xc000b8df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000013400)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 10 [chan receive, 3284 minutes]:
main.xfideventread(0xc0003ba0c0, 0xc000373600)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 916 [IO wait, 3289 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6568, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000077e00?, 0xc0003cc000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000077e00, {0xc0003cc000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2090, {0xc0003cc000?, 0xc000358360?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358360}, {0x5ed740, 0xc0000a2090}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 8 [chan receive, 2 minutes]:
main.xfideventread(0xc0001462c0, 0xc00098c000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2670 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea5ff8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00055bc00?, 0xc000458900?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00055bc00, {0xc000458900, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00055bc00, {0xc000458900?, 0x100c0003c4c80?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000128288, {0xc000458900?, 0xc0003c4d00?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc000128288}, {0xc000458900, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc000128288})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc000153ea0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc000153ea0, 0xc0003c4e48, 0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).Close(0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:46 +0x95
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1144 +0x65
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 82 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001834c8?, 0xa0?, 0xc00045df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000146700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 14 [chan receive, 143 minutes]:
main.xfideventread(0xc000146000, 0xc000387080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 793 [syscall, 3459 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x6fb6c, 0xc000638628, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00072e060)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00072e060)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6000)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 115 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6480, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000195000?, 0xc000458a00?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000195000, {0xc000458a00, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000195000, {0xc000458a00?, 0x100c0003c6b48?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000100c0, {0xc000458a00?, 0xc0003c6bc8?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000100c0}, {0xc000458a00, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000100c0})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0003bc2a0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0003bc2a0, 0xc0003c6d38, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).writeAt(0xc000114b70, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:367 +0x188
9fans.net/go/plan9/client.(*Fid).WriteAt(0x3d?, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:342 +0xf8
9fans.net/go/plan9/client.(*Fid).Write(0xc0000100f0?, {0xc00044c000?, 0xc000114b70?, 0x4c0e14?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:325 +0x25
io.copyBuffer({0x5ed4c0, 0xc000114b70}, {0x5ed740, 0xc0000100f0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:428 +0x204
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2667 [syscall, 9 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd17aa, 0xc000173e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0006203c0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0006203c0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6160)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2666 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c86d8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0008b90e0?, 0xc00042e000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0008b90e0, {0xc00042e000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe040, {0xc00042e000?, 0xc0000ae540?, 0xc000566ad8?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000ae540}, {0x5ed740, 0xc0000fe040}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 119 [chan receive, 4 minutes]:
main.xfideventread(0xc000012080, 0xc000f53b80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 806 [IO wait, 3459 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea60e0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00048f4a0?, 0xc0004f4000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00048f4a0, {0xc0004f4000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010070, {0xc0004f4000?, 0xc000114900?, 0xc0000be418?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000114900}, {0x5ed740, 0xc000010070}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 612 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001194c8?, 0xa0?, 0xc000461f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000776180)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 456 [chan receive, 553 minutes]:
main.xfidctl(0xc0000acd80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1602 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001199a8?, 0xa0?, 0xc0000f7f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000777800)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1955 [syscall, 1759 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x9ec65, 0xc000634e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f69a0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2529 [IO wait, 270 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c87c0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000a0e240?, 0xc00034c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000a0e240, {0xc00034c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe030, {0xc00034c000?, 0xc000358720?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358720}, {0x5ed740, 0xc0000fe030}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 1937 [IO wait, 1759 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6738, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0004aa000?, 0xc000a2c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0004aa000, {0xc000a2c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe1d0, {0xc000a2c000?, 0xc000a2a1e0?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000a2a1e0}, {0x5ed740, 0xc0000fe1d0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2669 [IO wait, 4 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c8168, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000aa59e0?, 0xc000980000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000aa59e0, {0xc000980000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000101f8, {0xc000980000?, 0xc0000af2f0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000af2f0}, {0x5ed740, 0xc0000101f8}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2562 [syscall, 270 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xc8a71, 0xc000517e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00080c090)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00080c090)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6420)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1936 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0006bf808?, 0xa0?, 0xc000b23f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc00012c680)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2693 [syscall, 4 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd1a46, 0xc000637e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0008eb260)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0008eb260)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f66e0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2314 [chan receive, 30 minutes]:
main.xfideventread(0xc0000ac700, 0xc0006b4580)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

rax    0xf7
rbx    0xc00002c000
rcx    0x48ba0a
rdx    0xc000172e28
rdi    0x1
rsi    0x74717
rbp    0xc000172eb8
rsp    0xc000172dd0
r8     0x0
r9     0x0
r10    0x1000004
r11    0x202
r12    0xc000172e58
r13    0x30
r14    0xc000107a00
r15    0x7ff73b03ea61
rip    0x48ba08
rflags 0x202
cs     0x33
fs     0x0
gs     0x0
rsc
rsc

You posted 5 traces. The first, second, and fifth seem to be an inversion between the big lock and wind.TheRow.Lk:

https://github.com/9fans/go/issues/81#issue-1053883906:

  • goroutine 41 is in xfidlog holding wind.TheRow.Lk.Lock and blocked on the big lock.
  • goroutine 42 is in waitthread holding the big lock and blocked on wind.TheRow.Lk.Lock().

https://github.com/9fans/go/issues/81#issuecomment-970126028:

  • goroutine 22 is in xfidlog holding wind.TheRow.Lk.Lock and blocked on the big lock.
  • goroutine 23 is in waitthread holding the big lock and blocked on wind.TheRow.Lk.Lock.

https://github.com/9fans/go/issues/81#issuecomment-971463929

  • goroutine 54 in xfidlog reacquiring bigLock after acquiring eventlog.lk, holding wind.TheRow.Lk.
  • goroutine 55 is in waitthread holding the big lock and blocked on wind.TheRow.Lk.Lock.
  • goroutine 36 is in xfidctl holding nothing and blocked on the big lock.
  • goroutine 29 is in xfidctl holding nothing and blocked on the big lock.
  • goroutine 70 is in xfidctl holding nothing and blocked on the big lock.

The third and fourth are less obvious.

https://github.com/9fans/go/issues/81#issuecomment-970204809:

  • goroutine 22 is in keyboardthread blocked on the big lock and should not be holding any locks
  • goroutine 23 is in Mousectl.Read in Textselect which is holding the big lock. Letting go of the mouse button (or clicking it) should release the lock.
  • goroutine 252 is in xfidctl calling xfidread calling xfidlogread. It released the big lock. It was holding eventlog.lk but should have released that during eventlog.r.Wait. So it should not be holding any locks.
  • goroutine 263 is in xfidctl calling xfidread, blocked on the big lock, which it released before a channel receive.

https://github.com/9fans/go/issues/81#issuecomment-971455645

  • goroutine 24 is in Mousectl.Read in Textselect, holding the big lock. Letting go of the mouse button (or clicking it) should release the lock.
  • goroutine 380 is in xfidctl calling xfidread calling xfidlogread. It released the big lock. It was holding eventlog.lk but should have released that during eventlog.r.Wait. So it should not be holding any locks.
  • goroutine 3514 is in xfideventread blocked on the big lock for 2 minutes.

The C version of acme would have dropped the big lock during Mousectl.Read (meaning it would allow other tasks to run), which would avoid the deadlock. I don't understand why that loop is not terminating promptly. Perhaps something else is wrong. But we can at least safely drop the big lock around Mousectl.Read.

I will push commits for both of these shortly. Thanks for gathering traces.

Activity icon
issue

rogpeppe issue comment 9fans/go

rogpeppe
rogpeppe

cmd/acme: deadlock

I encountered this deadlock. Recording the stack trace for posterity..

/home/rogpeppe/src/go/bin/acme: devel go1.18-8248152528 Thu Nov 4 20:43:07 2021 +0000
	path	9fans.net/go/cmd/acme
	mod	9fans.net/go	(devel)	
	build	compiler	gc
	build	tags	goexperiment.regabiwrappers,goexperiment.regabireflect,goexperiment.regabiargs,goexperiment.pacerredesign
	build	CGO_ENABLED	true
	build	CGO_CPPFLAGS	
	build	CGO_CFLAGS	
	build	CGO_CXXFLAGS	
	build	CGO_LDFLAGS	
	build	gitrevision	36f0d54cd5ceec2ae9064909ace236078b252458
	build	gitcommittime	2021-11-05T13:48:27Z
	build	gituncommitted	false
SIGQUIT: quit
PC=0x48ba08 m=0 sigcode=0

goroutine 847 [syscall, 3289 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x74717, 0xc000172e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5 fp=0xc000172dd8 sp=0xc000172dd0 pc=0x48b9e5
os.(*Process).blockUntilWaitable(0xc000324540)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c fp=0xc000172ec8 sp=0xc000172dd8 pc=0x4a33fc
os.(*Process).wait(0xc000324540)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28 fp=0xc000172f28 sp=0xc000172ec8 pc=0x49f448
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f62c0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54 fp=0xc000172fa0 sp=0xc000172f28 pc=0x4c0e14
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25 fp=0xc000172fe0 sp=0xc000172fa0 pc=0x562f25
runtime.goexit()
	/home/rogpeppe/go/src/runtime/asm_amd64.s:1579 +0x1 fp=0xc000172fe8 sp=0xc000172fe0 pc=0x462821
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1 [chan receive, 3936 minutes]:
main.main()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:222 +0xd58

goroutine 7 [chan receive, 3936 minutes]:
main.main.func5()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:116 +0x38
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:115 +0x6cf

goroutine 52 [chan send, 2 minutes]:
9fans.net/go/draw.mouseproc(0x0?, 0xc0000c0000, 0x4c0cca?, 0x0?)
	/home/rogpeppe/other/9fans/draw/mouse.go:63 +0x5c
created by 9fans.net/go/draw.(*Display).InitMouse
	/home/rogpeppe/other/9fans/draw/mouse.go:49 +0x12e

goroutine 53 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6ca8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a6120?, 0xc0006fd7d4?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a6120, {0xc0006fd7d4, 0x4, 0x4})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2020, {0xc0006fd7d4?, 0xc000150af0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0000a2020}, {0xc0006fd7d4, 0x4, 0x4}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/draw/drawfcall.ReadMsg({0x5ed740, 0xc0000a2020})
	/home/rogpeppe/other/9fans/draw/drawfcall/msg.go:232 +0x59
9fans.net/go/draw/drawfcall.(*Conn).RPC(0xc0001000a0, 0xc000150d28, 0xc000a3c6c0)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:93 +0x425
9fans.net/go/draw/drawfcall.(*Conn).ReadKbd(0x0?)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:156 +0x7c
9fans.net/go/draw.kbdproc(0xc0000c0000, 0x0?)
	/home/rogpeppe/other/9fans/draw/keyboard.go:43 +0x48
created by 9fans.net/go/draw.(*Display).InitKeyboard
	/home/rogpeppe/other/9fans/draw/keyboard.go:37 +0x8a

goroutine 54 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6908, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000190400?, 0xc0006c4a80?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000190400, {0xc0006c4a80, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000190400, {0xc0006c4a80?, 0x100c00012a9d8?, 0x7ff7385c33a0?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000a2088, {0xc0006c4a80?, 0xc00005db28?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000a2088}, {0xc0006c4a80, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000a2088})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0000a8000)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0000a8000, 0xc00005dca0, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).readAt(0xc0000af290, {0xc0003ae000, 0x1000, 0x8?}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:190 +0x19e
9fans.net/go/plan9/client.(*Fid).Read(0x3?, {0xc0003ae000?, 0xc00005de30?, 0x436da0?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:155 +0x25
bufio.(*Reader).fill(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadByte(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:262 +0x2c
9fans.net/go/plumb.(*reader).readLine(0xc00005def0)
	/home/rogpeppe/other/9fans/plumb/plumb.go:144 +0x56
9fans.net/go/plumb.(*Message).Recv(0xc000aa55c0, {0x5ed4e0, 0xc0000d2300})
	/home/rogpeppe/other/9fans/plumb/plumb.go:109 +0x98
main.plumbthread()
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:68 +0x36c
created by main.startplumbing
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:93 +0x25

goroutine 55 [IO wait]:
internal/poll.runtime_pollWait(0x7ff738ea6bc0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a69c0?, 0xc000458000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a69c0, {0xc000458000, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0001280a8, {0xc000458000?, 0xc00014cca0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0001280a8}, {0xc000458000, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed740, 0xc0001280a8})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
main.fsysproc()
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:136 +0x7c
created by main.fsysinit
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:126 +0x39c

goroutine 39 [IO wait, 3936 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6e78, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000d2180?, 0xc0001abfb8?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000d2180, {0xc0001abfb8, 0x2000, 0x2000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010010, {0xc0001abfb8?, 0x0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
main.acmeerrorproc()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:318 +0xaf
created by main.acmeerrorinit
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:335 +0x9e

goroutine 40 [select, 2 minutes]:
main.keyboardthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:366 +0x132
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:215 +0xcf1

goroutine 41 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0x0?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidlog(0xc00086e100, {0x5b100e, 0x5})
	/home/rogpeppe/other/9fans/cmd/acme/logf.go:146 +0xfb
main.mousethread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:463 +0x50c
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:216 +0xcfd

goroutine 42 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc000182fe8?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x6e6a60)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.waitthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:644 +0x5f1
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:217 +0xd09

goroutine 43 [select]:
main.xfidallocthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:710 +0x79
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:218 +0xd15

goroutine 44 [chan receive, 4 minutes]:
main.newwindowthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:735 +0x45
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:219 +0xd25

goroutine 66 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001067c8?, 0xa0?, 0xc000b8df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000013400)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 10 [chan receive, 3284 minutes]:
main.xfideventread(0xc0003ba0c0, 0xc000373600)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 916 [IO wait, 3289 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6568, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000077e00?, 0xc0003cc000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000077e00, {0xc0003cc000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2090, {0xc0003cc000?, 0xc000358360?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358360}, {0x5ed740, 0xc0000a2090}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 8 [chan receive, 2 minutes]:
main.xfideventread(0xc0001462c0, 0xc00098c000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2670 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea5ff8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00055bc00?, 0xc000458900?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00055bc00, {0xc000458900, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00055bc00, {0xc000458900?, 0x100c0003c4c80?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000128288, {0xc000458900?, 0xc0003c4d00?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc000128288}, {0xc000458900, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc000128288})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc000153ea0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc000153ea0, 0xc0003c4e48, 0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).Close(0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:46 +0x95
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1144 +0x65
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 82 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001834c8?, 0xa0?, 0xc00045df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000146700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 14 [chan receive, 143 minutes]:
main.xfideventread(0xc000146000, 0xc000387080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 793 [syscall, 3459 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x6fb6c, 0xc000638628, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00072e060)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00072e060)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6000)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 115 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6480, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000195000?, 0xc000458a00?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000195000, {0xc000458a00, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000195000, {0xc000458a00?, 0x100c0003c6b48?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000100c0, {0xc000458a00?, 0xc0003c6bc8?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000100c0}, {0xc000458a00, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000100c0})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0003bc2a0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0003bc2a0, 0xc0003c6d38, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).writeAt(0xc000114b70, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:367 +0x188
9fans.net/go/plan9/client.(*Fid).WriteAt(0x3d?, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:342 +0xf8
9fans.net/go/plan9/client.(*Fid).Write(0xc0000100f0?, {0xc00044c000?, 0xc000114b70?, 0x4c0e14?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:325 +0x25
io.copyBuffer({0x5ed4c0, 0xc000114b70}, {0x5ed740, 0xc0000100f0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:428 +0x204
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2667 [syscall, 9 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd17aa, 0xc000173e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0006203c0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0006203c0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6160)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2666 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c86d8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0008b90e0?, 0xc00042e000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0008b90e0, {0xc00042e000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe040, {0xc00042e000?, 0xc0000ae540?, 0xc000566ad8?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000ae540}, {0x5ed740, 0xc0000fe040}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 119 [chan receive, 4 minutes]:
main.xfideventread(0xc000012080, 0xc000f53b80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 806 [IO wait, 3459 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea60e0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00048f4a0?, 0xc0004f4000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00048f4a0, {0xc0004f4000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010070, {0xc0004f4000?, 0xc000114900?, 0xc0000be418?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000114900}, {0x5ed740, 0xc000010070}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 612 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001194c8?, 0xa0?, 0xc000461f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000776180)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 456 [chan receive, 553 minutes]:
main.xfidctl(0xc0000acd80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1602 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001199a8?, 0xa0?, 0xc0000f7f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000777800)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1955 [syscall, 1759 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x9ec65, 0xc000634e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f69a0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2529 [IO wait, 270 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c87c0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000a0e240?, 0xc00034c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000a0e240, {0xc00034c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe030, {0xc00034c000?, 0xc000358720?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358720}, {0x5ed740, 0xc0000fe030}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 1937 [IO wait, 1759 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6738, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0004aa000?, 0xc000a2c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0004aa000, {0xc000a2c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe1d0, {0xc000a2c000?, 0xc000a2a1e0?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000a2a1e0}, {0x5ed740, 0xc0000fe1d0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2669 [IO wait, 4 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c8168, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000aa59e0?, 0xc000980000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000aa59e0, {0xc000980000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000101f8, {0xc000980000?, 0xc0000af2f0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000af2f0}, {0x5ed740, 0xc0000101f8}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2562 [syscall, 270 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xc8a71, 0xc000517e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00080c090)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00080c090)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6420)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1936 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0006bf808?, 0xa0?, 0xc000b23f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc00012c680)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2693 [syscall, 4 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd1a46, 0xc000637e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0008eb260)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0008eb260)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f66e0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2314 [chan receive, 30 minutes]:
main.xfideventread(0xc0000ac700, 0xc0006b4580)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

rax    0xf7
rbx    0xc00002c000
rcx    0x48ba0a
rdx    0xc000172e28
rdi    0x1
rsi    0x74717
rbp    0xc000172eb8
rsp    0xc000172dd0
r8     0x0
r9     0x0
r10    0x1000004
r11    0x202
r12    0xc000172e58
r13    0x30
r14    0xc000107a00
r15    0x7ff73b03ea61
rip    0x48ba08
rflags 0x202
cs     0x33
fs     0x0
gs     0x0
rogpeppe
rogpeppe

This one is perhaps useful because it deadlocks quite quickly, and there were no win windows there to clutter things up:

proc 0 
	thread 1 Running:  
proc 7fa8f8670700 
	thread 2 Running:  
SIGQUIT: quit
PC=0x4649c1 m=0 sigcode=128

goroutine 0 [idle]:
runtime.futex()
	/home/rogpeppe/go/src/runtime/sys_linux_amd64.s:552 +0x21
runtime.futexsleep(0xc00002e000?, 0x0?, 0x0?)
	/home/rogpeppe/go/src/runtime/os_linux.go:56 +0x36
runtime.notesleep(0x6e8230)
	/home/rogpeppe/go/src/runtime/lock_futex.go:159 +0x87
runtime.mPark()
	/home/rogpeppe/go/src/runtime/proc.go:1432 +0x2a
runtime.stopm()
	/home/rogpeppe/go/src/runtime/proc.go:2402 +0x78
runtime.findrunnable()
	/home/rogpeppe/go/src/runtime/proc.go:2978 +0x865
runtime.schedule()
	/home/rogpeppe/go/src/runtime/proc.go:3361 +0x239
runtime.park_m(0xc000281860?)
	/home/rogpeppe/go/src/runtime/proc.go:3510 +0x14d
runtime.mcall()
	/home/rogpeppe/go/src/runtime/asm_amd64.s:433 +0x43

goroutine 1 [chan receive, 9 minutes]:
main.main()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:222 +0xd58

goroutine 12 [chan send]:
9fans.net/go/draw.mouseproc(0x0?, 0xc000140000, 0x0?, 0x0?)
	/home/rogpeppe/other/9fans/draw/mouse.go:63 +0x5c
created by 9fans.net/go/draw.(*Display).InitMouse
	/home/rogpeppe/other/9fans/draw/mouse.go:49 +0x12e

goroutine 50 [chan receive, 9 minutes]:
main.main.func5()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:116 +0x38
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:115 +0x6cf

goroutine 13 [IO wait]:
internal/poll.runtime_pollWait(0x7ff3ac0dbda8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000078300?, 0xc000464110?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000078300, {0xc000464110, 0x4, 0x4})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000100d0, {0xc000464110?, 0xc0000b0af0?, 0x44a972?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5edbe0, 0xc0000100d0}, {0xc000464110, 0x4, 0x4}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/draw/drawfcall.ReadMsg({0x5edbe0, 0xc0000100d0})
	/home/rogpeppe/other/9fans/draw/drawfcall/msg.go:232 +0x59
9fans.net/go/draw/drawfcall.(*Conn).RPC(0xc00007a0a0, 0xc0000b0d28, 0xc000419680)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:93 +0x425
9fans.net/go/draw/drawfcall.(*Conn).ReadKbd(0x0?)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:156 +0x7c
9fans.net/go/draw.kbdproc(0xc000140000, 0x0?)
	/home/rogpeppe/other/9fans/draw/keyboard.go:43 +0x48
created by 9fans.net/go/draw.(*Display).InitKeyboard
	/home/rogpeppe/other/9fans/draw/keyboard.go:37 +0x8a

goroutine 14 [IO wait]:
internal/poll.runtime_pollWait(0x7ff3ac0dba08, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00028e080?, 0xc00033c780?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00028e080, {0xc00033c780, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00028e080, {0xc00033c780?, 0x100c0000acaa8?, 0x7ff3ac094558?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000290000, {0xc00033c780?, 0xc0000acb28?, 0x44a972?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5edb80, 0xc000290000}, {0xc00033c780, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5edb80, 0xc000290000})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc000122000)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:211 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc000122000, 0xc0000acca0, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:271 +0x2b8
9fans.net/go/plan9/client.(*Fid).readAt(0xc0002920c0, {0xc000315000, 0x1000, 0x8?}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:190 +0x19e
9fans.net/go/plan9/client.(*Fid).Read(0x3?, {0xc000315000?, 0xc0000ace70?, 0x48327a?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:155 +0x25
bufio.(*Reader).fill(0xc0000b62a0)
	/home/rogpeppe/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadByte(0xc0000b62a0)
	/home/rogpeppe/go/src/bufio/bufio.go:262 +0x2c
9fans.net/go/plumb.(*reader).readLine(0xc0000acef0)
	/home/rogpeppe/other/9fans/plumb/plumb.go:144 +0x56
9fans.net/go/plumb.(*Message).Recv(0xc0002af2c0, {0x5ed980, 0xc0000b62a0})
	/home/rogpeppe/other/9fans/plumb/plumb.go:109 +0x98
main.plumbthread()
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:68 +0x36c
created by main.startplumbing
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:93 +0x25

goroutine 15 [IO wait]:
internal/poll.runtime_pollWait(0x7ff3ac0dbcc0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000790e0?, 0xc0003a0a80?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000790e0, {0xc0003a0a80, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010108, {0xc0003a0a80?, 0xc0000adca0?, 0x44a972?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5edbe0, 0xc000010108}, {0xc0003a0a80, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5edbe0, 0xc000010108})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
main.fsysproc()
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:136 +0x7c
created by main.fsysinit
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:126 +0x39c

goroutine 67 [chan receive]:
main.xfidctl(0xc0002ee8c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 52 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7ff3ac0db920, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00029c000?, 0xc0000c7fb8?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00029c000, {0xc0000c7fb8, 0x2000, 0x2000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000320018, {0xc0000c7fb8?, 0x0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
main.acmeerrorproc()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:318 +0xaf
created by main.acmeerrorinit
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:335 +0x9e

goroutine 53 [select]:
main.keyboardthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:366 +0x132
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:215 +0xcf1

goroutine 54 [semacquire]:
sync.runtime_SemacquireMutex(0xc00049adf8?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72b768)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidlog(0xc0003b9600, {0x5b11ce, 0x5})
	/home/rogpeppe/other/9fans/cmd/acme/logf.go:146 +0xfb
main.mousethread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:463 +0x50c
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:216 +0xcfd

goroutine 55 [semacquire]:
sync.runtime_SemacquireMutex(0xc000280e48?, 0x0?, 0x0?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x6e7aa0)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.waitthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:644 +0x5f1
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:217 +0xd09

goroutine 56 [select]:
main.xfidallocthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:710 +0x79
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:218 +0xd15

goroutine 57 [chan receive, 9 minutes]:
main.newwindowthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:735 +0x45
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:219 +0xd25

goroutine 36 [semacquire]:
sync.runtime_SemacquireMutex(0xc00008ae48?, 0x80?, 0xc0000d9f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72b768)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000326180)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 117 [IO wait]:
internal/poll.runtime_pollWait(0x7ff3ac0db750, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00028e980?, 0xc0003a0980?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00028e980, {0xc0003a0980, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00028e980, {0xc0003a0980?, 0x100c00005dc80?, 0x7ff3ac096e40?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000290120, {0xc0003a0980?, 0xc00005dd00?, 0x44a972?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5edb80, 0xc000290120}, {0xc0003a0980, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5edb80, 0xc000290120})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc000122460)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:211 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc000122460, 0xc00005de48, 0xc00007c8d0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:271 +0x2b8
9fans.net/go/plan9/client.(*Fid).Close(0xc00007c8d0)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:46 +0x95
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1144 +0x65
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 98 [chan receive]:
main.xfidctl(0xc0003261c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 24 [IO wait, 1 minutes]:
internal/poll.runtime_pollWait(0x7ff3ac0db838, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000078720?, 0xc000678000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000078720, {0xc000678000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0003200c8, {0xc000678000?, 0xc00007c7b0?, 0x4c1194?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc00007c7b0}, {0x5edbe0, 0xc0003200c8}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 29 [semacquire]:
sync.runtime_SemacquireMutex(0xc00010e2e8?, 0x0?, 0x406fe0?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72b768)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000326240)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 70 [semacquire]:
sync.runtime_SemacquireMutex(0xc00008b4c8?, 0x0?, 0x0?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72b768)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

rax    0xca
rbx    0x0
rcx    0x4649c3
rdx    0x0
rdi    0x6e8230
rsi    0x80
rbp    0x7ffe5e2d82a8
rsp    0x7ffe5e2d8260
r8     0x0
r9     0x0
r10    0x0
r11    0x286
r12    0x2c7
r13    0x3
r14    0x6e7900
r15    0x2
rip    0x4649c1
rflags 0x286
cs     0x33
fs     0x0
gs     0x0
Activity icon
issue

rogpeppe issue comment 9fans/go

rogpeppe
rogpeppe

cmd/acme: deadlock

I encountered this deadlock. Recording the stack trace for posterity..

/home/rogpeppe/src/go/bin/acme: devel go1.18-8248152528 Thu Nov 4 20:43:07 2021 +0000
	path	9fans.net/go/cmd/acme
	mod	9fans.net/go	(devel)	
	build	compiler	gc
	build	tags	goexperiment.regabiwrappers,goexperiment.regabireflect,goexperiment.regabiargs,goexperiment.pacerredesign
	build	CGO_ENABLED	true
	build	CGO_CPPFLAGS	
	build	CGO_CFLAGS	
	build	CGO_CXXFLAGS	
	build	CGO_LDFLAGS	
	build	gitrevision	36f0d54cd5ceec2ae9064909ace236078b252458
	build	gitcommittime	2021-11-05T13:48:27Z
	build	gituncommitted	false
SIGQUIT: quit
PC=0x48ba08 m=0 sigcode=0

goroutine 847 [syscall, 3289 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x74717, 0xc000172e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5 fp=0xc000172dd8 sp=0xc000172dd0 pc=0x48b9e5
os.(*Process).blockUntilWaitable(0xc000324540)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c fp=0xc000172ec8 sp=0xc000172dd8 pc=0x4a33fc
os.(*Process).wait(0xc000324540)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28 fp=0xc000172f28 sp=0xc000172ec8 pc=0x49f448
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f62c0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54 fp=0xc000172fa0 sp=0xc000172f28 pc=0x4c0e14
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25 fp=0xc000172fe0 sp=0xc000172fa0 pc=0x562f25
runtime.goexit()
	/home/rogpeppe/go/src/runtime/asm_amd64.s:1579 +0x1 fp=0xc000172fe8 sp=0xc000172fe0 pc=0x462821
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1 [chan receive, 3936 minutes]:
main.main()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:222 +0xd58

goroutine 7 [chan receive, 3936 minutes]:
main.main.func5()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:116 +0x38
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:115 +0x6cf

goroutine 52 [chan send, 2 minutes]:
9fans.net/go/draw.mouseproc(0x0?, 0xc0000c0000, 0x4c0cca?, 0x0?)
	/home/rogpeppe/other/9fans/draw/mouse.go:63 +0x5c
created by 9fans.net/go/draw.(*Display).InitMouse
	/home/rogpeppe/other/9fans/draw/mouse.go:49 +0x12e

goroutine 53 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6ca8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a6120?, 0xc0006fd7d4?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a6120, {0xc0006fd7d4, 0x4, 0x4})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2020, {0xc0006fd7d4?, 0xc000150af0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0000a2020}, {0xc0006fd7d4, 0x4, 0x4}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/draw/drawfcall.ReadMsg({0x5ed740, 0xc0000a2020})
	/home/rogpeppe/other/9fans/draw/drawfcall/msg.go:232 +0x59
9fans.net/go/draw/drawfcall.(*Conn).RPC(0xc0001000a0, 0xc000150d28, 0xc000a3c6c0)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:93 +0x425
9fans.net/go/draw/drawfcall.(*Conn).ReadKbd(0x0?)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:156 +0x7c
9fans.net/go/draw.kbdproc(0xc0000c0000, 0x0?)
	/home/rogpeppe/other/9fans/draw/keyboard.go:43 +0x48
created by 9fans.net/go/draw.(*Display).InitKeyboard
	/home/rogpeppe/other/9fans/draw/keyboard.go:37 +0x8a

goroutine 54 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6908, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000190400?, 0xc0006c4a80?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000190400, {0xc0006c4a80, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000190400, {0xc0006c4a80?, 0x100c00012a9d8?, 0x7ff7385c33a0?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000a2088, {0xc0006c4a80?, 0xc00005db28?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000a2088}, {0xc0006c4a80, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000a2088})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0000a8000)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0000a8000, 0xc00005dca0, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).readAt(0xc0000af290, {0xc0003ae000, 0x1000, 0x8?}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:190 +0x19e
9fans.net/go/plan9/client.(*Fid).Read(0x3?, {0xc0003ae000?, 0xc00005de30?, 0x436da0?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:155 +0x25
bufio.(*Reader).fill(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadByte(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:262 +0x2c
9fans.net/go/plumb.(*reader).readLine(0xc00005def0)
	/home/rogpeppe/other/9fans/plumb/plumb.go:144 +0x56
9fans.net/go/plumb.(*Message).Recv(0xc000aa55c0, {0x5ed4e0, 0xc0000d2300})
	/home/rogpeppe/other/9fans/plumb/plumb.go:109 +0x98
main.plumbthread()
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:68 +0x36c
created by main.startplumbing
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:93 +0x25

goroutine 55 [IO wait]:
internal/poll.runtime_pollWait(0x7ff738ea6bc0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a69c0?, 0xc000458000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a69c0, {0xc000458000, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0001280a8, {0xc000458000?, 0xc00014cca0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0001280a8}, {0xc000458000, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed740, 0xc0001280a8})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
main.fsysproc()
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:136 +0x7c
created by main.fsysinit
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:126 +0x39c

goroutine 39 [IO wait, 3936 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6e78, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000d2180?, 0xc0001abfb8?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000d2180, {0xc0001abfb8, 0x2000, 0x2000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010010, {0xc0001abfb8?, 0x0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
main.acmeerrorproc()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:318 +0xaf
created by main.acmeerrorinit
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:335 +0x9e

goroutine 40 [select, 2 minutes]:
main.keyboardthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:366 +0x132
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:215 +0xcf1

goroutine 41 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0x0?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidlog(0xc00086e100, {0x5b100e, 0x5})
	/home/rogpeppe/other/9fans/cmd/acme/logf.go:146 +0xfb
main.mousethread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:463 +0x50c
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:216 +0xcfd

goroutine 42 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc000182fe8?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x6e6a60)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.waitthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:644 +0x5f1
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:217 +0xd09

goroutine 43 [select]:
main.xfidallocthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:710 +0x79
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:218 +0xd15

goroutine 44 [chan receive, 4 minutes]:
main.newwindowthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:735 +0x45
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:219 +0xd25

goroutine 66 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001067c8?, 0xa0?, 0xc000b8df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000013400)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 10 [chan receive, 3284 minutes]:
main.xfideventread(0xc0003ba0c0, 0xc000373600)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 916 [IO wait, 3289 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6568, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000077e00?, 0xc0003cc000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000077e00, {0xc0003cc000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2090, {0xc0003cc000?, 0xc000358360?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358360}, {0x5ed740, 0xc0000a2090}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 8 [chan receive, 2 minutes]:
main.xfideventread(0xc0001462c0, 0xc00098c000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2670 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea5ff8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00055bc00?, 0xc000458900?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00055bc00, {0xc000458900, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00055bc00, {0xc000458900?, 0x100c0003c4c80?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000128288, {0xc000458900?, 0xc0003c4d00?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc000128288}, {0xc000458900, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc000128288})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc000153ea0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc000153ea0, 0xc0003c4e48, 0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).Close(0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:46 +0x95
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1144 +0x65
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 82 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001834c8?, 0xa0?, 0xc00045df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000146700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 14 [chan receive, 143 minutes]:
main.xfideventread(0xc000146000, 0xc000387080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 793 [syscall, 3459 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x6fb6c, 0xc000638628, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00072e060)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00072e060)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6000)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 115 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6480, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000195000?, 0xc000458a00?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000195000, {0xc000458a00, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000195000, {0xc000458a00?, 0x100c0003c6b48?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000100c0, {0xc000458a00?, 0xc0003c6bc8?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000100c0}, {0xc000458a00, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000100c0})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0003bc2a0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0003bc2a0, 0xc0003c6d38, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).writeAt(0xc000114b70, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:367 +0x188
9fans.net/go/plan9/client.(*Fid).WriteAt(0x3d?, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:342 +0xf8
9fans.net/go/plan9/client.(*Fid).Write(0xc0000100f0?, {0xc00044c000?, 0xc000114b70?, 0x4c0e14?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:325 +0x25
io.copyBuffer({0x5ed4c0, 0xc000114b70}, {0x5ed740, 0xc0000100f0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:428 +0x204
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2667 [syscall, 9 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd17aa, 0xc000173e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0006203c0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0006203c0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6160)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2666 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c86d8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0008b90e0?, 0xc00042e000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0008b90e0, {0xc00042e000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe040, {0xc00042e000?, 0xc0000ae540?, 0xc000566ad8?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000ae540}, {0x5ed740, 0xc0000fe040}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 119 [chan receive, 4 minutes]:
main.xfideventread(0xc000012080, 0xc000f53b80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 806 [IO wait, 3459 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea60e0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00048f4a0?, 0xc0004f4000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00048f4a0, {0xc0004f4000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010070, {0xc0004f4000?, 0xc000114900?, 0xc0000be418?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000114900}, {0x5ed740, 0xc000010070}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 612 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001194c8?, 0xa0?, 0xc000461f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000776180)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 456 [chan receive, 553 minutes]:
main.xfidctl(0xc0000acd80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1602 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001199a8?, 0xa0?, 0xc0000f7f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000777800)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1955 [syscall, 1759 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x9ec65, 0xc000634e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f69a0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2529 [IO wait, 270 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c87c0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000a0e240?, 0xc00034c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000a0e240, {0xc00034c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe030, {0xc00034c000?, 0xc000358720?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358720}, {0x5ed740, 0xc0000fe030}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 1937 [IO wait, 1759 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6738, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0004aa000?, 0xc000a2c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0004aa000, {0xc000a2c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe1d0, {0xc000a2c000?, 0xc000a2a1e0?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000a2a1e0}, {0x5ed740, 0xc0000fe1d0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2669 [IO wait, 4 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c8168, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000aa59e0?, 0xc000980000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000aa59e0, {0xc000980000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000101f8, {0xc000980000?, 0xc0000af2f0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000af2f0}, {0x5ed740, 0xc0000101f8}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2562 [syscall, 270 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xc8a71, 0xc000517e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00080c090)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00080c090)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6420)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1936 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0006bf808?, 0xa0?, 0xc000b23f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc00012c680)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2693 [syscall, 4 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd1a46, 0xc000637e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0008eb260)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0008eb260)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f66e0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2314 [chan receive, 30 minutes]:
main.xfideventread(0xc0000ac700, 0xc0006b4580)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

rax    0xf7
rbx    0xc00002c000
rcx    0x48ba0a
rdx    0xc000172e28
rdi    0x1
rsi    0x74717
rbp    0xc000172eb8
rsp    0xc000172dd0
r8     0x0
r9     0x0
r10    0x1000004
r11    0x202
r12    0xc000172e58
r13    0x30
r14    0xc000107a00
r15    0x7ff73b03ea61
rip    0x48ba08
rflags 0x202
cs     0x33
fs     0x0
gs     0x0
rogpeppe
rogpeppe
proc 0 
	thread 1 Running:  
proc 7f38cf671700 
	thread 2 Running:  
SIGQUIT: quit
PC=0x4649c1 m=0 sigcode=128

goroutine 0 [idle]:
runtime.futex()
	/home/rogpeppe/go/src/runtime/sys_linux_amd64.s:552 +0x21
runtime.futexsleep(0x0?, 0x0?, 0x0?)
	/home/rogpeppe/go/src/runtime/os_linux.go:56 +0x36
runtime.notesleep(0x6e8230)
	/home/rogpeppe/go/src/runtime/lock_futex.go:159 +0x87
runtime.mPark()
	/home/rogpeppe/go/src/runtime/proc.go:1432 +0x2a
runtime.stopm()
	/home/rogpeppe/go/src/runtime/proc.go:2402 +0x78
runtime.findrunnable()
	/home/rogpeppe/go/src/runtime/proc.go:2978 +0x865
runtime.schedule()
	/home/rogpeppe/go/src/runtime/proc.go:3361 +0x239
runtime.park_m(0xc000282d00?)
	/home/rogpeppe/go/src/runtime/proc.go:3510 +0x14d
runtime.mcall()
	/home/rogpeppe/go/src/runtime/asm_amd64.s:433 +0x43

goroutine 1 [chan receive, 1359 minutes]:
main.main()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:222 +0xd58

goroutine 9 [chan receive, 1359 minutes]:
main.main.func5()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:116 +0x38
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:115 +0x6cf

goroutine 66 [chan receive]:
9fans.net/go/draw/drawfcall.(*Conn).RPC(0xc00007a0a0, 0xc00005fcd8, 0xc000176480)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:89 +0x398
9fans.net/go/draw/drawfcall.(*Conn).ReadMouse(0xc00007a0a0?)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:145 +0x7c
9fans.net/go/draw.mouseproc(0x0?, 0xc000150000, 0x0?, 0x0?)
	/home/rogpeppe/other/9fans/draw/mouse.go:55 +0x6d
created by 9fans.net/go/draw.(*Display).InitMouse
	/home/rogpeppe/other/9fans/draw/mouse.go:49 +0x12e

goroutine 67 [IO wait]:
internal/poll.runtime_pollWait(0x7ff3ec0deda8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000078300?, 0xc00009a0e0?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000078300, {0xc00009a0e0, 0x4, 0x4})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000100d0, {0xc00009a0e0?, 0xc00005eaf0?, 0x44a972?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5edbe0, 0xc0000100d0}, {0xc00009a0e0, 0x4, 0x4}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/draw/drawfcall.ReadMsg({0x5edbe0, 0xc0000100d0})
	/home/rogpeppe/other/9fans/draw/drawfcall/msg.go:232 +0x59
9fans.net/go/draw/drawfcall.(*Conn).RPC(0xc00007a0a0, 0xc00005ed28, 0xc0007b86c0)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:93 +0x425
9fans.net/go/draw/drawfcall.(*Conn).ReadKbd(0x0?)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:156 +0x7c
9fans.net/go/draw.kbdproc(0xc000150000, 0x0?)
	/home/rogpeppe/other/9fans/draw/keyboard.go:43 +0x48
created by 9fans.net/go/draw.(*Display).InitKeyboard
	/home/rogpeppe/other/9fans/draw/keyboard.go:37 +0x8a

goroutine 68 [IO wait, 4 minutes]:
internal/poll.runtime_pollWait(0x7ff3ec0dea08, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0002a0080?, 0xc0003c9900?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0002a0080, {0xc0003c9900, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc0002a0080, {0xc0003c9900?, 0x100c000062aa8?, 0x7ff3ec0993a0?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0002a2000, {0xc0003c9900?, 0xc000062b28?, 0x44a972?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5edb80, 0xc0002a2000}, {0xc0003c9900, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5edb80, 0xc0002a2000})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc000122000)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:211 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc000122000, 0xc000062ca0, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:271 +0x2b8
9fans.net/go/plan9/client.(*Fid).readAt(0xc0002a40c0, {0xc0000e4000, 0x1000, 0x8?}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:190 +0x19e
9fans.net/go/plan9/client.(*Fid).Read(0x3?, {0xc0000e4000?, 0xc000062e30?, 0x4370a0?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:155 +0x25
bufio.(*Reader).fill(0xc000078240)
	/home/rogpeppe/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadByte(0xc000078240)
	/home/rogpeppe/go/src/bufio/bufio.go:262 +0x2c
9fans.net/go/plumb.(*reader).readLine(0xc000062ef0)
	/home/rogpeppe/other/9fans/plumb/plumb.go:144 +0x56
9fans.net/go/plumb.(*Message).Recv(0xc000b4b380, {0x5ed980, 0xc000078240})
	/home/rogpeppe/other/9fans/plumb/plumb.go:109 +0x98
main.plumbthread()
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:68 +0x36c
created by main.startplumbing
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:93 +0x25

goroutine 69 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff3ec0decc0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00011a840?, 0xc000550380?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00011a840, {0xc000550380, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000384008, {0xc000550380?, 0xc000063ca0?, 0x44a972?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5edbe0, 0xc000384008}, {0xc000550380, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5edbe0, 0xc000384008})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
main.fsysproc()
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:136 +0x7c
created by main.fsysinit
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:126 +0x39c

goroutine 388 [runnable]:
syscall.Syscall6(0xf7, 0x1, 0xf4375, 0xc00004c628, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0002ac2d0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0002ac2d0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0003d2000)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 22 [IO wait, 1359 minutes]:
internal/poll.runtime_pollWait(0x7ff3ec0debd8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000079920?, 0xc0003bbfb8?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000079920, {0xc0003bbfb8, 0x2000, 0x2000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000100e0, {0xc0003bbfb8?, 0x0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
main.acmeerrorproc()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:318 +0xaf
created by main.acmeerrorinit
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:335 +0x9e

goroutine 23 [select, 4 minutes]:
main.keyboardthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:366 +0x132
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:215 +0xcf1

goroutine 24 [chan receive]:
9fans.net/go/draw.(*Mousectl).Read(...)
	/home/rogpeppe/other/9fans/draw/mouse.go:71
9fans.net/go/cmd/acme/internal/ui.Textselect(0xc000ffb7f8)
	/home/rogpeppe/other/9fans/cmd/acme/internal/ui/text.go:471 +0x5d8
main.mousethread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:548 +0xa33
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:216 +0xcfd

goroutine 25 [runnable]:
main.waitthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:603 +0x1d1
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:217 +0xd09

goroutine 26 [select, 2 minutes]:
main.xfidallocthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:710 +0x79
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:218 +0xd15

goroutine 27 [chan receive, 6 minutes]:
main.newwindowthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:735 +0x45
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:219 +0xd25

goroutine 28 [chan receive, 51 minutes]:
main.xfideventread(0xc000013fc0, 0xc000565700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000013fc0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000013fc0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 12 [chan receive, 1200 minutes]:
main.xfideventread(0xc00012a200, 0xc0003ce580)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc00012a200)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc00012a200)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 32 [chan receive, 65 minutes]:
main.xfideventread(0xc00012a340, 0xc000564680)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc00012a340)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc00012a340)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 31 [chan receive, 2 minutes]:
main.xfidctl(0xc00012a040)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 10 [runnable]:
internal/poll.runtime_pollWait(0x7ff3ec0de838, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00011b1a0?, 0xc000318000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00011b1a0, {0xc000318000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010110, {0xc000318000?, 0xc00007c750?, 0x6e7ac8?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc00007c750}, {0x5edbe0, 0xc000010110}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 3411 [runnable]:
syscall.Syscall6(0xf7, 0x1, 0x10ad85, 0xc000289e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0005347b0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0005347b0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0003d2160)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 103 [chan receive, 1261 minutes]:
main.xfideventread(0xc0000124c0, 0xc0000aa580)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0000124c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0000124c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 3479 [IO wait, 6 minutes]:
internal/poll.runtime_pollWait(0x7ff3e4688538, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0002f0d80?, 0xc000960000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0002f0d80, {0xc000960000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000102e8, {0xc000960000?, 0xc00007cd50?, 0x4c1194?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc00007cd50}, {0x5edbe0, 0xc0000102e8}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 3513 [runnable]:
syscall.Syscall6(0xf7, 0x1, 0x10d000, 0xc0000c5628, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00028cb10)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00028cb10)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc000320420)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 3414 [IO wait, 63 minutes]:
internal/poll.runtime_pollWait(0x7ff3ec0de498, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000597080?, 0xc0002b4000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000597080, {0xc0002b4000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000101d0, {0xc0002b4000?, 0xc00007cb70?, 0xc000cf40b8?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc00007cb70}, {0x5edbe0, 0xc0000101d0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 366 [IO wait, 1275 minutes]:
internal/poll.runtime_pollWait(0x7ff3ec0de668, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0003ef5c0?, 0xc0003f0000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0003ef5c0, {0xc0003f0000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000101f0, {0xc0003f0000?, 0xc0000da180?, 0x4c1194?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc0000da180}, {0x5edbe0, 0xc0000101f0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 380 [sync.Cond.Wait, 2 minutes]:
sync.runtime_notifyListWait(0x6e7478, 0x10b)
	/home/rogpeppe/go/src/runtime/sema.go:513 +0x13d
sync.(*Cond).Wait(0xc000012980?)
	/home/rogpeppe/go/src/sync/cond.go:56 +0x8c
main.xfidlogread(0xc000012980)
	/home/rogpeppe/other/9fans/cmd/acme/logf.go:79 +0x1f7
main.xfidread(0xc000012980)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:295 +0x13d
main.xfidctl(0xc000012980)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 3432 [IO wait, 33 minutes]:
internal/poll.runtime_pollWait(0x7ff3e46888d8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0002f0840?, 0xc000360000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0002f0840, {0xc000360000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0002a2228, {0xc000360000?, 0xc00007dc50?, 0xc000334898?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc00007dc50}, {0x5edbe0, 0xc0002a2228}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 3416 [runnable]:
syscall.Syscall(0x1, 0x15, 0xc000528000, 0xb)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:20 +0x5
syscall.write(0xc0006ac880?, {0xc000528000?, 0xc0000c7c00?, 0x418253?})
	/home/rogpeppe/go/src/syscall/zsyscall_linux_amd64.go:924 +0x4d
syscall.Write(...)
	/home/rogpeppe/go/src/syscall/syscall_unix.go:216
internal/poll.ignoringEINTRIO(...)
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:794
internal/poll.(*FD).Write(0xc0006ac880?, {0xc000528000?, 0xb?, 0x64?})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:383 +0x36e
net.(*netFD).Write(0xc0006ac880, {0xc000528000?, 0xc0000c7d58?, 0x542229?})
	/home/rogpeppe/go/src/net/fd_posix.go:96 +0x29
net.(*conn).Write(0xc00033e118, {0xc000528000?, 0x5a9c00?, 0xc0000c7d00?})
	/home/rogpeppe/go/src/net/net.go:195 +0x45
9fans.net/go/plan9.WriteFcall({0x7ff3ec007078, 0xc00033e118}, 0x0?)
	/home/rogpeppe/other/9fans/plan9/fcall.go:451 +0x54
9fans.net/go/plan9/client.(*conn).write(0xc000122620, 0xc000676000?)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:226 +0x58
9fans.net/go/plan9/client.(*conn).rpc(0xc000122620, 0xc0000bbe48, 0xc0000da480)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:242 +0xe5
9fans.net/go/plan9/client.(*Fid).Close(0xc0000da480)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:46 +0x95
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1144 +0x65
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 129 [chan receive, 2 minutes]:
main.xfidctl(0xc000a4c500)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 3514 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0007cbb48?, 0xf8?, 0x4eb892?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72b768)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfideventread(0xc0004ec3c0, 0xc000ffb600)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1008 +0x13d
main.xfidread(0xc0004ec3c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0004ec3c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 3427 [runnable]:
syscall.Syscall6(0x3d, 0x10b175, 0xc0003e56b4, 0x0, 0xc00035c000, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
syscall.wait4(0xc0003e56b8?, 0x40e767?, 0x90?, 0x5a9820?)
	/home/rogpeppe/go/src/syscall/zsyscall_linux_amd64.go:178 +0x4e
syscall.Wait4(0xc0008b21c4?, 0xc0003e56ec, 0x200000006e?, 0x7200000066?)
	/home/rogpeppe/go/src/syscall/syscall_linux.go:377 +0x2b
os.(*Process).wait(0xc0008b21b0)
	/home/rogpeppe/go/src/os/exec_unix.go:43 +0xb7
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0003d2420)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 3415 [runnable]:
syscall.Syscall6(0xf7, 0x1, 0x10add1, 0xc00043e628, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0005347e0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0005347e0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0003d22c0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 3425 [chan receive, 4 minutes]:
main.xfidctl(0xc000a4c540)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 794 [IO wait, 65 minutes]:
internal/poll.runtime_pollWait(0x7ff3ec0de3b0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00065ede0?, 0xc00042a000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00065ede0, {0xc00042a000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000384108, {0xc00042a000?, 0xc00007cb40?, 0xc000b84178?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc00007cb40}, {0x5edbe0, 0xc000384108}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 3402 [chan receive, 62 minutes]:
main.xfideventread(0xc000012ac0, 0xc000564c00)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000012ac0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000012ac0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 3403 [chan receive, 22 minutes]:
main.xfideventread(0xc00051e380, 0xc000ffb080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc00051e380)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc00051e380)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 3524 [IO wait, 22 minutes]:
internal/poll.runtime_pollWait(0x7ff3e4688708, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0004722a0?, 0xc0002c0000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0004722a0, {0xc0002c0000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010320, {0xc0002c0000?, 0xc0000da540?, 0x4c1349?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc0000da540}, {0x5edbe0, 0xc000010320}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 3525 [runnable]:
syscall.Syscall6(0xf7, 0x1, 0x10c76e, 0xc00043be28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc000162570)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc000162570)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc000320160)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

rax    0xca
rbx    0x0
rcx    0x4649c3
rdx    0x0
rdi    0x6e8230
rsi    0x80
rbp    0x7fff97c47f48
rsp    0x7fff97c47f00
r8     0x0
r9     0x0
r10    0x0
r11    0x286
r12    0x7fff97c479f8
r13    0x0
r14    0x6e7900
r15    0x2
rip    0x4649c1
rflags 0x286
cs     0x33
fs     0x0
gs     0x0
started
started time in 1 week ago
Nov
16
1 week ago
Activity icon
issue

rogpeppe issue comment 9fans/go

rogpeppe
rogpeppe

cmd/acme: deadlock

I encountered this deadlock. Recording the stack trace for posterity..

/home/rogpeppe/src/go/bin/acme: devel go1.18-8248152528 Thu Nov 4 20:43:07 2021 +0000
	path	9fans.net/go/cmd/acme
	mod	9fans.net/go	(devel)	
	build	compiler	gc
	build	tags	goexperiment.regabiwrappers,goexperiment.regabireflect,goexperiment.regabiargs,goexperiment.pacerredesign
	build	CGO_ENABLED	true
	build	CGO_CPPFLAGS	
	build	CGO_CFLAGS	
	build	CGO_CXXFLAGS	
	build	CGO_LDFLAGS	
	build	gitrevision	36f0d54cd5ceec2ae9064909ace236078b252458
	build	gitcommittime	2021-11-05T13:48:27Z
	build	gituncommitted	false
SIGQUIT: quit
PC=0x48ba08 m=0 sigcode=0

goroutine 847 [syscall, 3289 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x74717, 0xc000172e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5 fp=0xc000172dd8 sp=0xc000172dd0 pc=0x48b9e5
os.(*Process).blockUntilWaitable(0xc000324540)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c fp=0xc000172ec8 sp=0xc000172dd8 pc=0x4a33fc
os.(*Process).wait(0xc000324540)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28 fp=0xc000172f28 sp=0xc000172ec8 pc=0x49f448
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f62c0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54 fp=0xc000172fa0 sp=0xc000172f28 pc=0x4c0e14
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25 fp=0xc000172fe0 sp=0xc000172fa0 pc=0x562f25
runtime.goexit()
	/home/rogpeppe/go/src/runtime/asm_amd64.s:1579 +0x1 fp=0xc000172fe8 sp=0xc000172fe0 pc=0x462821
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1 [chan receive, 3936 minutes]:
main.main()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:222 +0xd58

goroutine 7 [chan receive, 3936 minutes]:
main.main.func5()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:116 +0x38
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:115 +0x6cf

goroutine 52 [chan send, 2 minutes]:
9fans.net/go/draw.mouseproc(0x0?, 0xc0000c0000, 0x4c0cca?, 0x0?)
	/home/rogpeppe/other/9fans/draw/mouse.go:63 +0x5c
created by 9fans.net/go/draw.(*Display).InitMouse
	/home/rogpeppe/other/9fans/draw/mouse.go:49 +0x12e

goroutine 53 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6ca8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a6120?, 0xc0006fd7d4?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a6120, {0xc0006fd7d4, 0x4, 0x4})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2020, {0xc0006fd7d4?, 0xc000150af0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0000a2020}, {0xc0006fd7d4, 0x4, 0x4}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/draw/drawfcall.ReadMsg({0x5ed740, 0xc0000a2020})
	/home/rogpeppe/other/9fans/draw/drawfcall/msg.go:232 +0x59
9fans.net/go/draw/drawfcall.(*Conn).RPC(0xc0001000a0, 0xc000150d28, 0xc000a3c6c0)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:93 +0x425
9fans.net/go/draw/drawfcall.(*Conn).ReadKbd(0x0?)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:156 +0x7c
9fans.net/go/draw.kbdproc(0xc0000c0000, 0x0?)
	/home/rogpeppe/other/9fans/draw/keyboard.go:43 +0x48
created by 9fans.net/go/draw.(*Display).InitKeyboard
	/home/rogpeppe/other/9fans/draw/keyboard.go:37 +0x8a

goroutine 54 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6908, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000190400?, 0xc0006c4a80?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000190400, {0xc0006c4a80, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000190400, {0xc0006c4a80?, 0x100c00012a9d8?, 0x7ff7385c33a0?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000a2088, {0xc0006c4a80?, 0xc00005db28?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000a2088}, {0xc0006c4a80, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000a2088})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0000a8000)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0000a8000, 0xc00005dca0, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).readAt(0xc0000af290, {0xc0003ae000, 0x1000, 0x8?}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:190 +0x19e
9fans.net/go/plan9/client.(*Fid).Read(0x3?, {0xc0003ae000?, 0xc00005de30?, 0x436da0?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:155 +0x25
bufio.(*Reader).fill(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadByte(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:262 +0x2c
9fans.net/go/plumb.(*reader).readLine(0xc00005def0)
	/home/rogpeppe/other/9fans/plumb/plumb.go:144 +0x56
9fans.net/go/plumb.(*Message).Recv(0xc000aa55c0, {0x5ed4e0, 0xc0000d2300})
	/home/rogpeppe/other/9fans/plumb/plumb.go:109 +0x98
main.plumbthread()
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:68 +0x36c
created by main.startplumbing
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:93 +0x25

goroutine 55 [IO wait]:
internal/poll.runtime_pollWait(0x7ff738ea6bc0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a69c0?, 0xc000458000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a69c0, {0xc000458000, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0001280a8, {0xc000458000?, 0xc00014cca0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0001280a8}, {0xc000458000, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed740, 0xc0001280a8})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
main.fsysproc()
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:136 +0x7c
created by main.fsysinit
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:126 +0x39c

goroutine 39 [IO wait, 3936 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6e78, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000d2180?, 0xc0001abfb8?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000d2180, {0xc0001abfb8, 0x2000, 0x2000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010010, {0xc0001abfb8?, 0x0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
main.acmeerrorproc()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:318 +0xaf
created by main.acmeerrorinit
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:335 +0x9e

goroutine 40 [select, 2 minutes]:
main.keyboardthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:366 +0x132
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:215 +0xcf1

goroutine 41 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0x0?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidlog(0xc00086e100, {0x5b100e, 0x5})
	/home/rogpeppe/other/9fans/cmd/acme/logf.go:146 +0xfb
main.mousethread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:463 +0x50c
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:216 +0xcfd

goroutine 42 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc000182fe8?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x6e6a60)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.waitthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:644 +0x5f1
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:217 +0xd09

goroutine 43 [select]:
main.xfidallocthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:710 +0x79
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:218 +0xd15

goroutine 44 [chan receive, 4 minutes]:
main.newwindowthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:735 +0x45
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:219 +0xd25

goroutine 66 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001067c8?, 0xa0?, 0xc000b8df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000013400)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 10 [chan receive, 3284 minutes]:
main.xfideventread(0xc0003ba0c0, 0xc000373600)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 916 [IO wait, 3289 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6568, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000077e00?, 0xc0003cc000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000077e00, {0xc0003cc000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2090, {0xc0003cc000?, 0xc000358360?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358360}, {0x5ed740, 0xc0000a2090}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 8 [chan receive, 2 minutes]:
main.xfideventread(0xc0001462c0, 0xc00098c000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2670 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea5ff8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00055bc00?, 0xc000458900?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00055bc00, {0xc000458900, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00055bc00, {0xc000458900?, 0x100c0003c4c80?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000128288, {0xc000458900?, 0xc0003c4d00?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc000128288}, {0xc000458900, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc000128288})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc000153ea0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc000153ea0, 0xc0003c4e48, 0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).Close(0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:46 +0x95
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1144 +0x65
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 82 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001834c8?, 0xa0?, 0xc00045df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000146700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 14 [chan receive, 143 minutes]:
main.xfideventread(0xc000146000, 0xc000387080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 793 [syscall, 3459 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x6fb6c, 0xc000638628, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00072e060)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00072e060)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6000)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 115 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6480, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000195000?, 0xc000458a00?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000195000, {0xc000458a00, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000195000, {0xc000458a00?, 0x100c0003c6b48?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000100c0, {0xc000458a00?, 0xc0003c6bc8?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000100c0}, {0xc000458a00, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000100c0})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0003bc2a0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0003bc2a0, 0xc0003c6d38, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).writeAt(0xc000114b70, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:367 +0x188
9fans.net/go/plan9/client.(*Fid).WriteAt(0x3d?, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:342 +0xf8
9fans.net/go/plan9/client.(*Fid).Write(0xc0000100f0?, {0xc00044c000?, 0xc000114b70?, 0x4c0e14?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:325 +0x25
io.copyBuffer({0x5ed4c0, 0xc000114b70}, {0x5ed740, 0xc0000100f0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:428 +0x204
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2667 [syscall, 9 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd17aa, 0xc000173e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0006203c0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0006203c0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6160)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2666 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c86d8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0008b90e0?, 0xc00042e000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0008b90e0, {0xc00042e000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe040, {0xc00042e000?, 0xc0000ae540?, 0xc000566ad8?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000ae540}, {0x5ed740, 0xc0000fe040}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 119 [chan receive, 4 minutes]:
main.xfideventread(0xc000012080, 0xc000f53b80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 806 [IO wait, 3459 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea60e0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00048f4a0?, 0xc0004f4000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00048f4a0, {0xc0004f4000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010070, {0xc0004f4000?, 0xc000114900?, 0xc0000be418?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000114900}, {0x5ed740, 0xc000010070}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 612 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001194c8?, 0xa0?, 0xc000461f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000776180)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 456 [chan receive, 553 minutes]:
main.xfidctl(0xc0000acd80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1602 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001199a8?, 0xa0?, 0xc0000f7f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000777800)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1955 [syscall, 1759 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x9ec65, 0xc000634e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f69a0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2529 [IO wait, 270 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c87c0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000a0e240?, 0xc00034c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000a0e240, {0xc00034c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe030, {0xc00034c000?, 0xc000358720?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358720}, {0x5ed740, 0xc0000fe030}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 1937 [IO wait, 1759 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6738, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0004aa000?, 0xc000a2c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0004aa000, {0xc000a2c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe1d0, {0xc000a2c000?, 0xc000a2a1e0?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000a2a1e0}, {0x5ed740, 0xc0000fe1d0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2669 [IO wait, 4 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c8168, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000aa59e0?, 0xc000980000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000aa59e0, {0xc000980000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000101f8, {0xc000980000?, 0xc0000af2f0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000af2f0}, {0x5ed740, 0xc0000101f8}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2562 [syscall, 270 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xc8a71, 0xc000517e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00080c090)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00080c090)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6420)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1936 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0006bf808?, 0xa0?, 0xc000b23f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc00012c680)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2693 [syscall, 4 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd1a46, 0xc000637e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0008eb260)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0008eb260)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f66e0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2314 [chan receive, 30 minutes]:
main.xfideventread(0xc0000ac700, 0xc0006b4580)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

rax    0xf7
rbx    0xc00002c000
rcx    0x48ba0a
rdx    0xc000172e28
rdi    0x1
rsi    0x74717
rbp    0xc000172eb8
rsp    0xc000172dd0
r8     0x0
r9     0x0
r10    0x1000004
r11    0x202
r12    0xc000172e58
r13    0x30
r14    0xc000107a00
r15    0x7ff73b03ea61
rip    0x48ba08
rflags 0x202
cs     0x33
fs     0x0
gs     0x0
rogpeppe
rogpeppe

and another (sorry for the noise, but it's a convenient place to put these dumps aside for analysis later):

PC=0x464be0 m=0 sigcode=0

goroutine 0 [idle]:
runtime.epollwait()
	/home/rogpeppe/go/src/runtime/sys_linux_amd64.s:699 +0x20
runtime.netpoll(0xc00003e000?)
	/home/rogpeppe/go/src/runtime/netpoll_epoll.go:126 +0xdc
runtime.findrunnable()
	/home/rogpeppe/go/src/runtime/proc.go:2941 +0x593
runtime.schedule()
	/home/rogpeppe/go/src/runtime/proc.go:3361 +0x239
runtime.park_m(0xc0002836c0?)
	/home/rogpeppe/go/src/runtime/proc.go:3510 +0x14d
runtime.mcall()
	/home/rogpeppe/go/src/runtime/asm_amd64.s:433 +0x43

goroutine 1 [chan receive, 102 minutes]:
main.main()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:222 +0xd58

goroutine 38 [chan receive, 102 minutes]:
main.main.func5()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:116 +0x38
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:115 +0x6cf

goroutine 39 [chan receive]:
9fans.net/go/draw/drawfcall.(*Conn).RPC(0xc00007a0a0, 0xc000063cd8, 0xc000360000)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:89 +0x398
9fans.net/go/draw/drawfcall.(*Conn).ReadMouse(0xc00007a0a0?)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:145 +0x7c
9fans.net/go/draw.mouseproc(0x0?, 0xc0002aa000, 0x0?, 0x0?)
	/home/rogpeppe/other/9fans/draw/mouse.go:55 +0x6d
created by 9fans.net/go/draw.(*Display).InitMouse
	/home/rogpeppe/other/9fans/draw/mouse.go:49 +0x12e

goroutine 40 [IO wait]:
internal/poll.runtime_pollWait(0x7f91604fa028, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000098180?, 0xc00096673c?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000098180, {0xc00096673c, 0x4, 0x4})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000100c8, {0xc00096673c?, 0xc0000a0af0?, 0x44a972?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5edbe0, 0xc0000100c8}, {0xc00096673c, 0x4, 0x4}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/draw/drawfcall.ReadMsg({0x5edbe0, 0xc0000100c8})
	/home/rogpeppe/other/9fans/draw/drawfcall/msg.go:232 +0x59
9fans.net/go/draw/drawfcall.(*Conn).RPC(0xc00007a0a0, 0xc0000a0d28, 0xc000450d80)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:93 +0x425
9fans.net/go/draw/drawfcall.(*Conn).ReadKbd(0x0?)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:156 +0x7c
9fans.net/go/draw.kbdproc(0xc0002aa000, 0x0?)
	/home/rogpeppe/other/9fans/draw/keyboard.go:43 +0x48
created by 9fans.net/go/draw.(*Display).InitKeyboard
	/home/rogpeppe/other/9fans/draw/keyboard.go:37 +0x8a

goroutine 41 [IO wait, 12 minutes]:
internal/poll.runtime_pollWait(0x7f91604f9c88, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00031a080?, 0xc000384780?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00031a080, {0xc000384780, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00031a080, {0xc000384780?, 0x100c00009caa8?, 0x7f916049d6f0?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc00031c000, {0xc000384780?, 0xc00009cb28?, 0x44a972?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5edb80, 0xc00031c000}, {0xc000384780, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5edb80, 0xc00031c000})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc000122000)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:211 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc000122000, 0xc00009cca0, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:271 +0x2b8
9fans.net/go/plan9/client.(*Fid).readAt(0xc00031e0c0, {0xc0000d8000, 0x1000, 0x8?}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:190 +0x19e
9fans.net/go/plan9/client.(*Fid).Read(0x3?, {0xc0000d8000?, 0xc00009ce30?, 0x4370a0?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:155 +0x25
bufio.(*Reader).fill(0xc000124e40)
	/home/rogpeppe/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadByte(0xc000124e40)
	/home/rogpeppe/go/src/bufio/bufio.go:262 +0x2c
9fans.net/go/plumb.(*reader).readLine(0xc00009cef0)
	/home/rogpeppe/other/9fans/plumb/plumb.go:144 +0x56
9fans.net/go/plumb.(*Message).Recv(0xc000748b40, {0x5ed980, 0xc000124e40})
	/home/rogpeppe/other/9fans/plumb/plumb.go:109 +0x98
main.plumbthread()
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:68 +0x36c
created by main.startplumbing
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:93 +0x25

goroutine 42 [IO wait, 10 minutes]:
internal/poll.runtime_pollWait(0x7f91604f9f40, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000099200?, 0xc000150d00?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000099200, {0xc000150d00, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010128, {0xc000150d00?, 0xc00009dca0?, 0x44a972?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5edbe0, 0xc000010128}, {0xc000150d00, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5edbe0, 0xc000010128})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
main.fsysproc()
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:136 +0x7c
created by main.fsysinit
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:126 +0x39c

goroutine 226 [syscall, 31 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xed5f6, 0xc000287e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc000372210)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc000372210)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0000b2420)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 21 [IO wait, 102 minutes]:
internal/poll.runtime_pollWait(0x7f91604fa1f8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00030e360?, 0xc000343fb8?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00030e360, {0xc000343fb8, 0x2000, 0x2000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000b8000, {0xc000343fb8?, 0x0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
main.acmeerrorproc()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:318 +0xaf
created by main.acmeerrorinit
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:335 +0x9e

goroutine 22 [semacquire, 10 minutes]:
sync.runtime_SemacquireMutex(0xc000283668?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72b768)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.keyboardthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:380 +0x225
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:215 +0xcf1

goroutine 23 [chan receive]:
9fans.net/go/draw.(*Mousectl).Read(...)
	/home/rogpeppe/other/9fans/draw/mouse.go:71
9fans.net/go/cmd/acme/internal/ui.Textselect(0xc000118778)
	/home/rogpeppe/other/9fans/cmd/acme/internal/ui/text.go:471 +0x5d8
main.mousethread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:548 +0xa33
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:216 +0xcfd

goroutine 24 [select, 16 minutes]:
main.waitthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:603 +0x1d1
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:217 +0xd09

goroutine 25 [select, 10 minutes]:
main.xfidallocthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:710 +0x79
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:218 +0xd15

goroutine 26 [chan receive, 18 minutes]:
main.newwindowthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:735 +0x45
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:219 +0xd25

goroutine 27 [chan receive, 10 minutes]:
main.xfidctl(0xc0000b4000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 48 [chan receive, 12 minutes]:
main.xfidctl(0xc00036e100)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 50 [IO wait, 100 minutes]:
internal/poll.runtime_pollWait(0x7f91604f9ab8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0003b4360?, 0xc0000c8000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0003b4360, {0xc0000c8000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc00031c050, {0xc0000c8000?, 0xc00007c7b0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc00007c7b0}, {0x5edbe0, 0xc00031c050}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 8 [syscall, 100 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xe7690, 0xc000289e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc000372120)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc000372120)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0000b2000)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 49 [chan receive, 100 minutes]:
main.xfideventread(0xc00036e300, 0xc0000db600)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc00036e300)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc00036e300)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 70 [chan receive, 31 minutes]:
main.xfideventread(0xc000492040, 0xc0008eb080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000492040)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000492040)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 11 [IO wait, 98 minutes]:
internal/poll.runtime_pollWait(0x7f91604f98e8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0004e6a80?, 0xc0004ec000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0004e6a80, {0xc0004ec000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000100f8, {0xc0004ec000?, 0xc00031e1b0?, 0x4c1194?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc00031e1b0}, {0x5edbe0, 0xc0000100f8}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 252 [sync.Cond.Wait, 10 minutes]:
sync.runtime_notifyListWait(0x6e7478, 0x1b7)
	/home/rogpeppe/go/src/runtime/sema.go:513 +0x13d
sync.(*Cond).Wait(0xc00036e7c0?)
	/home/rogpeppe/go/src/sync/cond.go:56 +0x8c
main.xfidlogread(0xc00036e7c0)
	/home/rogpeppe/other/9fans/cmd/acme/logf.go:79 +0x1f7
main.xfidread(0xc00036e7c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:295 +0x13d
main.xfidctl(0xc00036e7c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 12 [syscall, 98 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xe7771, 0xc00004ee28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00001c4e0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00001c4e0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0000b2160)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 32 [chan receive, 16 minutes]:
main.xfideventread(0xc000492000, 0xc000799600)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000492000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000492000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 98 [chan receive, 78 minutes]:
main.xfideventread(0xc0000b40c0, 0xc0000dc100)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0000b40c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0000b40c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 263 [semacquire, 10 minutes]:
sync.runtime_SemacquireMutex(0xc00010f668?, 0xf8?, 0x4eb892?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72b768)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfideventread(0xc000492b80, 0xc000118580)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1008 +0x13d
main.xfidread(0xc000492b80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000492b80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 197 [chan receive, 27 minutes]:
main.xfideventread(0xc00002f7c0, 0xc0008ec680)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc00002f7c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc00002f7c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 287 [syscall, 18 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xeebbe, 0xc000a0ae28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00001c810)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00001c810)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0000b2580)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 286 [IO wait, 18 minutes]:
internal/poll.runtime_pollWait(0x7f91605f3208, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00041db60?, 0xc00046e000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00041db60, {0xc00046e000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0001661c0, {0xc00046e000?, 0xc0000f2120?, 0xc0000d0958?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc0000f2120}, {0x5edbe0, 0xc0001661c0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 126 [IO wait, 67 minutes]:
internal/poll.runtime_pollWait(0x7f91604f9718, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000748c00?, 0xc0004da000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000748c00, {0xc0004da000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000166068, {0xc0004da000?, 0xc00031e360?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc00031e360}, {0x5edbe0, 0xc000166068}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 60 [IO wait, 38 minutes]:
internal/poll.runtime_pollWait(0x7f91604f9548, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00090c0c0?, 0xc0008dc000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00090c0c0, {0xc0008dc000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000102e8, {0xc0008dc000?, 0xc0002f00f0?, 0xc000418298?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc0002f00f0}, {0x5edbe0, 0xc0000102e8}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 281 [syscall, 28 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xedec3, 0xc000446e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00001c8a0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00001c8a0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0004e8160)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 127 [syscall, 67 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xe88ba, 0xc00044b628, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00032aa20)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00032aa20)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0004e8000)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 62 [chan receive, 25 minutes]:
main.xfideventread(0xc00036f600, 0xc0008ea000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc00036f600)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc00036f600)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 61 [syscall, 38 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xecc59, 0xc000286628, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00032a570)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00032a570)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0000b22c0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 192 [IO wait, 31 minutes]:
internal/poll.runtime_pollWait(0x7f91604f9378, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000a50360?, 0xc000ace000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000a50360, {0xc000ace000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0001660c8, {0xc000ace000?, 0xc0002f0180?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc0002f0180}, {0x5edbe0, 0xc0001660c8}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 243 [chan receive, 12 minutes]:
main.xfidctl(0xc0000b4140)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 216 [IO wait, 31 minutes]:
internal/poll.runtime_pollWait(0x7f91605f33d8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00066b2c0?, 0xc000af8000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00066b2c0, {0xc000af8000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000b8258, {0xc000af8000?, 0xc0000f2030?, 0xc00088c298?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc0000f2030}, {0x5edbe0, 0xc0000b8258}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 251 [IO wait, 28 minutes]:
internal/poll.runtime_pollWait(0x7f91605f3038, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000409380?, 0xc000544000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000409380, {0xc000544000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000b8270, {0xc000544000?, 0xc0002f0390?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc0002f0390}, {0x5edbe0, 0xc0000b8270}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

rax    0xfffffffffffffffc
rbx    0x0
rcx    0x464be0
rdx    0x80
rdi    0x4
rsi    0x7ffeabf0cbc8
rbp    0x7ffeabf0d1c8
rsp    0x7ffeabf0cb70
r8     0x0
r9     0x40
r10    0xffffffff
r11    0x246
r12    0x7ffeabf0cbf8
r13    0x0
r14    0x6e7900
r15    0xffffffffffffffff
rip    0x464be0
rflags 0x246
cs     0x33
fs     0x0
gs     0x0
Activity icon
issue

rogpeppe issue comment 9fans/go

rogpeppe
rogpeppe

cmd/acme: deadlock

I encountered this deadlock. Recording the stack trace for posterity..

/home/rogpeppe/src/go/bin/acme: devel go1.18-8248152528 Thu Nov 4 20:43:07 2021 +0000
	path	9fans.net/go/cmd/acme
	mod	9fans.net/go	(devel)	
	build	compiler	gc
	build	tags	goexperiment.regabiwrappers,goexperiment.regabireflect,goexperiment.regabiargs,goexperiment.pacerredesign
	build	CGO_ENABLED	true
	build	CGO_CPPFLAGS	
	build	CGO_CFLAGS	
	build	CGO_CXXFLAGS	
	build	CGO_LDFLAGS	
	build	gitrevision	36f0d54cd5ceec2ae9064909ace236078b252458
	build	gitcommittime	2021-11-05T13:48:27Z
	build	gituncommitted	false
SIGQUIT: quit
PC=0x48ba08 m=0 sigcode=0

goroutine 847 [syscall, 3289 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x74717, 0xc000172e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5 fp=0xc000172dd8 sp=0xc000172dd0 pc=0x48b9e5
os.(*Process).blockUntilWaitable(0xc000324540)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c fp=0xc000172ec8 sp=0xc000172dd8 pc=0x4a33fc
os.(*Process).wait(0xc000324540)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28 fp=0xc000172f28 sp=0xc000172ec8 pc=0x49f448
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f62c0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54 fp=0xc000172fa0 sp=0xc000172f28 pc=0x4c0e14
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25 fp=0xc000172fe0 sp=0xc000172fa0 pc=0x562f25
runtime.goexit()
	/home/rogpeppe/go/src/runtime/asm_amd64.s:1579 +0x1 fp=0xc000172fe8 sp=0xc000172fe0 pc=0x462821
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1 [chan receive, 3936 minutes]:
main.main()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:222 +0xd58

goroutine 7 [chan receive, 3936 minutes]:
main.main.func5()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:116 +0x38
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:115 +0x6cf

goroutine 52 [chan send, 2 minutes]:
9fans.net/go/draw.mouseproc(0x0?, 0xc0000c0000, 0x4c0cca?, 0x0?)
	/home/rogpeppe/other/9fans/draw/mouse.go:63 +0x5c
created by 9fans.net/go/draw.(*Display).InitMouse
	/home/rogpeppe/other/9fans/draw/mouse.go:49 +0x12e

goroutine 53 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6ca8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a6120?, 0xc0006fd7d4?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a6120, {0xc0006fd7d4, 0x4, 0x4})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2020, {0xc0006fd7d4?, 0xc000150af0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0000a2020}, {0xc0006fd7d4, 0x4, 0x4}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/draw/drawfcall.ReadMsg({0x5ed740, 0xc0000a2020})
	/home/rogpeppe/other/9fans/draw/drawfcall/msg.go:232 +0x59
9fans.net/go/draw/drawfcall.(*Conn).RPC(0xc0001000a0, 0xc000150d28, 0xc000a3c6c0)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:93 +0x425
9fans.net/go/draw/drawfcall.(*Conn).ReadKbd(0x0?)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:156 +0x7c
9fans.net/go/draw.kbdproc(0xc0000c0000, 0x0?)
	/home/rogpeppe/other/9fans/draw/keyboard.go:43 +0x48
created by 9fans.net/go/draw.(*Display).InitKeyboard
	/home/rogpeppe/other/9fans/draw/keyboard.go:37 +0x8a

goroutine 54 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6908, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000190400?, 0xc0006c4a80?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000190400, {0xc0006c4a80, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000190400, {0xc0006c4a80?, 0x100c00012a9d8?, 0x7ff7385c33a0?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000a2088, {0xc0006c4a80?, 0xc00005db28?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000a2088}, {0xc0006c4a80, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000a2088})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0000a8000)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0000a8000, 0xc00005dca0, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).readAt(0xc0000af290, {0xc0003ae000, 0x1000, 0x8?}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:190 +0x19e
9fans.net/go/plan9/client.(*Fid).Read(0x3?, {0xc0003ae000?, 0xc00005de30?, 0x436da0?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:155 +0x25
bufio.(*Reader).fill(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadByte(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:262 +0x2c
9fans.net/go/plumb.(*reader).readLine(0xc00005def0)
	/home/rogpeppe/other/9fans/plumb/plumb.go:144 +0x56
9fans.net/go/plumb.(*Message).Recv(0xc000aa55c0, {0x5ed4e0, 0xc0000d2300})
	/home/rogpeppe/other/9fans/plumb/plumb.go:109 +0x98
main.plumbthread()
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:68 +0x36c
created by main.startplumbing
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:93 +0x25

goroutine 55 [IO wait]:
internal/poll.runtime_pollWait(0x7ff738ea6bc0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a69c0?, 0xc000458000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a69c0, {0xc000458000, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0001280a8, {0xc000458000?, 0xc00014cca0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0001280a8}, {0xc000458000, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed740, 0xc0001280a8})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
main.fsysproc()
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:136 +0x7c
created by main.fsysinit
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:126 +0x39c

goroutine 39 [IO wait, 3936 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6e78, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000d2180?, 0xc0001abfb8?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000d2180, {0xc0001abfb8, 0x2000, 0x2000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010010, {0xc0001abfb8?, 0x0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
main.acmeerrorproc()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:318 +0xaf
created by main.acmeerrorinit
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:335 +0x9e

goroutine 40 [select, 2 minutes]:
main.keyboardthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:366 +0x132
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:215 +0xcf1

goroutine 41 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0x0?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidlog(0xc00086e100, {0x5b100e, 0x5})
	/home/rogpeppe/other/9fans/cmd/acme/logf.go:146 +0xfb
main.mousethread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:463 +0x50c
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:216 +0xcfd

goroutine 42 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc000182fe8?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x6e6a60)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.waitthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:644 +0x5f1
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:217 +0xd09

goroutine 43 [select]:
main.xfidallocthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:710 +0x79
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:218 +0xd15

goroutine 44 [chan receive, 4 minutes]:
main.newwindowthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:735 +0x45
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:219 +0xd25

goroutine 66 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001067c8?, 0xa0?, 0xc000b8df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000013400)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 10 [chan receive, 3284 minutes]:
main.xfideventread(0xc0003ba0c0, 0xc000373600)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 916 [IO wait, 3289 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6568, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000077e00?, 0xc0003cc000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000077e00, {0xc0003cc000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2090, {0xc0003cc000?, 0xc000358360?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358360}, {0x5ed740, 0xc0000a2090}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 8 [chan receive, 2 minutes]:
main.xfideventread(0xc0001462c0, 0xc00098c000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2670 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea5ff8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00055bc00?, 0xc000458900?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00055bc00, {0xc000458900, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00055bc00, {0xc000458900?, 0x100c0003c4c80?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000128288, {0xc000458900?, 0xc0003c4d00?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc000128288}, {0xc000458900, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc000128288})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc000153ea0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc000153ea0, 0xc0003c4e48, 0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).Close(0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:46 +0x95
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1144 +0x65
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 82 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001834c8?, 0xa0?, 0xc00045df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000146700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 14 [chan receive, 143 minutes]:
main.xfideventread(0xc000146000, 0xc000387080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 793 [syscall, 3459 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x6fb6c, 0xc000638628, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00072e060)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00072e060)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6000)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 115 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6480, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000195000?, 0xc000458a00?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000195000, {0xc000458a00, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000195000, {0xc000458a00?, 0x100c0003c6b48?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000100c0, {0xc000458a00?, 0xc0003c6bc8?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000100c0}, {0xc000458a00, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000100c0})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0003bc2a0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0003bc2a0, 0xc0003c6d38, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).writeAt(0xc000114b70, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:367 +0x188
9fans.net/go/plan9/client.(*Fid).WriteAt(0x3d?, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:342 +0xf8
9fans.net/go/plan9/client.(*Fid).Write(0xc0000100f0?, {0xc00044c000?, 0xc000114b70?, 0x4c0e14?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:325 +0x25
io.copyBuffer({0x5ed4c0, 0xc000114b70}, {0x5ed740, 0xc0000100f0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:428 +0x204
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2667 [syscall, 9 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd17aa, 0xc000173e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0006203c0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0006203c0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6160)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2666 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c86d8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0008b90e0?, 0xc00042e000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0008b90e0, {0xc00042e000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe040, {0xc00042e000?, 0xc0000ae540?, 0xc000566ad8?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000ae540}, {0x5ed740, 0xc0000fe040}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 119 [chan receive, 4 minutes]:
main.xfideventread(0xc000012080, 0xc000f53b80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 806 [IO wait, 3459 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea60e0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00048f4a0?, 0xc0004f4000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00048f4a0, {0xc0004f4000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010070, {0xc0004f4000?, 0xc000114900?, 0xc0000be418?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000114900}, {0x5ed740, 0xc000010070}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 612 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001194c8?, 0xa0?, 0xc000461f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000776180)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 456 [chan receive, 553 minutes]:
main.xfidctl(0xc0000acd80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1602 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001199a8?, 0xa0?, 0xc0000f7f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000777800)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1955 [syscall, 1759 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x9ec65, 0xc000634e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f69a0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2529 [IO wait, 270 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c87c0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000a0e240?, 0xc00034c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000a0e240, {0xc00034c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe030, {0xc00034c000?, 0xc000358720?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358720}, {0x5ed740, 0xc0000fe030}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 1937 [IO wait, 1759 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6738, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0004aa000?, 0xc000a2c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0004aa000, {0xc000a2c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe1d0, {0xc000a2c000?, 0xc000a2a1e0?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000a2a1e0}, {0x5ed740, 0xc0000fe1d0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2669 [IO wait, 4 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c8168, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000aa59e0?, 0xc000980000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000aa59e0, {0xc000980000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000101f8, {0xc000980000?, 0xc0000af2f0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000af2f0}, {0x5ed740, 0xc0000101f8}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2562 [syscall, 270 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xc8a71, 0xc000517e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00080c090)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00080c090)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6420)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1936 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0006bf808?, 0xa0?, 0xc000b23f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc00012c680)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2693 [syscall, 4 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd1a46, 0xc000637e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0008eb260)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0008eb260)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f66e0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2314 [chan receive, 30 minutes]:
main.xfideventread(0xc0000ac700, 0xc0006b4580)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

rax    0xf7
rbx    0xc00002c000
rcx    0x48ba0a
rdx    0xc000172e28
rdi    0x1
rsi    0x74717
rbp    0xc000172eb8
rsp    0xc000172dd0
r8     0x0
r9     0x0
r10    0x1000004
r11    0x202
r12    0xc000172e58
r13    0x30
r14    0xc000107a00
r15    0x7ff73b03ea61
rip    0x48ba08
rflags 0x202
cs     0x33
fs     0x0
gs     0x0
rogpeppe
rogpeppe

Here's another example. This one happened very shortly after starting acme:

% SIGQUIT: quit
PC=0x4649c1 m=0 sigcode=0

goroutine 0 [idle]:
runtime.futex()
	/home/rogpeppe/go/src/runtime/sys_linux_amd64.s:552 +0x21
runtime.futexsleep(0xc000034a00?, 0x0?, 0x0?)
	/home/rogpeppe/go/src/runtime/os_linux.go:56 +0x36
runtime.notesleep(0x6e8230)
	/home/rogpeppe/go/src/runtime/lock_futex.go:159 +0x87
runtime.mPark()
	/home/rogpeppe/go/src/runtime/proc.go:1432 +0x2a
runtime.stopm()
	/home/rogpeppe/go/src/runtime/proc.go:2402 +0x78
runtime.findrunnable()
	/home/rogpeppe/go/src/runtime/proc.go:2978 +0x865
runtime.schedule()
	/home/rogpeppe/go/src/runtime/proc.go:3361 +0x239
runtime.goschedImpl(0xc000003040)
	/home/rogpeppe/go/src/runtime/proc.go:3525 +0xc5
runtime.gosched_m(0xc000003040?)
	/home/rogpeppe/go/src/runtime/proc.go:3533 +0x31
runtime.mcall()
	/home/rogpeppe/go/src/runtime/asm_amd64.s:433 +0x43

goroutine 1 [chan receive, 40 minutes]:
main.main()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:222 +0xd58

goroutine 9 [chan receive, 40 minutes]:
main.main.func5()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:116 +0x38
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:115 +0x6cf

goroutine 10 [chan send]:
9fans.net/go/draw.mouseproc(0x0?, 0xc00013a000, 0x0?, 0x0?)
	/home/rogpeppe/other/9fans/draw/mouse.go:63 +0x5c
created by 9fans.net/go/draw.(*Display).InitMouse
	/home/rogpeppe/other/9fans/draw/mouse.go:49 +0x12e

goroutine 11 [IO wait]:
internal/poll.runtime_pollWait(0x7f729c716da8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000123c0?, 0xc000020410?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000123c0, {0xc000020410, 0x4, 0x4})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000100c8, {0xc000020410?, 0xc00009eaf0?, 0x44a972?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5edbe0, 0xc0000100c8}, {0xc000020410, 0x4, 0x4}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/draw/drawfcall.ReadMsg({0x5edbe0, 0xc0000100c8})
	/home/rogpeppe/other/9fans/draw/drawfcall/msg.go:232 +0x59
9fans.net/go/draw/drawfcall.(*Conn).RPC(0xc00007a0a0, 0xc00009ed28, 0xc0006b3200)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:93 +0x425
9fans.net/go/draw/drawfcall.(*Conn).ReadKbd(0x0?)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:156 +0x7c
9fans.net/go/draw.kbdproc(0xc00013a000, 0x0?)
	/home/rogpeppe/other/9fans/draw/keyboard.go:43 +0x48
created by 9fans.net/go/draw.(*Display).InitKeyboard
	/home/rogpeppe/other/9fans/draw/keyboard.go:37 +0x8a

goroutine 12 [IO wait, 1 minutes]:
internal/poll.runtime_pollWait(0x7f729c716a08, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000320080?, 0xc000149800?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000320080, {0xc000149800, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000320080, {0xc000149800?, 0x100c000064aa8?, 0x7f729c76ba50?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000322000, {0xc000149800?, 0xc000064b28?, 0x44a972?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5edb80, 0xc000322000}, {0xc000149800, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5edb80, 0xc000322000})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc000122000)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:211 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc000122000, 0xc000064ca0, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:271 +0x2b8
9fans.net/go/plan9/client.(*Fid).readAt(0xc0003240c0, {0xc000119000, 0x1000, 0x8?}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:190 +0x19e
9fans.net/go/plan9/client.(*Fid).Read(0x3?, {0xc000119000?, 0xc000064e30?, 0x4370a0?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:155 +0x25
bufio.(*Reader).fill(0xc0000a5c80)
	/home/rogpeppe/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadByte(0xc0000a5c80)
	/home/rogpeppe/go/src/bufio/bufio.go:262 +0x2c
9fans.net/go/plumb.(*reader).readLine(0xc000064ef0)
	/home/rogpeppe/other/9fans/plumb/plumb.go:144 +0x56
9fans.net/go/plumb.(*Message).Recv(0xc000501020, {0x5ed980, 0xc0000a5c80})
	/home/rogpeppe/other/9fans/plumb/plumb.go:109 +0x98
main.plumbthread()
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:68 +0x36c
created by main.startplumbing
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:93 +0x25

goroutine 13 [IO wait]:
internal/poll.runtime_pollWait(0x7f729c716cc0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000133e0?, 0xc00002a080?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000133e0, {0xc00002a080, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010130, {0xc00002a080?, 0xc000065ca0?, 0x44a972?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5edbe0, 0xc000010130}, {0xc00002a080, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5edbe0, 0xc000010130})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
main.fsysproc()
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:136 +0x7c
created by main.fsysinit
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:126 +0x39c

goroutine 66 [chan receive, 1 minutes]:
main.xfideventread(0xc000392040, 0xc000127600)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000392040)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000392040)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 20 [IO wait, 40 minutes]:
internal/poll.runtime_pollWait(0x7f729c716f78, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a5a40?, 0xc00044dfb8?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a5a40, {0xc00044dfb8, 0x2000, 0x2000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000322040, {0xc00044dfb8?, 0x0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
main.acmeerrorproc()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:318 +0xaf
created by main.acmeerrorinit
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:335 +0x9e

goroutine 21 [select]:
main.keyboardthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:366 +0x132
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:215 +0xcf1

goroutine 22 [semacquire]:
sync.runtime_SemacquireMutex(0x0?, 0x0?, 0x0?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72b768)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidlog(0xc000522b00, {0x5b11ce, 0x5})
	/home/rogpeppe/other/9fans/cmd/acme/logf.go:146 +0xfb
main.mousethread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:463 +0x50c
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:216 +0xcfd

goroutine 23 [semacquire]:
sync.runtime_SemacquireMutex(0xc000303328?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x6e7aa0)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.waitthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:644 +0x5f1
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:217 +0xd09

goroutine 24 [select]:
main.xfidallocthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:710 +0x79
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:218 +0xd15

goroutine 25 [chan receive, 2 minutes]:
main.newwindowthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:735 +0x45
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:219 +0xd25

goroutine 26 [semacquire]:
sync.runtime_SemacquireMutex(0xc000303808?, 0x80?, 0xc00077bf80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72b768)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc0000dc140)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 30 [chan receive, 2 minutes]:
main.xfideventread(0xc00002e440, 0xc000126580)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc00002e440)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc00002e440)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 29 [chan receive]:
main.xfidctl(0xc000124180)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 38 [semacquire]:
sync.runtime_SemacquireMutex(0xc00008ab08?, 0x80?, 0xc000427f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72b768)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc00002e380)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 50 [IO wait, 5 minutes]:
internal/poll.runtime_pollWait(0x7f729c716838, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a4de0?, 0xc0000de000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a4de0, {0xc0000de000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000ae020, {0xc0000de000?, 0xc0003241e0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc0003241e0}, {0x5edbe0, 0xc0000ae020}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 118 [IO wait]:
internal/poll.runtime_pollWait(0x7f729c7160f8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000320980?, 0xc000148800?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000320980, {0xc000148800, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000320980, {0xc000148800?, 0x100c000157c80?, 0x7f729c76ba50?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000ae060, {0xc000148800?, 0xc000157d00?, 0x44a972?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5edb80, 0xc0000ae060}, {0xc000148800, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5edb80, 0xc0000ae060})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0002c4770)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:211 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0002c4770, 0xc000157e48, 0xc0003247e0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:271 +0x2b8
9fans.net/go/plan9/client.(*Fid).Close(0xc0003247e0)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:46 +0x95
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1144 +0x65
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 54 [IO wait, 5 minutes]:
internal/poll.runtime_pollWait(0x7f729c716668, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0004005a0?, 0xc0003a2000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0004005a0, {0xc0003a2000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000ae038, {0xc0003a2000?, 0xc00007c8d0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc00007c8d0}, {0x5edbe0, 0xc0000ae038}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 55 [syscall, 5 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xe60d6, 0xc000285e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00001a510)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00001a510)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc000406000)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 119 [semacquire]:
sync.runtime_SemacquireMutex(0xc000283188?, 0x0?, 0x0?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72b768)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000392140)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 40 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7f729c7162c8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000569320?, 0xc00075c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000569320, {0xc00075c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0003a0040, {0xc00075c000?, 0xc00007c630?, 0x6100000061?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc00007c630}, {0x5edbe0, 0xc0003a0040}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 114 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7f729c716498, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0003157a0?, 0xc00040c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0003157a0, {0xc00040c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000100f0, {0xc00040c000?, 0xc00007c960?, 0xc000296478?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed960, 0xc00007c960}, {0x5edbe0, 0xc0000100f0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 75 [chan receive]:
main.xfidctl(0xc0000dc080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 100 [syscall, 2 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xe63a7, 0xc000354628, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0000a8120)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0000a8120)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc000406160)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

rax    0xca
rbx    0x0
rcx    0x4649c3
rdx    0x0
rdi    0x6e8230
rsi    0x80
rbp    0x7ffe50d7d000
rsp    0x7ffe50d7cfb8
r8     0x0
r9     0x0
r10    0x0
r11    0x286
r12    0x495
r13    0x0
r14    0x6e7900
r15    0x6c8f40
rip    0x4649c1
rflags 0x286
cs     0x33
fs     0x0
gs     0x0
push

rogpeppe push 9fans/go

rogpeppe
rogpeppe
rogpeppe
rogpeppe

Merge pull request #83 from rogpeppe-contrib/016-fix-frame-insert

draw/frame: fix insertion

commit sha: d53560b4e9b4655082d7f792dc9552b9f38abcbf

push time in 1 week ago
pull request

rogpeppe pull request 9fans/go

rogpeppe
rogpeppe

draw/frame: fix insertion

This fixes the issue where inserting some text on a wrapped line would cause the text to wrap at an inappropriate place.

Also add some comments to the frame code to try to make things easier for future maintainers. The comments may well be misguided though!

pull request

rogpeppe pull request 9fans/go

rogpeppe
rogpeppe

draw/frame: fix insertion

This fixes the issue where inserting some text on a wrapped line would cause the text to wrap at an inappropriate place.

Also add some comments to the frame code to try to make things easier for future maintainers. The comments may well be misguided though!

Activity icon
issue

rogpeppe issue 9fans/go

rogpeppe
rogpeppe

cmd/acme: autoscrolling doesn't work correctly

To reproduce: start selecting, drag mouse off the bottom of the window keeping mouse button held down. The selection does not continue to grow.

Activity icon
issue

rogpeppe issue comment 9fans/go

rogpeppe
rogpeppe

cmd/acme: autoscrolling doesn't work correctly

To reproduce: start selecting, drag mouse off the bottom of the window keeping mouse button held down. The selection does not continue to grow.

started
started time in 1 week ago
started
started time in 1 week ago
Nov
15
1 week ago
pull request

rogpeppe pull request 9fans/go

rogpeppe
rogpeppe

draw/frame: fix scrolling downwards

push

rogpeppe push 9fans/go

rogpeppe
rogpeppe

draw/frame: fix scrolling downwards

rogpeppe
rogpeppe

Merge pull request #82 from rogpeppe-contrib/015-fix-acme-scroll

draw/frame: fix scrolling downwards

commit sha: 1a4c56e8447df758643f119821345302d608a3af

push time in 1 week ago
pull request

rogpeppe pull request 9fans/go

rogpeppe
rogpeppe

draw/frame: fix scrolling downwards

Activity icon
issue

rogpeppe issue 9fans/go

rogpeppe
rogpeppe

cmd/acme: deadlock

I encountered this deadlock. Recording the stack trace for posterity..

/home/rogpeppe/src/go/bin/acme: devel go1.18-8248152528 Thu Nov 4 20:43:07 2021 +0000
	path	9fans.net/go/cmd/acme
	mod	9fans.net/go	(devel)	
	build	compiler	gc
	build	tags	goexperiment.regabiwrappers,goexperiment.regabireflect,goexperiment.regabiargs,goexperiment.pacerredesign
	build	CGO_ENABLED	true
	build	CGO_CPPFLAGS	
	build	CGO_CFLAGS	
	build	CGO_CXXFLAGS	
	build	CGO_LDFLAGS	
	build	gitrevision	36f0d54cd5ceec2ae9064909ace236078b252458
	build	gitcommittime	2021-11-05T13:48:27Z
	build	gituncommitted	false
SIGQUIT: quit
PC=0x48ba08 m=0 sigcode=0

goroutine 847 [syscall, 3289 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x74717, 0xc000172e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5 fp=0xc000172dd8 sp=0xc000172dd0 pc=0x48b9e5
os.(*Process).blockUntilWaitable(0xc000324540)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c fp=0xc000172ec8 sp=0xc000172dd8 pc=0x4a33fc
os.(*Process).wait(0xc000324540)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28 fp=0xc000172f28 sp=0xc000172ec8 pc=0x49f448
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f62c0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54 fp=0xc000172fa0 sp=0xc000172f28 pc=0x4c0e14
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25 fp=0xc000172fe0 sp=0xc000172fa0 pc=0x562f25
runtime.goexit()
	/home/rogpeppe/go/src/runtime/asm_amd64.s:1579 +0x1 fp=0xc000172fe8 sp=0xc000172fe0 pc=0x462821
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1 [chan receive, 3936 minutes]:
main.main()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:222 +0xd58

goroutine 7 [chan receive, 3936 minutes]:
main.main.func5()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:116 +0x38
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:115 +0x6cf

goroutine 52 [chan send, 2 minutes]:
9fans.net/go/draw.mouseproc(0x0?, 0xc0000c0000, 0x4c0cca?, 0x0?)
	/home/rogpeppe/other/9fans/draw/mouse.go:63 +0x5c
created by 9fans.net/go/draw.(*Display).InitMouse
	/home/rogpeppe/other/9fans/draw/mouse.go:49 +0x12e

goroutine 53 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6ca8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a6120?, 0xc0006fd7d4?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a6120, {0xc0006fd7d4, 0x4, 0x4})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2020, {0xc0006fd7d4?, 0xc000150af0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0000a2020}, {0xc0006fd7d4, 0x4, 0x4}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/draw/drawfcall.ReadMsg({0x5ed740, 0xc0000a2020})
	/home/rogpeppe/other/9fans/draw/drawfcall/msg.go:232 +0x59
9fans.net/go/draw/drawfcall.(*Conn).RPC(0xc0001000a0, 0xc000150d28, 0xc000a3c6c0)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:93 +0x425
9fans.net/go/draw/drawfcall.(*Conn).ReadKbd(0x0?)
	/home/rogpeppe/other/9fans/draw/drawfcall/mux.go:156 +0x7c
9fans.net/go/draw.kbdproc(0xc0000c0000, 0x0?)
	/home/rogpeppe/other/9fans/draw/keyboard.go:43 +0x48
created by 9fans.net/go/draw.(*Display).InitKeyboard
	/home/rogpeppe/other/9fans/draw/keyboard.go:37 +0x8a

goroutine 54 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6908, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000190400?, 0xc0006c4a80?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000190400, {0xc0006c4a80, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000190400, {0xc0006c4a80?, 0x100c00012a9d8?, 0x7ff7385c33a0?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000a2088, {0xc0006c4a80?, 0xc00005db28?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000a2088}, {0xc0006c4a80, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000a2088})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0000a8000)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0000a8000, 0xc00005dca0, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).readAt(0xc0000af290, {0xc0003ae000, 0x1000, 0x8?}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:190 +0x19e
9fans.net/go/plan9/client.(*Fid).Read(0x3?, {0xc0003ae000?, 0xc00005de30?, 0x436da0?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:155 +0x25
bufio.(*Reader).fill(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadByte(0xc0000d2300)
	/home/rogpeppe/go/src/bufio/bufio.go:262 +0x2c
9fans.net/go/plumb.(*reader).readLine(0xc00005def0)
	/home/rogpeppe/other/9fans/plumb/plumb.go:144 +0x56
9fans.net/go/plumb.(*Message).Recv(0xc000aa55c0, {0x5ed4e0, 0xc0000d2300})
	/home/rogpeppe/other/9fans/plumb/plumb.go:109 +0x98
main.plumbthread()
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:68 +0x36c
created by main.startplumbing
	/home/rogpeppe/other/9fans/cmd/acme/look1.go:93 +0x25

goroutine 55 [IO wait]:
internal/poll.runtime_pollWait(0x7ff738ea6bc0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000a69c0?, 0xc000458000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000a69c0, {0xc000458000, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0001280a8, {0xc000458000?, 0xc00014cca0?, 0x44a672?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.ReadAtLeast({0x5ed740, 0xc0001280a8}, {0xc000458000, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed740, 0xc0001280a8})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
main.fsysproc()
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:136 +0x7c
created by main.fsysinit
	/home/rogpeppe/other/9fans/cmd/acme/fsys1.go:126 +0x39c

goroutine 39 [IO wait, 3936 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6e78, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0000d2180?, 0xc0001abfb8?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0000d2180, {0xc0001abfb8, 0x2000, 0x2000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010010, {0xc0001abfb8?, 0x0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
main.acmeerrorproc()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:318 +0xaf
created by main.acmeerrorinit
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:335 +0x9e

goroutine 40 [select, 2 minutes]:
main.keyboardthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:366 +0x132
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:215 +0xcf1

goroutine 41 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0x0?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidlog(0xc00086e100, {0x5b100e, 0x5})
	/home/rogpeppe/other/9fans/cmd/acme/logf.go:146 +0xfb
main.mousethread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:463 +0x50c
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:216 +0xcfd

goroutine 42 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc000182fe8?, 0x0?, 0x1?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x6e6a60)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.waitthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:644 +0x5f1
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:217 +0xd09

goroutine 43 [select]:
main.xfidallocthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:710 +0x79
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:218 +0xd15

goroutine 44 [chan receive, 4 minutes]:
main.newwindowthread()
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:735 +0x45
created by main.main
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:219 +0xd25

goroutine 66 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001067c8?, 0xa0?, 0xc000b8df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000013400)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 10 [chan receive, 3284 minutes]:
main.xfideventread(0xc0003ba0c0, 0xc000373600)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0003ba0c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 916 [IO wait, 3289 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6568, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000077e00?, 0xc0003cc000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000077e00, {0xc0003cc000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000a2090, {0xc0003cc000?, 0xc000358360?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358360}, {0x5ed740, 0xc0000a2090}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 8 [chan receive, 2 minutes]:
main.xfideventread(0xc0001462c0, 0xc00098c000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0001462c0)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2670 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea5ff8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00055bc00?, 0xc000458900?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00055bc00, {0xc000458900, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00055bc00, {0xc000458900?, 0x100c0003c4c80?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000128288, {0xc000458900?, 0xc0003c4d00?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc000128288}, {0xc000458900, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc000128288})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc000153ea0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc000153ea0, 0xc0003c4e48, 0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).Close(0xc000114a80)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:46 +0x95
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1144 +0x65
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 82 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001834c8?, 0xa0?, 0xc00045df80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000146700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 14 [chan receive, 143 minutes]:
main.xfideventread(0xc000146000, 0xc000387080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000146000)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 793 [syscall, 3459 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x6fb6c, 0xc000638628, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00072e060)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00072e060)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6000)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 115 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6480, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000195000?, 0xc000458a00?, 0x0)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000195000, {0xc000458a00, 0x4, 0x80})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000195000, {0xc000458a00?, 0x100c0003c6b48?, 0x7ff738eacb60?})
	/home/rogpeppe/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000100c0, {0xc000458a00?, 0xc0003c6bc8?, 0x44a672?})
	/home/rogpeppe/go/src/net/net.go:183 +0x45
io.ReadAtLeast({0x5ed6e0, 0xc0000100c0}, {0xc000458a00, 0x4, 0x80}, 0x4)
	/home/rogpeppe/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/home/rogpeppe/go/src/io/io.go:350
9fans.net/go/plan9.ReadFcall({0x5ed6e0, 0xc0000100c0})
	/home/rogpeppe/other/9fans/plan9/fcall.go:421 +0x5b
9fans.net/go/plan9/client.(*conn).read(0xc0003bc2a0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:209 +0x51
9fans.net/go/plan9/client.(*conn).rpc(0xc0003bc2a0, 0xc0003c6d38, 0x0)
	/home/rogpeppe/other/9fans/plan9/client/conn.go:266 +0x2b8
9fans.net/go/plan9/client.(*Fid).writeAt(0xc000114b70, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:367 +0x188
9fans.net/go/plan9/client.(*Fid).WriteAt(0x3d?, {0xc00044c000, 0x3d, 0x8000}, 0xffffffffffffffff)
	/home/rogpeppe/other/9fans/plan9/client/fid.go:342 +0xf8
9fans.net/go/plan9/client.(*Fid).Write(0xc0000100f0?, {0xc00044c000?, 0xc000114b70?, 0x4c0e14?})
	/home/rogpeppe/other/9fans/plan9/client/fid.go:325 +0x25
io.copyBuffer({0x5ed4c0, 0xc000114b70}, {0x5ed740, 0xc0000100f0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:428 +0x204
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2667 [syscall, 9 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd17aa, 0xc000173e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0006203c0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0006203c0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6160)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2666 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c86d8, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0008b90e0?, 0xc00042e000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0008b90e0, {0xc00042e000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe040, {0xc00042e000?, 0xc0000ae540?, 0xc000566ad8?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000ae540}, {0x5ed740, 0xc0000fe040}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 119 [chan receive, 4 minutes]:
main.xfideventread(0xc000012080, 0xc000f53b80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc000012080)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 806 [IO wait, 3459 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea60e0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc00048f4a0?, 0xc0004f4000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00048f4a0, {0xc0004f4000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010070, {0xc0004f4000?, 0xc000114900?, 0xc0000be418?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000114900}, {0x5ed740, 0xc000010070}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 612 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001194c8?, 0xa0?, 0xc000461f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000776180)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 456 [chan receive, 553 minutes]:
main.xfidctl(0xc0000acd80)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:69 +0x59
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1602 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0001199a8?, 0xa0?, 0xc0000f7f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc000777800)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 1955 [syscall, 1759 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x9ec65, 0xc000634e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc000a4fdd0)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f69a0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2529 [IO wait, 270 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c87c0, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000a0e240?, 0xc00034c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000a0e240, {0xc00034c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe030, {0xc00034c000?, 0xc000358720?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000358720}, {0x5ed740, 0xc0000fe030}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 1937 [IO wait, 1759 minutes]:
internal/poll.runtime_pollWait(0x7ff738ea6738, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc0004aa000?, 0xc000a2c000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc0004aa000, {0xc000a2c000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000fe1d0, {0xc000a2c000?, 0xc000a2a1e0?, 0x4c0e14?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc000a2a1e0}, {0x5ed740, 0xc0000fe1d0}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2669 [IO wait, 4 minutes]:
internal/poll.runtime_pollWait(0x7ff7384c8168, 0x72)
	/home/rogpeppe/go/src/runtime/netpoll.go:233 +0x89
internal/poll.(*pollDesc).wait(0xc000aa59e0?, 0xc000980000?, 0x1)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/home/rogpeppe/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000aa59e0, {0xc000980000, 0x8000, 0x8000})
	/home/rogpeppe/go/src/internal/poll/fd_unix.go:167 +0x25a
os.(*File).read(...)
	/home/rogpeppe/go/src/os/file_posix.go:31
os.(*File).Read(0xc0000101f8, {0xc000980000?, 0xc0000af2f0?, 0x0?})
	/home/rogpeppe/go/src/os/file.go:119 +0x5e
io.copyBuffer({0x5ed4c0, 0xc0000af2f0}, {0x5ed740, 0xc0000101f8}, {0x0, 0x0, 0x0})
	/home/rogpeppe/go/src/io/io.go:426 +0x1b2
io.Copy(...)
	/home/rogpeppe/go/src/io/io.go:385
9fans.net/go/cmd/acme/internal/exec.fsopenfd.func2()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1142 +0x45
created by 9fans.net/go/cmd/acme/internal/exec.fsopenfd
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1141 +0x118

goroutine 2562 [syscall, 270 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xc8a71, 0xc000517e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc00080c090)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc00080c090)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f6420)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 1936 [semacquire, 2 minutes]:
sync.runtime_SemacquireMutex(0xc0006bf808?, 0xa0?, 0xc000b23f80?)
	/home/rogpeppe/go/src/runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0x72a730)
	/home/rogpeppe/go/src/sync/mutex.go:153 +0x165
sync.(*Mutex).Lock(...)
	/home/rogpeppe/go/src/sync/mutex.go:81
main.bigLock(...)
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:768
main.xfidctl(0xc00012c680)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:70 +0x8c
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

goroutine 2693 [syscall, 4 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xd1a46, 0xc000637e28, 0x1000004, 0x0, 0x0)
	/home/rogpeppe/go/src/syscall/asm_linux_amd64.s:43 +0x5
os.(*Process).blockUntilWaitable(0xc0008eb260)
	/home/rogpeppe/go/src/os/wait_waitid.go:32 +0x9c
os.(*Process).wait(0xc0008eb260)
	/home/rogpeppe/go/src/os/exec_unix.go:22 +0x28
os.(*Process).Wait(...)
	/home/rogpeppe/go/src/os/exec.go:132
os/exec.(*Cmd).Wait(0xc0001f66e0)
	/home/rogpeppe/go/src/os/exec/exec.go:507 +0x54
9fans.net/go/cmd/acme/internal/exec.runproc.func1()
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1054 +0x25
created by 9fans.net/go/cmd/acme/internal/exec.runproc
	/home/rogpeppe/other/9fans/cmd/acme/internal/exec/exec.go:1053 +0xffc

goroutine 2314 [chan receive, 30 minutes]:
main.xfideventread(0xc0000ac700, 0xc0006b4580)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:1007 +0x108
main.xfidread(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:329 +0x57f
main.xfidctl(0xc0000ac700)
	/home/rogpeppe/other/9fans/cmd/acme/xfid.go:71 +0x9b
created by main.xfidallocthread
	/home/rogpeppe/other/9fans/cmd/acme/acme.go:719 +0x176

rax    0xf7
rbx    0xc00002c000
rcx    0x48ba0a
rdx    0xc000172e28
rdi    0x1
rsi    0x74717
rbp    0xc000172eb8
rsp    0xc000172dd0
r8     0x0
r9     0x0
r10    0x1000004
r11    0x202
r12    0xc000172e58
r13    0x30
r14    0xc000107a00
r15    0x7ff73b03ea61
rip    0x48ba08
rflags 0x202
cs     0x33
fs     0x0
gs     0x0
Nov
14
2 weeks ago
Activity icon
fork

1AoGi forked 9fans/go

⚡ Packages and commands for using Plan 9 from Go
1AoGi MIT License Updated
fork time in 2 weeks ago
Nov
13
2 weeks ago
Activity icon
delete

rogpeppe in 9fans/go delete branch 012-static-clone

deleted time in 2 weeks ago
push

rogpeppe push 9fans/go

rogpeppe
rogpeppe

server: modify Fid values in place

Change the Fsys interface so that it explicitly uses pointer values, meaning that Server.fid can contain fids by value and there's no need for the comparable constraint and associated awkwardness. Add a Fsys.Qid method to get the qid for a fid, which means we don't have to have a pointer-method constraint, and also means that server implementations are free to fill in the Version field too.

commit sha: 659aa60126be4f951d95b324e5ca382be46b349f

push time in 2 weeks ago
started
started time in 2 weeks ago
Nov
12
2 weeks ago
started
started time in 2 weeks ago
Activity icon
created branch

rogpeppe in 9fans/go create branch 012-static-clone

createdAt 2 weeks ago
Nov
10
2 weeks ago
started
started time in 2 weeks ago
started
started time in 2 weeks ago
started
started time in 2 weeks ago
Nov
9
2 weeks ago
Activity icon
delete

rogpeppe in 9fans/go delete branch 011-plan9-server

deleted time in 2 weeks ago