Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/net/http2: some tests are hanging on Plan 9 #35904

Closed
fhs opened this issue Nov 29, 2019 · 2 comments
Closed

x/net/http2: some tests are hanging on Plan 9 #35904

fhs opened this issue Nov 29, 2019 · 2 comments
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. OS-Plan9 Testing An issue that has been verified to require only test changes, not just a test failure.

Comments

@fhs
Copy link
Contributor

fhs commented Nov 29, 2019

Some tests are hanging and then timing out on the builder (see https://build.golang.org/log/e8cfde2d4ead686a8f9bb892621c1394d7505bce and below). This is due to plan9 not supporting CloseWrite on TCP connections. I think we should also call Close on the connection on plan9, so that tests don't hang and waste time on the builder.

panic: test timed out after 10m0s

goroutine 109237 [running]:
testing.(*M).startAlarm.func1()
	/tmp/workdir-gnot/go/src/testing/testing.go:1422 +0xca
created by time.goFunc
	/tmp/workdir-gnot/go/src/time/sleep.go:168 +0x36

goroutine 1 [chan receive, 8 minutes]:
testing.(*T).Run(0x10c8cdc0, 0x405c09, 0x25, 0x4181dc, 0x301)
	/tmp/workdir-gnot/go/src/testing/testing.go:1006 +0x2cb
testing.runTests.func1(0x10c8c140)
	/tmp/workdir-gnot/go/src/testing/testing.go:1247 +0x59
testing.tRunner(0x10c8c140, 0x10c2cefc)
	/tmp/workdir-gnot/go/src/testing/testing.go:954 +0xb3
testing.runTests(0x10c16140, 0x72c940, 0x132, 0x132, 0x0)
	/tmp/workdir-gnot/go/src/testing/testing.go:1245 +0x22c
testing.(*M).Run(0x10c441c0, 0x0)
	/tmp/workdir-gnot/go/src/testing/testing.go:1162 +0x113
main.main()
	_testmain.go:668 +0x103

goroutine 104722 [chan receive, 8 minutes]:
golang.org/x/net/http2.(*clientTester).run(0x10c56300)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport_test.go:768 +0xf5
golang.org/x/net/http2.testTransportReqBodyAfterResponse(0x10c8cdc0, 0xc8)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport_test.go:930 +0xe8
golang.org/x/net/http2.TestTransportReqBodyAfterResponse_200(0x10c8cdc0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport_test.go:826 +0x28
testing.tRunner(0x10c8cdc0, 0x4181dc)
	/tmp/workdir-gnot/go/src/testing/testing.go:954 +0xb3
created by testing.(*T).Run
	/tmp/workdir-gnot/go/src/testing/testing.go:1005 +0x2ac

goroutine 67 [syscall, 9 minutes]:
syscall.Syscall(0xe, 0x10c5aa60, 0x0, 0x0, 0x13, 0x0, 0x0, 0x20)
	/tmp/workdir-gnot/go/src/syscall/asm_plan9_386.s:22 +0xb
syscall.open(0x10c5aa40, 0x12, 0x0, 0x0, 0x114eb0, 0x72e5f0)
	/tmp/workdir-gnot/go/src/syscall/zsyscall_plan9_386.go:61 +0x7a
syscall.Open(0x10c5aa40, 0x12, 0x0, 0x72e5f0, 0x418884, 0x114d02)
	/tmp/workdir-gnot/go/src/syscall/syscall_plan9.go:382 +0x6c
os.openFileNolog(0x10c5aa40, 0x12, 0x0, 0x0, 0x2, 0x10c5aa40, 0x12)
	/tmp/workdir-gnot/go/src/os/file_plan9.go:113 +0x28f
os.OpenFile(0x10c5aa40, 0x12, 0x0, 0x0, 0x7, 0x10c5aa40, 0x12)
	/tmp/workdir-gnot/go/src/os/file.go:303 +0x50
os.Open(...)
	/tmp/workdir-gnot/go/src/os/file.go:283
net.(*netFD).acceptPlan9(0x10c5eee0, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/ipsock_plan9.go:250 +0x117
net.(*TCPListener).accept(0x10c16440, 0x29db41, 0x10c44280, 0x0)
	/tmp/workdir-gnot/go/src/net/tcpsock_plan9.go:48 +0x26
net.(*TCPListener).Accept(0x10c16440, 0x418884, 0x262104, 0x497e60, 0x10ce4200)
	/tmp/workdir-gnot/go/src/net/tcpsock.go:261 +0x5d
crypto/tls.(*listener).Accept(0x10c16c00, 0x10ceff44, 0xc, 0x10c008c0, 0x2665c8)
	/tmp/workdir-gnot/go/src/crypto/tls/tls.go:55 +0x29
net/http.(*Server).Serve(0x10c593b0, 0x495270, 0x10c16c00, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/http/server.go:2901 +0x1ea
net/http/httptest.(*Server).goServe.func1(0x10c44280)
	/tmp/workdir-gnot/go/src/net/http/httptest/server.go:308 +0x5b
created by net/http/httptest.(*Server).goServe
	/tmp/workdir-gnot/go/src/net/http/httptest/server.go:306 +0x4b

goroutine 81 [chan receive, 9 minutes]:
internal/poll.(*asyncIO).Wait(...)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:84
internal/poll.(*FD).Read(0x10c5f180, 0x10cd70d8, 0x10ce06c0, 0x205, 0x205, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/internal/poll/fd_plan9.go:73 +0x117
net.(*netFD).Read(0x10c5f180, 0x10ce06c0, 0x205, 0x205, 0x0, 0x7aa724, 0x124)
	/tmp/workdir-gnot/go/src/net/fd_plan9.go:86 +0xa4
net.(*conn).Read(0x10cd6db0, 0x10ce06c0, 0x205, 0x205, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/net.go:184 +0x66
crypto/tls.(*atLeastReader).Read(0x10c17240, 0x10ce06c0, 0x205, 0x205, 0x0, 0x10c1a5e8, 0x10bad150)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:760 +0x60
bytes.(*Buffer).ReadFrom(0x10ce4360, 0x48f830, 0x10c17240, 0x315b9c, 0x8748, 0x39e1a0, 0x3e84e0)
	/tmp/workdir-gnot/go/src/bytes/buffer.go:204 +0x94
crypto/tls.(*Conn).readFromUntil(0x10ce4200, 0x10bad150, 0x10cd6db0, 0x5, 0x10cd6db0, 0x3f69b2)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:782 +0xca
crypto/tls.(*Conn).readRecordOrCCS(0x10ce4200, 0x0, 0x0, 0x8edb)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:589 +0x10b
crypto/tls.(*Conn).readRecord(...)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:557
crypto/tls.(*Conn).Read(0x10ce4200, 0x10c73a20, 0x9, 0x9, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:1233 +0x13b
io.ReadAtLeast(0x48f7f0, 0x10ce4200, 0x10c73a20, 0x9, 0x9, 0x9, 0x1, 0x1, 0x0)
	/tmp/workdir-gnot/go/src/io/io.go:310 +0x73
io.ReadFull(...)
	/tmp/workdir-gnot/go/src/io/io.go:329
golang.org/x/net/http2.readFrameHeader(0x10c73a20, 0x9, 0x9, 0x48f7f0, 0x10ce4200, 0x0, 0x0, 0x0, 0x10c01260, 0x10cf0f84)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:237 +0x6d
golang.org/x/net/http2.(*Framer).ReadFrame(0x10c73a00, 0x10cf0f54, 0x2, 0x0, 0x1)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:492 +0x75
golang.org/x/net/http2.(*serverConn).readFrames(0x10c017a0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:748 +0x82
created by golang.org/x/net/http2.(*serverConn).serve
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:853 +0x2f6

goroutine 70 [select, 9 minutes]:
golang.org/x/net/http2.(*serverConn).serve(0x10c017a0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:861 +0x52b
golang.org/x/net/http2.(*Server).ServeConn(0x10c56540, 0x497e60, 0x10ce4200, 0x10cc7d84)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:472 +0x61d
golang.org/x/net/http2.ConfigureServer.func1(0x10c593b0, 0x10ce4200, 0x490b30, 0x10c170f0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:298 +0xbb
net/http.(*conn).serve(0x10c7cea0, 0x496040, 0x10cd9bc0)
	/tmp/workdir-gnot/go/src/net/http/server.go:1805 +0x103f
created by net/http.(*Server).Serve
	/tmp/workdir-gnot/go/src/net/http/server.go:2933 +0x2b8

goroutine 155 [syscall, 9 minutes, locked to thread]:
syscall.Syscall6(0x32, 0xf, 0x10ce1680, 0x205, 0xffffffff, 0xffffffff, 0x0, 0xe, 0x10d605b5, 0x0, ...)
	/tmp/workdir-gnot/go/src/syscall/asm_plan9_386.s:64 +0xb
syscall.Pread(0xf, 0x10ce1680, 0x205, 0x205, 0xffffffff, 0xffffffff, 0x4, 0x11, 0x0)
	/tmp/workdir-gnot/go/src/syscall/zsyscall_plan9_386.go:218 +0x60
syscall.Read(...)
	/tmp/workdir-gnot/go/src/syscall/syscall_plan9.go:166
os.(*File).read(0x10cd7a28, 0x10ce1680, 0x205, 0x205, 0x6985a, 0x11, 0x0)
	/tmp/workdir-gnot/go/src/os/file_plan9.go:248 +0x52
os.(*File).Read(0x10cd7a28, 0x10ce1680, 0x205, 0x205, 0x10d5c3c4, 0xffffffff, 0x0)
	/tmp/workdir-gnot/go/src/os/file.go:116 +0x5b
internal/poll.newAsyncIO.func1(0x10d5c3c0, 0x10cd7d58, 0x10ce1680, 0x205, 0x205)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:54 +0x71
created by internal/poll.newAsyncIO
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:43 +0xa5

goroutine 131 [select, 9 minutes]:
golang.org/x/net/http2.(*serverConn).serve(0x10d42540)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:861 +0x52b
golang.org/x/net/http2.(*Server).ServeConn(0x10d10cf0, 0x497e60, 0x10ce4600, 0x10ccbd84)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:472 +0x61d
golang.org/x/net/http2.ConfigureServer.func1(0x10c59950, 0x10ce4600, 0x490b30, 0x10d5c2b0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:298 +0xbb
net/http.(*conn).serve(0x10c7d2c0, 0x496040, 0x10d19500)
	/tmp/workdir-gnot/go/src/net/http/server.go:1805 +0x103f
created by net/http.(*Server).Serve
	/tmp/workdir-gnot/go/src/net/http/server.go:2933 +0x2b8

goroutine 95 [syscall, 9 minutes, locked to thread]:
syscall.Syscall6(0x32, 0x9, 0x10ce06c0, 0x205, 0xffffffff, 0xffffffff, 0x0, 0xe, 0x10f6c710, 0x0, ...)
	/tmp/workdir-gnot/go/src/syscall/asm_plan9_386.s:64 +0xb
syscall.Pread(0x9, 0x10ce06c0, 0x205, 0x205, 0xffffffff, 0xffffffff, 0x4, 0xb, 0x0)
	/tmp/workdir-gnot/go/src/syscall/zsyscall_plan9_386.go:218 +0x60
syscall.Read(...)
	/tmp/workdir-gnot/go/src/syscall/syscall_plan9.go:166
os.(*File).read(0x10cd6d98, 0x10ce06c0, 0x205, 0x205, 0x6985a, 0xb, 0x0)
	/tmp/workdir-gnot/go/src/os/file_plan9.go:248 +0x52
os.(*File).Read(0x10cd6d98, 0x10ce06c0, 0x205, 0x205, 0x10c17254, 0xffffffff, 0x0)
	/tmp/workdir-gnot/go/src/os/file.go:116 +0x5b
internal/poll.newAsyncIO.func1(0x10c17250, 0x10cd70d8, 0x10ce06c0, 0x205, 0x205)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:54 +0x71
created by internal/poll.newAsyncIO
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:43 +0xa5

goroutine 128 [syscall, 9 minutes]:
syscall.Syscall(0xe, 0x10d3e4e0, 0x0, 0x0, 0x13, 0x0, 0x0, 0x20)
	/tmp/workdir-gnot/go/src/syscall/asm_plan9_386.s:22 +0xb
syscall.open(0x10d3e4c0, 0x12, 0x0, 0x0, 0x114eb0, 0x72e5f0)
	/tmp/workdir-gnot/go/src/syscall/zsyscall_plan9_386.go:61 +0x7a
syscall.Open(0x10d3e4c0, 0x12, 0x0, 0x72e5f0, 0x418884, 0x114d02)
	/tmp/workdir-gnot/go/src/syscall/syscall_plan9.go:382 +0x6c
os.openFileNolog(0x10d3e4c0, 0x12, 0x0, 0x0, 0x2, 0x10d3e4c0, 0x12)
	/tmp/workdir-gnot/go/src/os/file_plan9.go:113 +0x28f
os.OpenFile(0x10d3e4c0, 0x12, 0x0, 0x0, 0x7, 0x10d3e4c0, 0x12)
	/tmp/workdir-gnot/go/src/os/file.go:303 +0x50
os.Open(...)
	/tmp/workdir-gnot/go/src/os/file.go:283
net.(*netFD).acceptPlan9(0x10c5f420, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/ipsock_plan9.go:250 +0x117
net.(*TCPListener).accept(0x10c17600, 0x26374d, 0x10d401c0, 0x0)
	/tmp/workdir-gnot/go/src/net/tcpsock_plan9.go:48 +0x26
net.(*TCPListener).Accept(0x10c17600, 0x418884, 0x262104, 0x497e60, 0x10ce4600)
	/tmp/workdir-gnot/go/src/net/tcpsock.go:261 +0x5d
crypto/tls.(*listener).Accept(0x10c17da0, 0x10cebf44, 0xc, 0x10c01a40, 0x2665c8)
	/tmp/workdir-gnot/go/src/crypto/tls/tls.go:55 +0x29
net/http.(*Server).Serve(0x10c59950, 0x495270, 0x10c17da0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/http/server.go:2901 +0x1ea
net/http/httptest.(*Server).goServe.func1(0x10d401c0)
	/tmp/workdir-gnot/go/src/net/http/httptest/server.go:308 +0x5b
created by net/http/httptest.(*Server).goServe
	/tmp/workdir-gnot/go/src/net/http/httptest/server.go:306 +0x4b

goroutine 102265 [syscall, 8 minutes]:
syscall.Syscall(0xe, 0x10d3e660, 0x0, 0x0, 0x13, 0x0, 0x0, 0x20)
	/tmp/workdir-gnot/go/src/syscall/asm_plan9_386.s:22 +0xb
syscall.open(0x10d3e640, 0x12, 0x0, 0x0, 0x114eb0, 0x72e5f0)
	/tmp/workdir-gnot/go/src/syscall/zsyscall_plan9_386.go:61 +0x7a
syscall.Open(0x10d3e640, 0x12, 0x0, 0x72e5f0, 0x418884, 0x114d02)
	/tmp/workdir-gnot/go/src/syscall/syscall_plan9.go:382 +0x6c
os.openFileNolog(0x10d3e640, 0x12, 0x0, 0x0, 0x2, 0x10d3e640, 0x12)
	/tmp/workdir-gnot/go/src/os/file_plan9.go:113 +0x28f
os.OpenFile(0x10d3e640, 0x12, 0x0, 0x0, 0x7, 0x10d3e640, 0x12)
	/tmp/workdir-gnot/go/src/os/file.go:303 +0x50
os.Open(...)
	/tmp/workdir-gnot/go/src/os/file.go:283
net.(*netFD).acceptPlan9(0x12126e70, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/ipsock_plan9.go:250 +0x117
net.(*TCPListener).accept(0x10d5d1e0, 0x96fd38, 0x12225500, 0x0)
	/tmp/workdir-gnot/go/src/net/tcpsock_plan9.go:48 +0x26
net.(*TCPListener).Accept(0x10d5d1e0, 0x418884, 0x262104, 0x497e60, 0x10dfee00)
	/tmp/workdir-gnot/go/src/net/tcpsock.go:261 +0x5d
crypto/tls.(*listener).Accept(0x10d5d9a0, 0x11238f44, 0xc, 0x10c01ce0, 0x2665c8)
	/tmp/workdir-gnot/go/src/crypto/tls/tls.go:55 +0x29
net/http.(*Server).Serve(0x121bab40, 0x495270, 0x10d5d9a0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/http/server.go:2901 +0x1ea
net/http/httptest.(*Server).goServe.func1(0x12225500)
	/tmp/workdir-gnot/go/src/net/http/httptest/server.go:308 +0x5b
created by net/http/httptest.(*Server).goServe
	/tmp/workdir-gnot/go/src/net/http/httptest/server.go:306 +0x4b

goroutine 2519 [chan receive, 9 minutes]:
internal/poll.(*asyncIO).Wait(...)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:84
internal/poll.(*FD).Read(0x1227a930, 0x11fe9a28, 0x123f1b00, 0x205, 0x205, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/internal/poll/fd_plan9.go:73 +0x117
net.(*netFD).Read(0x1227a930, 0x123f1b00, 0x205, 0x205, 0x7ffff, 0x7d714d, 0x14d)
	/tmp/workdir-gnot/go/src/net/fd_plan9.go:86 +0xa4
net.(*conn).Read(0x11fe9678, 0x123f1b00, 0x205, 0x205, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/net.go:184 +0x66
crypto/tls.(*atLeastReader).Read(0x10ee14d0, 0x123f1b00, 0x205, 0x205, 0x0, 0x10c1a5e8, 0x10bad150)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:760 +0x60
bytes.(*Buffer).ReadFrom(0x10dff360, 0x48f830, 0x10ee14d0, 0x123f1b05, 0x8748, 0x39e1a0, 0x3e84e0)
	/tmp/workdir-gnot/go/src/bytes/buffer.go:204 +0x94
crypto/tls.(*Conn).readFromUntil(0x10dff200, 0x10bad150, 0x11fe9678, 0x5, 0x11fe9678, 0x9)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:782 +0xca
crypto/tls.(*Conn).readRecordOrCCS(0x10dff200, 0x0, 0x0, 0x8edb)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:589 +0x10b
crypto/tls.(*Conn).readRecord(...)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:557
crypto/tls.(*Conn).Read(0x10dff200, 0x10eb5620, 0x9, 0x9, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:1233 +0x13b
io.ReadAtLeast(0x48f7f0, 0x10dff200, 0x10eb5620, 0x9, 0x9, 0x9, 0x1, 0x1, 0x0)
	/tmp/workdir-gnot/go/src/io/io.go:310 +0x73
io.ReadFull(...)
	/tmp/workdir-gnot/go/src/io/io.go:329
golang.org/x/net/http2.readFrameHeader(0x10eb5620, 0x9, 0x9, 0x48f7f0, 0x10dff200, 0x0, 0x0, 0x0, 0x10c01dc0, 0x10cedf84)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:237 +0x6d
golang.org/x/net/http2.(*Framer).ReadFrame(0x10eb5600, 0x10cedf54, 0x2, 0x0, 0x1)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:492 +0x75
golang.org/x/net/http2.(*serverConn).readFrames(0x10e5ca80)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:748 +0x82
created by golang.org/x/net/http2.(*serverConn).serve
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:853 +0x2f6

goroutine 145 [chan receive, 9 minutes]:
internal/poll.(*asyncIO).Wait(...)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:84
internal/poll.(*FD).Read(0x10c5f6c0, 0x10cd7d58, 0x10ce1680, 0x205, 0x205, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/internal/poll/fd_plan9.go:73 +0x117
net.(*netFD).Read(0x10c5f6c0, 0x10ce1680, 0x205, 0x205, 0x0, 0x7bec3b, 0x3b)
	/tmp/workdir-gnot/go/src/net/fd_plan9.go:86 +0xa4
net.(*conn).Read(0x10cd7a40, 0x10ce1680, 0x205, 0x205, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/net.go:184 +0x66
crypto/tls.(*atLeastReader).Read(0x10d5c3b0, 0x10ce1680, 0x205, 0x205, 0x0, 0x10c1a5e8, 0x10bad150)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:760 +0x60
bytes.(*Buffer).ReadFrom(0x10ce4760, 0x48f830, 0x10d5c3b0, 0x315b9c, 0x8748, 0x39e1a0, 0x3e84e0)
	/tmp/workdir-gnot/go/src/bytes/buffer.go:204 +0x94
crypto/tls.(*Conn).readFromUntil(0x10ce4600, 0x10bad150, 0x10cd7a40, 0x5, 0x10cd7a40, 0x3f69b2)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:782 +0xca
crypto/tls.(*Conn).readRecordOrCCS(0x10ce4600, 0x0, 0x0, 0x8edb)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:589 +0x10b
crypto/tls.(*Conn).readRecord(...)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:557
crypto/tls.(*Conn).Read(0x10ce4600, 0x10d3c2a0, 0x9, 0x9, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:1233 +0x13b
io.ReadAtLeast(0x48f7f0, 0x10ce4600, 0x10d3c2a0, 0x9, 0x9, 0x9, 0x1, 0x1, 0x0)
	/tmp/workdir-gnot/go/src/io/io.go:310 +0x73
io.ReadFull(...)
	/tmp/workdir-gnot/go/src/io/io.go:329
golang.org/x/net/http2.readFrameHeader(0x10d3c2a0, 0x9, 0x9, 0x48f7f0, 0x10ce4600, 0x0, 0x0, 0x0, 0x10d42620, 0x10cf1f84)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:237 +0x6d
golang.org/x/net/http2.(*Framer).ReadFrame(0x10d3c280, 0x10cf1f54, 0x2, 0x0, 0x1)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:492 +0x75
golang.org/x/net/http2.(*serverConn).readFrames(0x10d42540)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:748 +0x82
created by golang.org/x/net/http2.(*serverConn).serve
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:853 +0x2f6

goroutine 2531 [syscall, 9 minutes, locked to thread]:
syscall.Syscall6(0x32, 0x15, 0x123f1b00, 0x205, 0xffffffff, 0xffffffff, 0x0, 0xe, 0x12040838, 0x0, ...)
	/tmp/workdir-gnot/go/src/syscall/asm_plan9_386.s:64 +0xb
syscall.Pread(0x15, 0x123f1b00, 0x205, 0x205, 0xffffffff, 0xffffffff, 0x4, 0x17, 0x0)
	/tmp/workdir-gnot/go/src/syscall/zsyscall_plan9_386.go:218 +0x60
syscall.Read(...)
	/tmp/workdir-gnot/go/src/syscall/syscall_plan9.go:166
os.(*File).read(0x11fe9660, 0x123f1b00, 0x205, 0x205, 0x6985a, 0x17, 0x0)
	/tmp/workdir-gnot/go/src/os/file_plan9.go:248 +0x52
os.(*File).Read(0x11fe9660, 0x123f1b00, 0x205, 0x205, 0x10ee14e4, 0xffffffff, 0x0)
	/tmp/workdir-gnot/go/src/os/file.go:116 +0x5b
internal/poll.newAsyncIO.func1(0x10ee14e0, 0x11fe9a28, 0x123f1b00, 0x205, 0x205)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:54 +0x71
created by internal/poll.newAsyncIO
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:43 +0xa5

goroutine 2502 [syscall, 9 minutes]:
syscall.Syscall(0xe, 0x120761e0, 0x0, 0x0, 0x13, 0x0, 0x0, 0x20)
	/tmp/workdir-gnot/go/src/syscall/asm_plan9_386.s:22 +0xb
syscall.open(0x120761c0, 0x12, 0x0, 0x0, 0x114eb0, 0x72e5f0)
	/tmp/workdir-gnot/go/src/syscall/zsyscall_plan9_386.go:61 +0x7a
syscall.Open(0x120761c0, 0x12, 0x0, 0x72e5f0, 0x418884, 0x114d02)
	/tmp/workdir-gnot/go/src/syscall/syscall_plan9.go:382 +0x6c
os.openFileNolog(0x120761c0, 0x12, 0x0, 0x0, 0x2, 0x120761c0, 0x12)
	/tmp/workdir-gnot/go/src/os/file_plan9.go:113 +0x28f
os.OpenFile(0x120761c0, 0x12, 0x0, 0x0, 0x7, 0x120761c0, 0x12)
	/tmp/workdir-gnot/go/src/os/file.go:303 +0x50
os.Open(...)
	/tmp/workdir-gnot/go/src/os/file.go:283
net.(*netFD).acceptPlan9(0x1227a310, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/ipsock_plan9.go:250 +0x117
net.(*TCPListener).accept(0x10ee0680, 0xffe549, 0x12107b00, 0x0)
	/tmp/workdir-gnot/go/src/net/tcpsock_plan9.go:48 +0x26
net.(*TCPListener).Accept(0x10ee0680, 0x418884, 0x262104, 0x497e60, 0x10dff200)
	/tmp/workdir-gnot/go/src/net/tcpsock.go:261 +0x5d
crypto/tls.(*listener).Accept(0x10ee0e30, 0x124f4f44, 0xc, 0x10d430a0, 0x2665c8)
	/tmp/workdir-gnot/go/src/crypto/tls/tls.go:55 +0x29
net/http.(*Server).Serve(0x121ba990, 0x495270, 0x10ee0e30, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/http/server.go:2901 +0x1ea
net/http/httptest.(*Server).goServe.func1(0x12107b00)
	/tmp/workdir-gnot/go/src/net/http/httptest/server.go:308 +0x5b
created by net/http/httptest.(*Server).goServe
	/tmp/workdir-gnot/go/src/net/http/httptest/server.go:306 +0x4b

goroutine 102539 [select, 8 minutes]:
golang.org/x/net/http2.(*serverConn).serve(0x10e5c1c0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:861 +0x52b
golang.org/x/net/http2.(*Server).ServeConn(0x124a52f0, 0x497ea0, 0x10cd7390, 0x1106ffc8)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:472 +0x61d
golang.org/x/net/http2.startH2cServer.func1(0x495350, 0x10ef72f0, 0x10c8cbe0, 0x124a52f0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport_test.go:88 +0x10a
created by golang.org/x/net/http2.startH2cServer
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport_test.go:82 +0x74

goroutine 2505 [select, 9 minutes]:
golang.org/x/net/http2.(*serverConn).serve(0x10e5ca80)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:861 +0x52b
golang.org/x/net/http2.(*Server).ServeConn(0x120cf4d0, 0x497e60, 0x10dff200, 0x10cc9d84)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:472 +0x61d
golang.org/x/net/http2.ConfigureServer.func1(0x121ba990, 0x10dff200, 0x490b30, 0x10ee1340)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:298 +0xbb
net/http.(*conn).serve(0x120da420, 0x496040, 0x10f31220)
	/tmp/workdir-gnot/go/src/net/http/server.go:1805 +0x103f
created by net/http.(*Server).Serve
	/tmp/workdir-gnot/go/src/net/http/server.go:2933 +0x2b8

goroutine 104728 [chan receive, 8 minutes]:
internal/poll.(*asyncIO).Wait(...)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:84
internal/poll.(*FD).Read(0x10c5fb20, 0x11131c78, 0x10eb4520, 0x9, 0x9, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/internal/poll/fd_plan9.go:73 +0x117
net.(*netFD).Read(0x10c5fb20, 0x10eb4520, 0x9, 0x9, 0x20, 0x18, 0x3ce6a0)
	/tmp/workdir-gnot/go/src/net/fd_plan9.go:86 +0xa4
net.(*conn).Read(0x11fe9fc0, 0x10eb4520, 0x9, 0x9, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/net.go:184 +0x66
io.ReadAtLeast(0x10bad150, 0x11fe9fc0, 0x10eb4520, 0x9, 0x9, 0x9, 0x3ce6a0, 0x1113ac40, 0x11033eb7)
	/tmp/workdir-gnot/go/src/io/io.go:310 +0x73
io.ReadFull(...)
	/tmp/workdir-gnot/go/src/io/io.go:329
golang.org/x/net/http2.readFrameHeader(0x10eb4520, 0x9, 0x9, 0x10bad150, 0x11fe9fc0, 0x0, 0x0, 0x0, 0x1113ac40, 0x0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:237 +0x6d
golang.org/x/net/http2.(*Framer).ReadFrame(0x10eb4500, 0x494210, 0x1113ac40, 0x0, 0x0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:492 +0x75
golang.org/x/net/http2.testTransportReqBodyAfterResponse.func2(0x11033fc8, 0x120)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport_test.go:875 +0xbb
golang.org/x/net/http2.(*clientTester).start.func1(0x3f58ad, 0x6, 0x12106880, 0x10ee1060)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport_test.go:787 +0x7f
created by golang.org/x/net/http2.(*clientTester).start
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport_test.go:776 +0x4a

goroutine 104732 [chan receive, 8 minutes]:
internal/poll.(*asyncIO).Wait(...)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:84
internal/poll.(*FD).Read(0x10c5fab0, 0x11131c88, 0x10dfa000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/internal/poll/fd_plan9.go:73 +0x117
net.(*netFD).Read(0x10c5fab0, 0x10dfa000, 0x1000, 0x1000, 0x8d0a, 0x12106930, 0x0)
	/tmp/workdir-gnot/go/src/net/fd_plan9.go:86 +0xa4
net.(*conn).Read(0x11fe9f58, 0x10dfa000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/net.go:184 +0x66
bufio.(*Reader).Read(0x10c56360, 0x10eb4620, 0x9, 0x9, 0x6169a, 0x10c9bf04, 0xffffffff)
	/tmp/workdir-gnot/go/src/bufio/bufio.go:226 +0x1ec
io.ReadAtLeast(0x48f630, 0x10c56360, 0x10eb4620, 0x9, 0x9, 0x9, 0x10d72e98, 0x48f801, 0x10c18030)
	/tmp/workdir-gnot/go/src/io/io.go:310 +0x73
io.ReadFull(...)
	/tmp/workdir-gnot/go/src/io/io.go:329
golang.org/x/net/http2.readFrameHeader(0x10eb4620, 0x9, 0x9, 0x48f630, 0x10c56360, 0x0, 0x0, 0x0, 0x1113ac60, 0x0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:237 +0x6d
golang.org/x/net/http2.(*Framer).ReadFrame(0x10eb4600, 0x1113ac60, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:492 +0x75
golang.org/x/net/http2.(*clientConnReadLoop).run(0x10d72fd4, 0x40, 0x0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport.go:1746 +0x68
golang.org/x/net/http2.(*ClientConn).readLoop(0x10c14ff0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport.go:1674 +0x63
created by golang.org/x/net/http2.(*Transport).newClientConn
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport.go:674 +0x5aa

goroutine 109235 [syscall, 8 minutes, locked to thread]:
syscall.Syscall6(0x32, 0x29, 0x10eb4520, 0x9, 0xffffffff, 0xffffffff, 0x0, 0xe, 0x1113f387, 0x0, ...)
	/tmp/workdir-gnot/go/src/syscall/asm_plan9_386.s:64 +0xb
syscall.Pread(0x29, 0x10eb4520, 0x9, 0x9, 0xffffffff, 0xffffffff, 0x4, 0x1d, 0x0)
	/tmp/workdir-gnot/go/src/syscall/zsyscall_plan9_386.go:218 +0x60
syscall.Read(...)
	/tmp/workdir-gnot/go/src/syscall/syscall_plan9.go:166
os.(*File).read(0x11fe9fa8, 0x10eb4520, 0x9, 0x9, 0x6985a, 0x1d, 0x0)
	/tmp/workdir-gnot/go/src/os/file_plan9.go:248 +0x52
os.(*File).Read(0x11fe9fa8, 0x10eb4520, 0x9, 0x9, 0x111443a4, 0xffffffff, 0x0)
	/tmp/workdir-gnot/go/src/os/file.go:116 +0x5b
internal/poll.newAsyncIO.func1(0x111443a0, 0x11131c78, 0x10eb4520, 0x9, 0x9)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:54 +0x71
created by internal/poll.newAsyncIO
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:43 +0xa5

goroutine 109236 [syscall, 8 minutes, locked to thread]:
syscall.Syscall6(0x32, 0x26, 0x10dfa000, 0x1000, 0xffffffff, 0xffffffff, 0x0, 0xe, 0x1113f3b0, 0x0, ...)
	/tmp/workdir-gnot/go/src/syscall/asm_plan9_386.s:64 +0xb
syscall.Pread(0x26, 0x10dfa000, 0x1000, 0x1000, 0xffffffff, 0xffffffff, 0x4, 0x1d, 0x0)
	/tmp/workdir-gnot/go/src/syscall/zsyscall_plan9_386.go:218 +0x60
syscall.Read(...)
	/tmp/workdir-gnot/go/src/syscall/syscall_plan9.go:166
os.(*File).read(0x11fe9f20, 0x10dfa000, 0x1000, 0x1000, 0x6985a, 0x1d, 0x0)
	/tmp/workdir-gnot/go/src/os/file_plan9.go:248 +0x52
os.(*File).Read(0x11fe9f20, 0x10dfa000, 0x1000, 0x1000, 0x111443b4, 0xffffffff, 0x0)
	/tmp/workdir-gnot/go/src/os/file.go:116 +0x5b
internal/poll.newAsyncIO.func1(0x111443b0, 0x11131c88, 0x10dfa000, 0x1000, 0x1000)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:54 +0x71
created by internal/poll.newAsyncIO
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:43 +0xa5

goroutine 102550 [chan receive, 8 minutes]:
internal/poll.(*asyncIO).Wait(...)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:84
internal/poll.(*FD).Read(0x1227acb0, 0x10cd74a0, 0x10c73f20, 0x9, 0x9, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/internal/poll/fd_plan9.go:73 +0x117
net.(*netFD).Read(0x1227acb0, 0x10c73f20, 0x9, 0x9, 0x12332620, 0x121743c0, 0x3fddc)
	/tmp/workdir-gnot/go/src/net/fd_plan9.go:86 +0xa4
net.(*conn).Read(0x10cd7388, 0x10c73f20, 0x9, 0x9, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/net.go:184 +0x66
io.ReadAtLeast(0x10bbcb58, 0x10cd7390, 0x10c73f20, 0x9, 0x9, 0x9, 0x1, 0x1, 0x0)
	/tmp/workdir-gnot/go/src/io/io.go:310 +0x73
io.ReadFull(...)
	/tmp/workdir-gnot/go/src/io/io.go:329
golang.org/x/net/http2.readFrameHeader(0x10c73f20, 0x9, 0x9, 0x10bbcb58, 0x10cd7390, 0x0, 0x0, 0x0, 0x12332620, 0x11051f84)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:237 +0x6d
golang.org/x/net/http2.(*Framer).ReadFrame(0x10c73f00, 0x11051f54, 0x2, 0x0, 0x1)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:492 +0x75
golang.org/x/net/http2.(*serverConn).readFrames(0x10e5c1c0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:748 +0x82
created by golang.org/x/net/http2.(*serverConn).serve
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:853 +0x2f6

goroutine 102567 [syscall, 8 minutes, locked to thread]:
syscall.Syscall6(0x32, 0x1f, 0x11078000, 0x1000, 0xffffffff, 0xffffffff, 0x0, 0xe, 0x10d61770, 0x0, ...)
	/tmp/workdir-gnot/go/src/syscall/asm_plan9_386.s:64 +0xb
syscall.Pread(0x1f, 0x11078000, 0x1000, 0x1000, 0xffffffff, 0xffffffff, 0x4, 0x23, 0x0)
	/tmp/workdir-gnot/go/src/syscall/zsyscall_plan9_386.go:218 +0x60
syscall.Read(...)
	/tmp/workdir-gnot/go/src/syscall/syscall_plan9.go:166
os.(*File).read(0x10cd72b8, 0x11078000, 0x1000, 0x1000, 0x6985a, 0x23, 0x0)
	/tmp/workdir-gnot/go/src/os/file_plan9.go:248 +0x52
os.(*File).Read(0x10cd72b8, 0x11078000, 0x1000, 0x1000, 0x10ef74b4, 0xffffffff, 0x0)
	/tmp/workdir-gnot/go/src/os/file.go:116 +0x5b
internal/poll.newAsyncIO.func1(0x10ef74b0, 0x10cd7498, 0x11078000, 0x1000, 0x1000)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:54 +0x71
created by internal/poll.newAsyncIO
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:43 +0xa5

goroutine 102299 [syscall, 8 minutes, locked to thread]:
syscall.Syscall6(0x32, 0x1c, 0x10d7a240, 0x205, 0xffffffff, 0xffffffff, 0x0, 0xe, 0x120e2ba5, 0x0, ...)
	/tmp/workdir-gnot/go/src/syscall/asm_plan9_386.s:64 +0xb
syscall.Pread(0x1c, 0x10d7a240, 0x205, 0x205, 0xffffffff, 0xffffffff, 0x4, 0x1d, 0x0)
	/tmp/workdir-gnot/go/src/syscall/zsyscall_plan9_386.go:218 +0x60
syscall.Read(...)
	/tmp/workdir-gnot/go/src/syscall/syscall_plan9.go:166
os.(*File).read(0x10cd6a08, 0x10d7a240, 0x205, 0x205, 0x6985a, 0x1d, 0x0)
	/tmp/workdir-gnot/go/src/os/file_plan9.go:248 +0x52
os.(*File).Read(0x10cd6a08, 0x10d7a240, 0x205, 0x205, 0x10ef60f4, 0xffffffff, 0x0)
	/tmp/workdir-gnot/go/src/os/file.go:116 +0x5b
internal/poll.newAsyncIO.func1(0x10ef60f0, 0x10cd6e00, 0x10d7a240, 0x205, 0x205)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:54 +0x71
created by internal/poll.newAsyncIO
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:43 +0xa5

goroutine 102568 [syscall, 8 minutes, locked to thread]:
syscall.Syscall6(0x32, 0x22, 0x10c73f20, 0x9, 0xffffffff, 0xffffffff, 0x0, 0xe, 0x10d61777, 0x0, ...)
	/tmp/workdir-gnot/go/src/syscall/asm_plan9_386.s:64 +0xb
syscall.Pread(0x22, 0x10c73f20, 0x9, 0x9, 0xffffffff, 0xffffffff, 0x4, 0x23, 0x0)
	/tmp/workdir-gnot/go/src/syscall/zsyscall_plan9_386.go:218 +0x60
syscall.Read(...)
	/tmp/workdir-gnot/go/src/syscall/syscall_plan9.go:166
os.(*File).read(0x10cd7360, 0x10c73f20, 0x9, 0x9, 0x6985a, 0x23, 0x0)
	/tmp/workdir-gnot/go/src/os/file_plan9.go:248 +0x52
os.(*File).Read(0x10cd7360, 0x10c73f20, 0x9, 0x9, 0x10ef74c4, 0xffffffff, 0x0)
	/tmp/workdir-gnot/go/src/os/file.go:116 +0x5b
internal/poll.newAsyncIO.func1(0x10ef74c0, 0x10cd74a0, 0x10c73f20, 0x9, 0x9)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:54 +0x71
created by internal/poll.newAsyncIO
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:43 +0xa5

goroutine 102282 [chan receive, 8 minutes]:
internal/poll.(*asyncIO).Wait(...)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:84
internal/poll.(*FD).Read(0x12127180, 0x10cd6e00, 0x10d7a240, 0x205, 0x205, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/internal/poll/fd_plan9.go:73 +0x117
net.(*netFD).Read(0x12127180, 0x10d7a240, 0x205, 0x205, 0x3ffff, 0x7d860e, 0xe)
	/tmp/workdir-gnot/go/src/net/fd_plan9.go:86 +0xa4
net.(*conn).Read(0x10cd6a20, 0x10d7a240, 0x205, 0x205, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/net.go:184 +0x66
crypto/tls.(*atLeastReader).Read(0x10ef60e0, 0x10d7a240, 0x205, 0x205, 0x0, 0x10c1a5e8, 0x10bad150)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:760 +0x60
bytes.(*Buffer).ReadFrom(0x10dfef60, 0x48f830, 0x10ef60e0, 0x315b9c, 0x8748, 0x39e1a0, 0x3e84e0)
	/tmp/workdir-gnot/go/src/bytes/buffer.go:204 +0x94
crypto/tls.(*Conn).readFromUntil(0x10dfee00, 0x10bad150, 0x10cd6a20, 0x5, 0x10cd6a20, 0xd)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:782 +0xca
crypto/tls.(*Conn).readRecordOrCCS(0x10dfee00, 0x0, 0x0, 0x8edb)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:589 +0x10b
crypto/tls.(*Conn).readRecord(...)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:557
crypto/tls.(*Conn).Read(0x10dfee00, 0x10d3dd20, 0x9, 0x9, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/crypto/tls/conn.go:1233 +0x13b
io.ReadAtLeast(0x48f7f0, 0x10dfee00, 0x10d3dd20, 0x9, 0x9, 0x9, 0x1, 0x1, 0x0)
	/tmp/workdir-gnot/go/src/io/io.go:310 +0x73
io.ReadFull(...)
	/tmp/workdir-gnot/go/src/io/io.go:329
golang.org/x/net/http2.readFrameHeader(0x10d3dd20, 0x9, 0x9, 0x48f7f0, 0x10dfee00, 0x0, 0x0, 0x0, 0x12332d20, 0x1104df84)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:237 +0x6d
golang.org/x/net/http2.(*Framer).ReadFrame(0x10d3dd00, 0x1104df54, 0x2, 0x0, 0x1)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:492 +0x75
golang.org/x/net/http2.(*serverConn).readFrames(0x10f89880)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:748 +0x82
created by golang.org/x/net/http2.(*serverConn).serve
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:853 +0x2f6

goroutine 102270 [select, 8 minutes]:
golang.org/x/net/http2.(*serverConn).serve(0x10f89880)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:861 +0x52b
golang.org/x/net/http2.(*Server).ServeConn(0x10d11830, 0x497e60, 0x10dfee00, 0x10cc5d84)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:472 +0x61d
golang.org/x/net/http2.ConfigureServer.func1(0x121bab40, 0x10dfee00, 0x490b30, 0x10d5deb0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/server.go:298 +0xbb
net/http.(*conn).serve(0x121f3080, 0x496040, 0x10d198e0)
	/tmp/workdir-gnot/go/src/net/http/server.go:1805 +0x103f
created by net/http.(*Server).Serve
	/tmp/workdir-gnot/go/src/net/http/server.go:2933 +0x2b8

goroutine 102544 [chan receive, 8 minutes]:
internal/poll.(*asyncIO).Wait(...)
	/tmp/workdir-gnot/go/src/internal/poll/fd_io_plan9.go:84
internal/poll.(*FD).Read(0x1227ac40, 0x10cd7498, 0x11078000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/internal/poll/fd_plan9.go:73 +0x117
net.(*netFD).Read(0x1227ac40, 0x11078000, 0x1000, 0x1000, 0x8d0a, 0x10e99f70, 0x0)
	/tmp/workdir-gnot/go/src/net/fd_plan9.go:86 +0xa4
net.(*conn).Read(0x10cd72e8, 0x11078000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/go/src/net/net.go:184 +0x66
bufio.(*Reader).Read(0x124a5350, 0x10c73e20, 0x9, 0x9, 0x6169a, 0x10e75c44, 0xffffffff)
	/tmp/workdir-gnot/go/src/bufio/bufio.go:226 +0x1ec
io.ReadAtLeast(0x48f630, 0x124a5350, 0x10c73e20, 0x9, 0x9, 0x9, 0x1104fe98, 0x48f801, 0x10c18030)
	/tmp/workdir-gnot/go/src/io/io.go:310 +0x73
io.ReadFull(...)
	/tmp/workdir-gnot/go/src/io/io.go:329
golang.org/x/net/http2.readFrameHeader(0x10c73e20, 0x9, 0x9, 0x48f630, 0x124a5350, 0x0, 0x0, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:237 +0x6d
golang.org/x/net/http2.(*Framer).ReadFrame(0x10c73e00, 0x12174360, 0x0, 0x0, 0x0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/frame.go:492 +0x75
golang.org/x/net/http2.(*clientConnReadLoop).run(0x1104ffd4, 0x40, 0x0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport.go:1746 +0x68
golang.org/x/net/http2.(*ClientConn).readLoop(0x10c145a0)
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport.go:1674 +0x63
created by golang.org/x/net/http2.(*Transport).newClientConn
	/tmp/workdir-gnot/gopath/src/golang.org/x/net/http2/transport.go:674 +0x5aa
FAIL	golang.org/x/net/http2	600.074s

@gopherbot add labels OS-Plan9, NeedsFix, Testing

@gopherbot gopherbot added NeedsFix The path to resolution is known, but the work has not been done. OS-Plan9 Testing An issue that has been verified to require only test changes, not just a test failure. labels Nov 29, 2019
@gopherbot
Copy link

Change https://golang.org/cl/209417 mentions this issue: http2: workaround TCPConn CloseWrite not being supported on Plan 9

@gopherbot
Copy link

Change https://golang.org/cl/224217 mentions this issue: net/http: update bundled x/net/http2

gopherbot pushed a commit that referenced this issue Mar 20, 2020
Updates bundled http2 to x/net git rev 63522dbf7

    http2: reduce allocations of (*clientConnReadLoop).handleReponse
    https://golang.org/cl/223783 (#37853)

    http2: remove unused errors
    https://golang.org/cl/220458

    http2: remove unused stream struct fields
    https://golang.org/cl/219857

    http2: fix typo in comment
    https://golang.org/cl/214602

    http2: workaround TCPConn CloseWrite not being supported on Plan 9
    https://golang.org/cl/209417 (#17906, #35904)

Change-Id: I0e48f32247938c3858170bf419624367d4faef4b
Reviewed-on: https://go-review.googlesource.com/c/go/+/224217
Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
@golang golang locked and limited conversation to collaborators Mar 20, 2021
dteh pushed a commit to dteh/fhttp that referenced this issue Jun 22, 2022
This stops the tests from hanging on Plan 9.

Fixes golang/go#35904
Updates golang/go#17906

Change-Id: I2bcbb131629b217a99f9496cda0399ce21eb3020
Reviewed-on: https://go-review.googlesource.com/c/net/+/209417
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. OS-Plan9 Testing An issue that has been verified to require only test changes, not just a test failure.
Projects
None yet
Development

No branches or pull requests

2 participants