chihaya / chihaya Goto Github PK
View Code? Open in Web Editor NEWA customizable, multi-protocol BitTorrent Tracker
Home Page: https://chihaya.io
License: Other
A customizable, multi-protocol BitTorrent Tracker
Home Page: https://chihaya.io
License: Other
We need to figure out and document what we have and what is left for this to be 100% supported.
The relative path for the required config.json file causes problems when running test programs that reside inside different directories or with automated test frameworks that require additional database setup to test.
By making the config.json an optional command line argument for the main program, the default values can be loaded for test environments and the deployment configuration can continue to be stored in a config.json alongside the working directory of the main program.
From: Discussion here
There should be a way to whitelist or blacklist torrents based on their hash.
Working from develop brach on a debain 8 64bit system
go version go1.4.2 linux/amd64
config:
{
"create_on_announce": true,
"private_enabled": false,
"freeleech_enabled": false,
"purge_inactive_torrents": false,
"announce": "30m",
"min_announce": "15m",
"default_num_want": 50,
"torrent_map_shards": 1,
"allow_ip_spoofing": true,
"dual_stacked_peers": true,
"real_ip_header": "",
"respect_af": false,
"client_whitelist_enabled": false,
"client_whitelist": ["OP1011"],
"udp_listen_addr": ":80",
"http_listen_addr": ":8080",
"http_request_timeout": "4s",
"http_read_timeout": "4s",
"http_write_timeout": "4s",
"http_listen_limit": 0,
"driver": "noop",
"stats_buffer_size": 0,
"include_mem_stats": true,
"verbose_mem_stats": false,
"mem_stats_interval": "5s"
}
Running the tracker seems to make the memeroy usage continue to grow at a pretty constant rate of ~3MB every 5 seconds or so under real world traffic.
the server has 1GB of memory and no other daemons running, its only used for chihaya.
So in reality we are able to play with ~850MB of memory.
Here you can also see the growth in ram over periods of time (4156
is the PID of the tracker)
root@box:~/chihaya/bin# date; cat /proc/4156/status | grep VmSize
Fri Jun 19 01:30:43 CEST 2015
VmSize: 668200 kB
(~8mins later...)
root@box:~/chihaya/bin# date; cat /proc/4156/status | grep VmSize
Fri Jun 19 01:38:32 CEST 2015
VmSize: 708752 kB
(~4mins mins after that... )
root@box:~/chihaya/bin# date; cat /proc/4156/status | grep VmSize
Fri Jun 19 01:42:40 CEST 2015
VmSize: 737320 kB
At the point of when the tracker was using 737320 kB
of memory the stats showed as follows:
Started: "2015-06-19T01:09:20.30660432+02:00",
Connections.Open: 1,
Connections.Accepted: 66,
BytesTransmitted: 0,
Runtime.GoRoutines: 17,
Requests.Handled: 1,
Requests.Errored: 0,
Requests.Bad: 2625430,
ResponseTime: {
P50: 0.236624,
P90: 0.236624,
P95: 0.236624
},
Tracker.Announces: 471471,
Tracker.Scrapes: 355241,
Torrents.Size: 63044,
Torrents.Added: 63044,
Torrents.Removed: 0,
Torrents.Reaped: 0,
Peers.IPv4: {
Peers: {
Current: 246036,
Joined: 298737,
Left: 52701,
Reaped: 0
},
Seeds: {
Current: 178876,
Joined: 217853,
Left: 42606,
Reaped: 0
},
Completed: 3629
},
Peers.IPv6: {
Peers: {
Current: 0,
Joined: 0,
Left: 0,
Reaped: 0
},
Seeds: {
Current: 0,
Joined: 0,
Left: 0,
Reaped: 0
},
Completed: 0
},
Memory: {
Alloc: 383058872,
TotalAlloc: 18189594344,
Sys: 440996432,
Lookups: 142,
Mallocs: 322075692,
Frees: 319396919,
HeapAlloc: 383058872,
HeapSys: 408485888,
HeapIdle: 10510336,
HeapInuse: 397975552,
HeapReleased: 0,
HeapObjects: 2678773,
PauseTotalNs: 21756544417
}
}
After it runs out of memory obviously give the following errors (which is expected):
root@box:~/chihaya/bin# ./chihaya -v=0 -logtostderr=true -config=config.json
I0619 00:08:25.996675 4144 http.go:125] Starting HTTP on :8080
I0619 00:08:25.996831 4144 udp.go:93] Starting UDP on :80
I0619 00:38:25.996926 4144 tracker.go:99] Purging peers with no announces since 2015-06-18 23:38:25.996921616 +0200 CEST
fatal error: runtime: out of memory
runtime stack:
runtime.SysMap(0xc23a9d0000, 0x100000, 0x428900, 0x8ea9f8)
/usr/local/go/src/runtime/mem_linux.c:149 +0x98
runtime.MHeap_SysAlloc(0x8f00e0, 0x100000, 0x430792)
/usr/local/go/src/runtime/malloc.c:284 +0x124
runtime.MHeap_Alloc(0x8f00e0, 0x26, 0x10100000000, 0x8)
/usr/local/go/src/runtime/mheap.c:240 +0x66
goroutine 6927789 [running]:
runtime.switchtoM()
/usr/local/go/src/runtime/asm_amd64.s:198 fp=0xc237de56e0 sp=0xc237de56d8
runtime.mallocgc(0x4bfc0, 0x718c60, 0x0, 0xc23a95c000)
/usr/local/go/src/runtime/malloc.go:199 +0x9f3 fp=0xc237de5790 sp=0xc237de56e0
runtime.newarray(0x718c60, 0xcaa, 0x30000)
/usr/local/go/src/runtime/malloc.go:365 +0xc1 fp=0xc237de57c8 sp=0xc237de5790
runtime.growslice(0x662b40, 0xc23a95c000, 0xa00, 0xa00, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/runtime/slice.go:87 +0x2bb fp=0xc237de5828 sp=0xc237de57c8
github.com/chihaya/chihaya/tracker/models.AppendPeer(0xc209463180, 0xc209463220, 0xc237aa8c40, 0xc219b5faa0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/tracker/models/peermap.go:195 +0x407 fp=0xc237de5900 sp=0xc237de5828
github.com/chihaya/chihaya/tracker/models.(*PeerMap).AppendPeers(0xc208038870, 0xc23a95c000, 0x8ea, 0xa00, 0x8e8e58, 0x0, 0x0, 0xc237aa8c40, 0xfffff715, 0x0, ...)
/root/chihaya/src/github.com/chihaya/chihaya/tracker/models/peermap.go:162 +0x707 fp=0xc237de5b40 sp=0xc237de5900
github.com/chihaya/chihaya/tracker.getPeers(0xc237aa8c40, 0xc23a95c000, 0x8ea, 0xa00, 0x8e8e58, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/tracker/announce.go:298 +0x2e6 fp=0xc237de5bf0 sp=0xc237de5b40
github.com/chihaya/chihaya/tracker.newAnnounceResponse(0xc237aa8c40, 0xc237aa8c40)
/root/chihaya/src/github.com/chihaya/chihaya/tracker/announce.go:276 +0x1d5 fp=0xc237de5c90 sp=0xc237de5bf0
github.com/chihaya/chihaya/tracker.(*Tracker).HandleAnnounce(0xc20801d260, 0xc237aa8c40, 0x7f84d79b6548, 0xc20b511fc0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/tracker/announce.go:74 +0x76b fp=0xc237de5d78 sp=0xc237de5c90
github.com/chihaya/chihaya/udp.(*Server).handlePacket(0xc20803ae40, 0xc208267000, 0x6d, 0x800, 0xc20990b530, 0x0, 0x0, 0x0, 0x7592d0, 0x8)
/root/chihaya/src/github.com/chihaya/chihaya/udp/protocol.go:102 +0x630 fp=0xc237de5ea8 sp=0xc237de5d78
github.com/chihaya/chihaya/udp.func·002()
/root/chihaya/src/github.com/chihaya/chihaya/udp/udp.go:74 +0xab fp=0xc237de5fe0 sp=0xc237de5ea8
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1 fp=0xc237de5fe8 sp=0xc237de5fe0
created by github.com/chihaya/chihaya/udp.(*Server).serve
/root/chihaya/src/github.com/chihaya/chihaya/udp/udp.go:85 +0x895
goroutine 1 [chan receive, 42 minutes]:
github.com/chihaya/chihaya.Boot()
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:118 +0x1090
main.main()
/root/chihaya/src/github.com/chihaya/chihaya/cmd/chihaya/main.go:10 +0x1b
goroutine 5 [chan receive]:
github.com/golang/glog.(*loggingT).flushDaemon(0x8e06a0)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/golang/glog/glog.go:879 +0x78
created by github.com/golang/glog.init·1
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/golang/glog/glog.go:410 +0x2a7
goroutine 17 [syscall, 42 minutes, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1
goroutine 6 [syscall, 42 minutes]:
os/signal.loop()
/usr/local/go/src/os/signal/signal_unix.go:21 +0x1f
created by os/signal.init·1
/usr/local/go/src/os/signal/signal_unix.go:27 +0x35
goroutine 8 [runnable]:
github.com/chihaya/chihaya/stats.(*Stats).handleEvents(0xc208082160)
/root/chihaya/src/github.com/chihaya/chihaya/stats/stats.go:168 +0x2de
created by github.com/chihaya/chihaya/stats.New
/root/chihaya/src/github.com/chihaya/chihaya/stats/stats.go:129 +0x721
goroutine 9 [chan receive, 12 minutes]:
github.com/chihaya/chihaya/tracker.(*Tracker).purgeInactivePeers(0xc20801d260, 0xc208050200, 0x34630b8a000, 0x1a3185c5000)
/root/chihaya/src/github.com/chihaya/chihaya/tracker/tracker.go:97 +0x8a
created by github.com/chihaya/chihaya/tracker.New
/root/chihaya/src/github.com/chihaya/chihaya/tracker/tracker.go:54 +0x183
goroutine 10 [IO wait, 10 minutes]:
net.(*pollDesc).Wait(0xc20800e290, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc20800e290, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).accept(0xc20800e230, 0x0, 0x7f84d79b4b60, 0xc217d86550)
/usr/local/go/src/net/fd_unix.go:419 +0x40b
net.(*TCPListener).AcceptTCP(0xc2080360c0, 0xc208057c08, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:234 +0x4e
net.(*TCPListener).Accept(0xc2080360c0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:244 +0x4c
net/http.(*Server).Serve(0xc2080505a0, 0x7f84d79b53b0, 0xc2080360c0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:1728 +0x92
github.com/tylerb/graceful.(*Server).Serve(0xc208050540, 0x7f84d79b53b0, 0xc2080360c0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/tylerb/graceful/graceful.go:197 +0x446
github.com/tylerb/graceful.(*Server).ListenAndServe(0xc208050540, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/tylerb/graceful/graceful.go:110 +0x211
github.com/chihaya/chihaya/http.(*Server).Serve(0xc20801d2a0, 0xc208028d03, 0x5)
/root/chihaya/src/github.com/chihaya/chihaya/http/http.go:149 +0x612
github.com/chihaya/chihaya.func·002()
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:94 +0x79
created by github.com/chihaya/chihaya.Boot
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:95 +0xbac
goroutine 11 [IO wait]:
net.(*pollDesc).Wait(0xc20800e300, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc20800e300, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).readFrom(0xc20800e2a0, 0xc20844c800, 0x800, 0x800, 0x0, 0x0, 0x0, 0x7f84d79b4b60, 0xc23910a310)
/usr/local/go/src/net/fd_unix.go:269 +0x4a1
net.(*UDPConn).ReadFromUDP(0xc2080360f8, 0xc20844c800, 0x800, 0x800, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/udpsock_posix.go:67 +0x124
github.com/chihaya/chihaya/udp.(*Server).serve(0xc20803ae40, 0xc208028d00, 0x3, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/udp/udp.go:61 +0x5d7
github.com/chihaya/chihaya/udp.(*Server).Serve(0xc20803ae40, 0xc208028d00, 0x3)
/root/chihaya/src/github.com/chihaya/chihaya/udp/udp.go:102 +0x229
github.com/chihaya/chihaya.func·003()
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:105 +0x79
created by github.com/chihaya/chihaya.Boot
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:106 +0xe21
goroutine 12 [semacquire, 42 minutes]:
sync.(*WaitGroup).Wait(0xc20801d280)
/usr/local/go/src/sync/waitgroup.go:132 +0x169
github.com/chihaya/chihaya.func·004()
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:113 +0x30
created by github.com/chihaya/chihaya.Boot
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:116 +0x1065
goroutine 13 [select, 10 minutes]:
github.com/tylerb/graceful.(*Server).manageConnections(0xc208050540, 0xc208050600, 0xc208050660, 0xc2080506c0, 0xc208050720)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/tylerb/graceful/graceful.go:234 +0x3da
created by github.com/tylerb/graceful.(*Server).Serve
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/tylerb/graceful/graceful.go:184 +0x244
goroutine 14 [chan receive, 42 minutes]:
github.com/tylerb/graceful.(*Server).handleInterrupt(0xc208050540, 0xc208050780, 0x7f84d79b53b0, 0xc2080360c0)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/tylerb/graceful/graceful.go:269 +0x3d
created by github.com/tylerb/graceful.(*Server).Serve
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/tylerb/graceful/graceful.go:193 +0x416
goroutine 15 [chan receive, 42 minutes]:
github.com/chihaya/chihaya/udp.func·003()
/root/chihaya/src/github.com/chihaya/chihaya/udp/udp.go:97 +0x7e
created by github.com/chihaya/chihaya/udp.(*Server).Serve
/root/chihaya/src/github.com/chihaya/chihaya/udp/udp.go:100 +0x1fc
I would love to see the ability to have clustering ability, this will add the ability to scale if needed and also adds redundancy.
Also gives ability for multiple trakcers to (for example) share peer/seed information
The Chihaya project has been recently mentioned on /r/trackers, yet it remains relatively unknown, with Ocelot reigning supreme.
Since competition drives innovation and improvement, perhaps a list of milestones or 'low-hanging-fruit' could be written to help potential new contributors see where the project currently stands and where contributions would be most welcome.
This basically just entitles someone updating the travis.yml
and making sure everything works.
The README needs to be upgrading to say 1.4 as well.
Need to figure out the most performant way to do batch data updates with Postgres, and implement it.
If possible I would love to see a little more stats information, similar to what the opentracker by erdgeist offers.
Some ideas:
Maybe some other stats?
Was trying to setup a demo using docker containers, which internally use the same IP but different ports. Our peerkey
s don't take into account that peers could be from the same IP address, but be operating on different ports.
Should we continue to export these methods?
They seem like an implementation detail to me.
Bonus points for IPv6 compact support, which isn't implemented by anybody, but should be.
as mentioned in #17
I feel it will be good to thing to be able to allow in the config to set the listening addresses and protocol
so something like:
"listen_addr" : {"1.1.1.1", "[1::2:eeee]", },
"tracker_proto" : "tcp_udp",
For example on the listen_addr
you can have if nothing is set just listing to every address and can also specify say 0.0.0.0
being all IPv4 or [::]
being all ipv6
For the tracker_proto you can have say tcp
, udp
and tcp_udp
which will be both.
Currently, there is a global RWMutex for the torrent cache, which actually gets a write lock on every announce. This can definitely be improved to use a smarter method, especially when pub/sub is done and we don't have to grab a write lock on the whole cache every 30 seconds.
Start once again trying out the UDP (develop branch) in heavy real world load.
after running the track for ~30mins it crashed with the following info below:
Also, side note. setting -v=0
didnt seem to force any sort of informational output?
root@box:~/chihaya/bin# ./chihaya -v=0 -logtostderr=true -config=config.json
I0618 12:20:44.182742 3931 http.go:125] Starting HTTP on :80
I0618 12:20:44.182941 3931 udp.go:93] Starting UDP on :80
I0618 12:50:44.182955 3931 tracker.go:99] Purging peers with no announces since 2015-06-18 11:50:44.182950058 +0200 CEST
E0618 12:55:12.616409 3931 http.go:61] [500 - 1.87µs] /scrape 62.149.27.7:57626 (invalid URL escape "%5")
2015/06/18 12:56:55 http: panic serving 190.234.106.108:12163: runtime error: slice bounds out of range
goroutine 8592845 [running]:
net/http.func·011()
/usr/local/go/src/net/http/server.go:1130 +0xbb
github.com/chihaya/chihaya/http/query.New(0xc2235e99ee, 0xf3, 0x0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/query/query.go:57 +0x73a
github.com/chihaya/chihaya/http.(*Server).newAnnounce(0xc20801d2a0, 0xc2276755f0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/tracker.go:22 +0x64
github.com/chihaya/chihaya/http.(*Server).serveAnnounce(0xc20801d2a0, 0x7f755e3aa6f0, 0xc21f5c59a0, 0xc2276755f0, 0x0, 0x0, 0x0, 0x4b1f09, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/routes.go:90 +0xd1
github.com/chihaya/chihaya/http.*Server.(github.com/chihaya/chihaya/http.serveAnnounce)·fm(0x7f755e3aa6f0, 0xc21f5c59a0, 0xc2276755f0, 0x0, 0x0, 0x0, 0xc22e6 aa2a0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/http.go:77 +0x7e
github.com/chihaya/chihaya/http.func·001(0x7f755e3aa6f0, 0xc21f5c59a0, 0xc2276755f0, 0x0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/http.go:40 +0xc9
github.com/julienschmidt/httprouter.(*Router).ServeHTTP(0xc20803aea0, 0x7f755e3aa6f0, 0xc21f5c59a0, 0xc2276755f0)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/julienschmidt/httprouter/router.go:299 +0x18e
net/http.serverHandler.ServeHTTP(0xc2080505a0, 0x7f755e3aa6f0, 0xc21f5c59a0, 0xc2276755f0)
/usr/local/go/src/net/http/server.go:1703 +0x19a
net/http.(*conn).serve(0xc21f5c5720)
/usr/local/go/src/net/http/server.go:1204 +0xb57
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
2015/06/18 12:56:59 http: panic serving 190.234.106.108:13625: runtime error: slice bounds out of range
goroutine 8605920 [running]:
net/http.func·011()
/usr/local/go/src/net/http/server.go:1130 +0xbb
github.com/chihaya/chihaya/http/query.New(0xc2155cefce, 0xf3, 0x0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/query/query.go:57 +0x73a
github.com/chihaya/chihaya/http.(*Server).newAnnounce(0xc20801d2a0, 0xc2323f5d40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/tracker.go:22 +0x64
github.com/chihaya/chihaya/http.(*Server).serveAnnounce(0xc20801d2a0, 0x7f755e3aa6f0, 0xc225915220, 0xc2323f5d40, 0x0, 0x0, 0x0, 0x4b1f09, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/routes.go:90 +0xd1
github.com/chihaya/chihaya/http.*Server.(github.com/chihaya/chihaya/http.serveAnnounce)·fm(0x7f755e3aa6f0, 0xc225915220, 0xc2323f5d40, 0x0, 0x0, 0x0, 0xc21b7 0e310, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/http.go:77 +0x7e
github.com/chihaya/chihaya/http.func·001(0x7f755e3aa6f0, 0xc225915220, 0xc2323f5d40, 0x0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/http.go:40 +0xc9
github.com/julienschmidt/httprouter.(*Router).ServeHTTP(0xc20803aea0, 0x7f755e3aa6f0, 0xc225915220, 0xc2323f5d40)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/julienschmidt/httprouter/router.go:299 +0x18e
net/http.serverHandler.ServeHTTP(0xc2080505a0, 0x7f755e3aa6f0, 0xc225915220, 0xc2323f5d40)
/usr/local/go/src/net/http/server.go:1703 +0x19a
net/http.(*conn).serve(0xc225914f00)
/usr/local/go/src/net/http/server.go:1204 +0xb57
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
2015/06/18 12:58:12 http: panic serving 190.234.106.108:9053: runtime error: slice bounds out of range
goroutine 8835385 [running]:
net/http.func·011()
/usr/local/go/src/net/http/server.go:1130 +0xbb
github.com/chihaya/chihaya/http/query.New(0xc2300d70ee, 0xf3, 0x0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/query/query.go:57 +0x73a
github.com/chihaya/chihaya/http.(*Server).newAnnounce(0xc20801d2a0, 0xc236a4f380, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/tracker.go:22 +0x64
github.com/chihaya/chihaya/http.(*Server).serveAnnounce(0xc20801d2a0, 0x7f755e3aa6f0, 0xc2126e7ae0, 0xc236a4f380, 0x0, 0x0, 0x0, 0x4b1f09, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/routes.go:90 +0xd1
github.com/chihaya/chihaya/http.*Server.(github.com/chihaya/chihaya/http.serveAnnounce)·fm(0x7f755e3aa6f0, 0xc2126e7ae0, 0xc236a4f380, 0x0, 0x0, 0x0, 0xc22fa 644d0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/http.go:77 +0x7e
github.com/chihaya/chihaya/http.func·001(0x7f755e3aa6f0, 0xc2126e7ae0, 0xc236a4f380, 0x0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/http.go:40 +0xc9
github.com/julienschmidt/httprouter.(*Router).ServeHTTP(0xc20803aea0, 0x7f755e3aa6f0, 0xc2126e7ae0, 0xc236a4f380)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/julienschmidt/httprouter/router.go:299 +0x18e
net/http.serverHandler.ServeHTTP(0xc2080505a0, 0x7f755e3aa6f0, 0xc2126e7ae0, 0xc236a4f380)
/usr/local/go/src/net/http/server.go:1703 +0x19a
net/http.(*conn).serve(0xc2126e7a40)
/usr/local/go/src/net/http/server.go:1204 +0xb57
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
2015/06/18 12:58:16 http: panic serving 190.234.106.108:12269: runtime error: slice bounds out of range
goroutine 8847616 [running]:
net/http.func·011()
/usr/local/go/src/net/http/server.go:1130 +0xbb
github.com/chihaya/chihaya/http/query.New(0xc219596c6e, 0xf3, 0x0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/query/query.go:57 +0x73a
github.com/chihaya/chihaya/http.(*Server).newAnnounce(0xc20801d2a0, 0xc233b4e820, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/tracker.go:22 +0x64
github.com/chihaya/chihaya/http.(*Server).serveAnnounce(0xc20801d2a0, 0x7f755e3aa6f0, 0xc21eb25220, 0xc233b4e820, 0x0, 0x0, 0x0, 0x4b1f09, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/routes.go:90 +0xd1
github.com/chihaya/chihaya/http.*Server.(github.com/chihaya/chihaya/http.serveAnnounce)·fm(0x7f755e3aa6f0, 0xc21eb25220, 0xc233b4e820, 0x0, 0x0, 0x0, 0xc2259 6c150, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/http.go:77 +0x7e
github.com/chihaya/chihaya/http.func·001(0x7f755e3aa6f0, 0xc21eb25220, 0xc233b4e820, 0x0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/http/http.go:40 +0xc9
github.com/julienschmidt/httprouter.(*Router).ServeHTTP(0xc20803aea0, 0x7f755e3aa6f0, 0xc21eb25220, 0xc233b4e820)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/julienschmidt/httprouter/router.go:299 +0x18e
net/http.serverHandler.ServeHTTP(0xc2080505a0, 0x7f755e3aa6f0, 0xc21eb25220, 0xc233b4e820)
/usr/local/go/src/net/http/server.go:1703 +0x19a
net/http.(*conn).serve(0xc21eb24c80)
/usr/local/go/src/net/http/server.go:1204 +0xb57
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
fatal error: runtime: out of memory
runtime stack:
runtime.SysMap(0xc23a2f0000, 0x100000, 0xc20808c400, 0x8ea9f8)
/usr/local/go/src/runtime/mem_linux.c:149 +0x98
runtime.MHeap_SysAlloc(0x8f00e0, 0x100000, 0x430792)
/usr/local/go/src/runtime/malloc.c:284 +0x124
runtime.MHeap_Alloc(0x8f00e0, 0x6, 0x10100000000, 0xc23a246800)
/usr/local/go/src/runtime/mheap.c:240 +0x66
goroutine 9439314 [running]:
runtime.switchtoM()
/usr/local/go/src/runtime/asm_amd64.s:198 fp=0xc2394fa6e0 sp=0xc2394fa6d8
runtime.mallocgc(0xc000, 0x718c60, 0x0, 0xc23a2e8000)
/usr/local/go/src/runtime/malloc.go:199 +0x9f3 fp=0xc2394fa790 sp=0xc2394fa6e0
runtime.newarray(0x718c60, 0x200, 0x3000)
/usr/local/go/src/runtime/malloc.go:365 +0xc1 fp=0xc2394fa7c8 sp=0xc2394fa790
runtime.growslice(0x662b40, 0xc23a2e8000, 0x100, 0x100, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/runtime/slice.go:87 +0x2bb fp=0xc2394fa828 sp=0xc2394fa7c8
github.com/chihaya/chihaya/tracker/models.AppendPeer(0xc23a2e6380, 0xc23a2e63a0, 0xc209d7d260, 0xc23a2d7380, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/tracker/models/peermap.go:195 +0x407 fp=0xc2394fa900 sp=0xc2394fa828
github.com/chihaya/chihaya/tracker/models.(*PeerMap).AppendPeers(0xc208148aa0, 0x8e8e58, 0x0, 0x0, 0x8e8e58, 0x0, 0x0, 0xc209d7d260, 0xffffffff, 0x0, ...)
/root/chihaya/src/github.com/chihaya/chihaya/tracker/models/peermap.go:162 +0x707 fp=0xc2394fab40 sp=0xc2394fa900
github.com/chihaya/chihaya/tracker.getPeers(0xc209d7d260, 0x8e8e58, 0x0, 0x0, 0x8e8e58, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/tracker/announce.go:293 +0x17e fp=0xc2394fabf0 sp=0xc2394fab40
github.com/chihaya/chihaya/tracker.newAnnounceResponse(0xc209d7d260, 0xc209d7d260)
/root/chihaya/src/github.com/chihaya/chihaya/tracker/announce.go:276 +0x1d5 fp=0xc2394fac90 sp=0xc2394fabf0
github.com/chihaya/chihaya/tracker.(*Tracker).HandleAnnounce(0xc20801d260, 0xc209d7d260, 0x7f755e3aa900, 0xc20ab13540, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/tracker/announce.go:74 +0x76b fp=0xc2394fad78 sp=0xc2394fac90
github.com/chihaya/chihaya/udp.(*Server).handlePacket(0xc20803ae40, 0xc20aa66000, 0x6d, 0x800, 0xc23a2e49f0, 0x0, 0x0, 0x0, 0x7592d0, 0x8)
/root/chihaya/src/github.com/chihaya/chihaya/udp/protocol.go:102 +0x630 fp=0xc2394faea8 sp=0xc2394fad78
github.com/chihaya/chihaya/udp.func·002()
/root/chihaya/src/github.com/chihaya/chihaya/udp/udp.go:74 +0xab fp=0xc2394fafe0 sp=0xc2394faea8
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1 fp=0xc2394fafe8 sp=0xc2394fafe0
created by github.com/chihaya/chihaya/udp.(*Server).serve
/root/chihaya/src/github.com/chihaya/chihaya/udp/udp.go:85 +0x895
goroutine 1 [chan receive, 40 minutes]:
github.com/chihaya/chihaya.Boot()
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:118 +0x1090
main.main()
/root/chihaya/src/github.com/chihaya/chihaya/cmd/chihaya/main.go:10 +0x1b
goroutine 5 [chan receive]:
github.com/golang/glog.(*loggingT).flushDaemon(0x8e06a0)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/golang/glog/glog.go:879 +0x78
created by github.com/golang/glog.init·1
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/golang/glog/glog.go:410 +0x2a7
goroutine 17 [syscall, 40 minutes, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1
goroutine 6 [syscall, 40 minutes]:
os/signal.loop()
/usr/local/go/src/os/signal/signal_unix.go:21 +0x1f
created by os/signal.init·1
/usr/local/go/src/os/signal/signal_unix.go:27 +0x35
goroutine 8 [select]:
github.com/chihaya/chihaya/stats.(*Stats).handleEvents(0xc208082160)
/root/chihaya/src/github.com/chihaya/chihaya/stats/stats.go:168 +0x2de
created by github.com/chihaya/chihaya/stats.New
/root/chihaya/src/github.com/chihaya/chihaya/stats/stats.go:129 +0x721
goroutine 9 [chan receive, 10 minutes]:
github.com/chihaya/chihaya/tracker.(*Tracker).purgeInactivePeers(0xc20801d260, 0xc208050200, 0x34630b8a000, 0x1a3185c5000)
/root/chihaya/src/github.com/chihaya/chihaya/tracker/tracker.go:97 +0x8a
created by github.com/chihaya/chihaya/tracker.New
/root/chihaya/src/github.com/chihaya/chihaya/tracker/tracker.go:54 +0x183
goroutine 10 [IO wait]:
net.(*pollDesc).Wait(0xc20800e290, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc20800e290, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).accept(0xc20800e230, 0x0, 0x7f755e3a8b60, 0xc20c76a700)
/usr/local/go/src/net/fd_unix.go:419 +0x40b
net.(*TCPListener).AcceptTCP(0xc2080360c0, 0xc208057c08, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:234 +0x4e
net.(*TCPListener).Accept(0xc2080360c0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:244 +0x4c
net/http.(*Server).Serve(0xc2080505a0, 0x7f755e3a93b0, 0xc2080360c0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:1728 +0x92
github.com/tylerb/graceful.(*Server).Serve(0xc208050540, 0x7f755e3a93b0, 0xc2080360c0, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/tylerb/graceful/graceful.go:197 +0x446
github.com/tylerb/graceful.(*Server).ListenAndServe(0xc208050540, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/tylerb/graceful/graceful.go:110 +0x211
github.com/chihaya/chihaya/http.(*Server).Serve(0xc20801d2a0, 0xc208028d03, 0x3)
/root/chihaya/src/github.com/chihaya/chihaya/http/http.go:149 +0x612
github.com/chihaya/chihaya.func·002()
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:94 +0x79
created by github.com/chihaya/chihaya.Boot
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:95 +0xbac
goroutine 11 [IO wait]:
net.(*pollDesc).Wait(0xc20800e300, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc20800e300, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).readFrom(0xc20800e2a0, 0xc208ad9000, 0x800, 0x800, 0x0, 0x0, 0x0, 0x7f755e3a8b60, 0xc20c701800)
/usr/local/go/src/net/fd_unix.go:269 +0x4a1
net.(*UDPConn).ReadFromUDP(0xc2080360f8, 0xc208ad9000, 0x800, 0x800, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/udpsock_posix.go:67 +0x124
github.com/chihaya/chihaya/udp.(*Server).serve(0xc20803ae40, 0xc208028d00, 0x3, 0x0, 0x0)
/root/chihaya/src/github.com/chihaya/chihaya/udp/udp.go:61 +0x5d7
github.com/chihaya/chihaya/udp.(*Server).Serve(0xc20803ae40, 0xc208028d00, 0x3)
/root/chihaya/src/github.com/chihaya/chihaya/udp/udp.go:102 +0x229
github.com/chihaya/chihaya.func·003()
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:105 +0x79
created by github.com/chihaya/chihaya.Boot
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:106 +0xe21
goroutine 12 [semacquire, 40 minutes]:
sync.(*WaitGroup).Wait(0xc20801d280)
/usr/local/go/src/sync/waitgroup.go:132 +0x169
github.com/chihaya/chihaya.func·004()
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:113 +0x30
created by github.com/chihaya/chihaya.Boot
/root/chihaya/src/github.com/chihaya/chihaya/chihaya.go:116 +0x1065
goroutine 13 [select]:
github.com/tylerb/graceful.(*Server).manageConnections(0xc208050540, 0xc208050600, 0xc208050660, 0xc2080506c0, 0xc208050720)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/tylerb/graceful/graceful.go:234 +0x3da
created by github.com/tylerb/graceful.(*Server).Serve
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/tylerb/graceful/graceful.go:184 +0x244
goroutine 14 [chan receive, 40 minutes]:
github.com/tylerb/graceful.(*Server).handleInterrupt(0xc208050540, 0xc208050780, 0x7f755e3a93b0, 0xc2080360c0)
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/tylerb/graceful/graceful.go:269 +0x3d
created by github.com/tylerb/graceful.(*Server).Serve
/root/chihaya/src/github.com/chihaya/chihaya/Godeps/_workspace/src/github.com/tylerb/graceful/graceful.go:193 +0x416
goroutine 15 [chan receive, 40 minutes]:
github.com/chihaya/chihaya/udp.func·003()
/root/chihaya/src/github.com/chihaya/chihaya/udp/udp.go:97 +0x7e
created by github.com/chihaya/chihaya/udp.(*Server).Serve
/root/chihaya/src/github.com/chihaya/chihaya/udp/udp.go:100 +0x1fc
goroutine 9428545 [IO wait]:
net.(*pollDesc).Wait(0xc216496680, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc216496680, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc216496620, 0xc233929000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc21079d658)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc227fb1248, 0xc233929000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc216498228, 0xc233929000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20ea71240, 0xc233929000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc239f920c0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc239f920c0, 0xc21e593a0a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc239f920c0, 0x0, 0x0, 0x0, 0xc2351cbb00, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc2252a9140, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc2252a9140, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc239f920c0, 0xc21dd884e0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2164981e0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2164981e0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9425323 [IO wait]:
net.(*pollDesc).Wait(0xc22b6c1720, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc22b6c1720, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc22b6c16c0, 0xc20bb29000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc2119135a8)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc2371aa038, 0xc20bb29000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc216730408, 0xc20bb29000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc2117fa140, 0xc20bb29000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc20da70fc0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc20da70fc0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc20da70fc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc21b2e2d80, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc21b2e2d80, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc20da70fc0, 0xc2103d61a0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2167303c0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2167303c0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9428456 [IO wait]:
net.(*pollDesc).Wait(0xc21d6b7b10, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc21d6b7b10, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc21d6b7ab0, 0xc231c3c000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc21081b2a0)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc227fb0f28, 0xc231c3c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc235a2be48, 0xc231c3c000, 0x1000, 0x1000, 0xc237f18670, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20ed1c0c0, 0xc231c3c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc234ce6f00)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc234ce6f00, 0xc210829e0a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc234ce6f00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc216df7b30, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc216df7b30, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc234ce6f00, 0xc21ee3bee0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc235a2be00, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc235a2be00)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9428956 [IO wait]:
net.(*pollDesc).Wait(0xc2342bebc0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2342bebc0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2342beb60, 0xc21809b000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc21064e108)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc237c5a0d8, 0xc21809b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc216499588, 0xc21809b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20e4a76e0, 0xc21809b000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc239899da0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc239899da0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc239899da0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc22ec37e60, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc22ec37e60, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc239899da0, 0xc21dd89860, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc216499540, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc216499540)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9432988 [IO wait]:
net.(*pollDesc).Wait(0xc2339d4680, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2339d4680, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2339d4620, 0xc226d21000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20ed975f0)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc239498e40, 0xc226d21000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc230580e08, 0xc226d21000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20b353840, 0xc226d21000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc239898c00)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc239898c00, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc239898c00, 0x0, 0x0, 0x0, 0xc216499600, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc230d48600, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc230d48600, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc239898c00, 0xc239d81450, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc230580dc0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc230580dc0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9428033 [IO wait]:
net.(*pollDesc).Wait(0xc231e718e0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc231e718e0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc231e71880, 0xc21b8fe000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc210a249a0)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc220595ff0, 0xc21b8fe000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc235a2afe8, 0xc21b8fe000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20f2e42a0, 0xc21b8fe000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc2386ce420)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc2386ce420, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc2386ce420, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc224e01fb0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc224e01fb0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2386ce420, 0xc21ee3aea0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc235a2afa0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc235a2afa0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9434478 [IO wait]:
net.(*pollDesc).Wait(0xc22cf02140, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc22cf02140, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc22cf020e0, 0xc230b24000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20e5ef6a0)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc21fc2e2c8, 0xc230b24000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2319c4c28, 0xc230b24000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20a2c53c0, 0xc230b24000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc2345b99e0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc2345b99e0, 0x7f755e3aa70a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc2345b99e0, 0x0, 0x0, 0x0, 0x415500, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc21f35a090, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc21f35a090, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2345b99e0, 0xc21f3e3520, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2319c4be0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2319c4be0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9428135 [IO wait]:
net.(*pollDesc).Wait(0xc2150386f0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2150386f0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc215038690, 0xc22d322000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20fec1af0)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc227fb0388, 0xc22d322000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc235a2b1c8, 0xc22d322000, 0x1000, 0x1000, 0xc2089e4820, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20efa3540, 0xc22d322000, 0x1000, 0x1000, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc234ce6f60)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc234ce6f60, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc234ce6f60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc22763f500, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc22763f500, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc234ce6f60, 0xc21ee3b040, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc235a2b180, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc235a2b180)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9429856 [IO wait]:
net.(*pollDesc).Wait(0xc214445870, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc214445870, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc214445810, 0xc21649c000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc216a42e20)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc212382060, 0xc21649c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc22433e2c8, 0xc21649c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20d7b1d20, 0xc21649c000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc21d45f020)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc21d45f020, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc21d45f020, 0x0, 0x0, 0x0, 0xc206925d00, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc21eda2720, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc21eda2720, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc21d45f020, 0xc2365b88f0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc22433e280, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc22433e280)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9434653 [IO wait]:
net.(*pollDesc).Wait(0xc21ea51020, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc21ea51020, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc21ea50fc0, 0xc2112ba000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20e4a2168)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc21fc2e8c0, 0xc2112ba000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2319c4fe8, 0xc2112ba000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20a084ea0, 0xc2112ba000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc21d9a8480)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc21d9a8480, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc21d9a8480, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc230fffbc0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc230fffbc0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc21d9a8480, 0xc21f3e3ba0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2319c4fa0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2319c4fa0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9427860 [IO wait]:
net.(*pollDesc).Wait(0xc237db27d0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc237db27d0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc237db2770, 0xc21b441000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc210af6068)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc220595a20, 0xc21b441000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc235a2aae8, 0xc21b441000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20f479e80, 0xc21b441000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc230976180)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc230976180, 0xc21e592a0a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc230976180, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc22763e060, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc22763e060, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc230976180, 0xc21ee3ab60, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc235a2aaa0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc235a2aaa0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9437210 [IO wait]:
net.(*pollDesc).Wait(0xc232f6a7d0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc232f6a7d0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc232f6a770, 0xc2158bc000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20d730c90)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc239602478, 0xc2158bc000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc237f900e8, 0xc2158bc000, 0x1000, 0x1000, 0xc20bd6f6c0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc2088edbe0, 0xc2158bc000, 0x1000, 0x1000, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc22a0f5320)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc22a0f5320, 0xc20d730b0a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc22a0f5320, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc213bcab70, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc213bcab70, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc22a0f5320, 0xc2362cb110, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc237f900a0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc237f900a0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9429834 [IO wait]:
net.(*pollDesc).Wait(0xc214444ed0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc214444ed0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc214444e70, 0xc22689a000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc2197efa50)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc237c5bfa8, 0xc22689a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc22433e0e8, 0xc22689a000, 0x1000, 0x1000, 0xc2117309c0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20d7c06c0, 0xc22689a000, 0x1000, 0x1000, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc21d45ec00)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc21d45ec00, 0xc2197ef90a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc21d45ec00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc21d103080, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc21d103080, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc21d45ec00, 0xc2365b84e0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc22433e0a0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc22433e0a0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9434471 [IO wait]:
net.(*pollDesc).Wait(0xc225fe5cd0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc225fe5cd0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc225fe5c70, 0xc217b30000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20e5ef070)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc21fc2e290, 0xc217b30000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2319c4ae8, 0xc217b30000, 0x1000, 0x1000, 0xc21f3e3380, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20a2c4020, 0xc217b30000, 0x1000, 0x1000, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc21539a780)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc21539a780, 0xc20e5eef0a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc21539a780, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc210286ed0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc210286ed0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc21539a780, 0xc21f3e3450, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2319c4aa0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2319c4aa0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9437449 [IO wait]:
net.(*pollDesc).Wait(0xc235783a30, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc235783a30, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2357839d0, 0xc2362ed000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20d620310)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc239602d10, 0xc2362ed000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc237f91088, 0xc2362ed000, 0x1000, 0x1000, 0xc20d620080, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc2087d8b80, 0xc2362ed000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc2362325a0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc2362325a0, 0x7f755e3aa70a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc2362325a0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc235102f00, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc235102f00, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2362325a0, 0xc2362cbee0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc237f91040, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc237f91040)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9436366 [IO wait]:
net.(*pollDesc).Wait(0xc2380af4f0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2380af4f0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2380af490, 0xc238fb3000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20dd5feb0)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc232e9c628, 0xc238fb3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2393e94e8, 0xc238fb3000, 0x1000, 0x1000, 0xc232e9c610, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc2090ba940, 0xc238fb3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc22fb0fe60)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc22fb0fe60, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc22fb0fe60, 0x0, 0x0, 0x0, 0xc216499600, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc22a9f8e40, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc22a9f8e40, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc22fb0fe60, 0xc22b758410, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2393e94a0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2393e94a0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9430808 [IO wait]:
net.(*pollDesc).Wait(0xc234f4a3e0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc234f4a3e0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc234f4a380, 0xc235785000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc2130e9af0)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc2324c8260, 0xc235785000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc22433f588, 0xc235785000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20cd2ce60, 0xc235785000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc2396335c0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc2396335c0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc2396335c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc235982150, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc235982150, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2396335c0, 0xc229e988f0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc22433f540, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc22433f540)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9433964 [IO wait]:
net.(*pollDesc).Wait(0xc21eb2ea70, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc21eb2ea70, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc21eb2ea10, 0xc22fec2000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20e73a210)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc22b1510b8, 0xc22fec2000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc238a0b3a8, 0xc22fec2000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20a7cb2e0, 0xc22fec2000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc214e39b60)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc214e39b60, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc214e39b60, 0x0, 0x0, 0x0, 0xc217bdcb00, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc210b373b0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc210b373b0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc214e39b60, 0xc22f159d40, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc238a0b360, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc238a0b360)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9434834 [IO wait]:
net.(*pollDesc).Wait(0xc21ff36680, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc21ff36680, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc21ff36620, 0xc22b886000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20e3cd3f8)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc21fc2ef20, 0xc22b886000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2319c5a88, 0xc22b886000, 0x1000, 0x1000, 0xc208cb4b60, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc209f2d180, 0xc22b886000, 0x1000, 0x1000, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc228e229c0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc228e229c0, 0xc20e3cd30a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc228e229c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc20f341e90, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc20f341e90, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc228e229c0, 0xc23599c820, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2319c5a40, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2319c5a40)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9429221 [IO wait]:
net.(*pollDesc).Wait(0xc2327907d0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2327907d0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc232790770, 0xc238050000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc2104b3cb0)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc237c5a9f0, 0xc238050000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc216499ee8, 0xc238050000, 0x1000, 0x1000, 0xc232790734, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20e251860, 0xc238050000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc239a342a0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc239a342a0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc239a342a0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc232f0f2c0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc232f0f2c0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc239a342a0, 0xc235532410, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc216499ea0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc216499ea0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9439234 [runnable]:
net.(*pollDesc).Wait(0xc23a2be680, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc23a2be680, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc23a2be620, 0xc2196a7000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20c76a730)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc23602cdb8, 0xc2196a7000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc23a2ae7c8, 0xc2196a7000, 0x1000, 0x1000, 0xc20c76a4c0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc23a2b9a00, 0xc2196a7000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc22b804960)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc22b804960, 0x7f755e3aa70a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc22b804960, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc235d66d20, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc235d66d20, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc22b804960, 0xc23a2a25b0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc23a2ae780, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc23a2ae780)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9438994 [IO wait]:
net.(*pollDesc).Wait(0xc23a12d6b0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc23a12d6b0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc23a12d650, 0xc228925000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc21680ff70)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc23602c4e8, 0xc228925000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2389cf9e8, 0xc228925000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc23a1378e0, 0xc228925000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc226eb79e0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc226eb79e0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc226eb79e0, 0x0, 0x0, 0x0, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc218bdd5f0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc218bdd5f0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc226eb79e0, 0xc2392e96c0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2389cf9a0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2389cf9a0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9430709 [IO wait]:
net.(*pollDesc).Wait(0xc230299870, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc230299870, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc230299810, 0xc214461000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20f857238)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc212383ed8, 0xc214461000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc22433f4e8, 0xc214461000, 0x1000, 0x1000, 0xc2088de270, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20cfe8080, 0xc214461000, 0x1000, 0x1000, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc21d9a9b00)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc21d9a9b00, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc21d9a9b00, 0x0, 0x0, 0x0, 0xc21abbc500, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc21438c270, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc21438c270, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc21d9a9b00, 0xc229e98820, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc22433f4a0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc22433f4a0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9438542 [IO wait]:
net.(*pollDesc).Wait(0xc2389e20d0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2389e20d0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2389e2070, 0xc221c8e000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20d15a818)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc237977498, 0xc221c8e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2389ce228, 0xc221c8e000, 0x1000, 0x1000, 0xc2080f3930, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc2389cba40, 0xc221c8e000, 0x1000, 0x1000, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc234ce7560)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc234ce7560, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc234ce7560, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc210ab2b10, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc210ab2b10, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc234ce7560, 0xc2392e8340, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2389ce1e0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2389ce1e0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9431518 [IO wait]:
net.(*pollDesc).Wait(0xc223b915d0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc223b915d0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc223b91570, 0xc21b124000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20f614a98)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc2324c9b10, 0xc21b124000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc20fe6fa88, 0xc21b124000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20c6344e0, 0xc21b124000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc21d1086c0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc21d1086c0, 0xc20f61490a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc21d1086c0, 0x0, 0x0, 0x0, 0x415500, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc225ad22d0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc225ad22d0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc21d1086c0, 0xc227179930, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc20fe6fa40, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc20fe6fa40)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9426542 [IO wait]:
net.(*pollDesc).Wait(0xc21696f9c0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc21696f9c0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc21696f960, 0xc22921a000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc21b477c58)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc217c1cb60, 0xc22921a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc234617808, 0xc22921a000, 0x1000, 0x1000, 0xc21696f844, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc21090b680, 0xc22921a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc231659560)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc231659560, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc231659560, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc21d48f290, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc21d48f290, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc231659560, 0xc236902d00, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2346177c0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2346177c0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9427344 [IO wait]:
net.(*pollDesc).Wait(0xc2300dd5d0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2300dd5d0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2300dd570, 0xc239914000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc210ccf510)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc2205947a8, 0xc239914000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc231b736c8, 0xc239914000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20fa6eb40, 0xc239914000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc222e58600)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc222e58600, 0x7f755e3aa70a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc222e58600, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc218a7a3f0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc218a7a3f0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc222e58600, 0xc213c1b450, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc231b73680, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc231b73680)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9431482 [IO wait]:
net.(*pollDesc).Wait(0xc223b904c0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc223b904c0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc223b90460, 0xc213e6f000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20f64cd60)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc2324c99d8, 0xc213e6f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc20fe6f948, 0xc213e6f000, 0x1000, 0x1000, 0xc2324c99d0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20c664a40, 0xc213e6f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc238eb6de0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc238eb6de0, 0x7f755e3aa70a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc238eb6de0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc221283e00, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc221283e00, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc238eb6de0, 0xc2271796c0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc20fe6f900, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc20fe6f900)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9437656 [IO wait]:
net.(*pollDesc).Wait(0xc238851cd0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc238851cd0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc238851c70, 0xc22a94b000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20d544f60)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc239603468, 0xc22a94b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc237f91da8, 0xc22a94b000, 0x1000, 0x1000, 0xc238851bc4, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20866bf60, 0xc22a94b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc2398988a0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc2398988a0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc2398988a0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc22763f4d0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc22763f4d0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2398988a0, 0xc22d4568f0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc237f91d60, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc237f91d60)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9430017 [IO wait]:
net.(*pollDesc).Wait(0xc238815f70, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc238815f70, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc238815f10, 0xc20bb28000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20fb8e9e8)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc212382628, 0xc20bb28000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc22433e408, 0xc20bb28000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20d683200, 0xc20bb28000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc22eb14060)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc22eb14060, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc22eb14060, 0x0, 0x0, 0x0, 0xc217acf000, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc214ef3b00, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc214ef3b00, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc22eb14060, 0xc2365b89c0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc22433e3c0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc22433e3c0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9431449 [IO wait]:
net.(*pollDesc).Wait(0xc2269eb480, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2269eb480, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2269eb420, 0xc210b68000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20f65d010)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc2324c98b0, 0xc210b68000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc20fe6f588, 0xc210b68000, 0x1000, 0x1000, 0xc20f65cdd0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20c697f40, 0xc210b68000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc22a0f5380)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc22a0f5380, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc22a0f5380, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc2315a9440, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc2315a9440, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc22a0f5380, 0xc2271791e0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc20fe6f540, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc20fe6f540)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9433342 [IO wait]:
net.(*pollDesc).Wait(0xc233206d10, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc233206d10, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc233206cb0, 0xc209e35000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20e9f8548)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc239499ab0, 0xc209e35000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc230581f88, 0xc209e35000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20aeb18c0, 0xc209e35000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc2134a0ea0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc2134a0ea0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc2134a0ea0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc21bd0e9f0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc21bd0e9f0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2134a0ea0, 0xc22f1585b0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc230581f40, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc230581f40)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9430255 [IO wait]:
net.(*pollDesc).Wait(0xc239d00920, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc239d00920, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc239d008c0, 0xc2264ec000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20fa4d2e8)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc212382e98, 0xc2264ec000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc22433e908, 0xc2264ec000, 0x1000, 0x1000, 0xc208768000, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20d4705c0, 0xc2264ec000, 0x1000, 0x1000, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc230c83980)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc230c83980, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc230c83980, 0x0, 0x0, 0x0, 0xc2065db400, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc22224b9e0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc22224b9e0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc230c83980, 0xc2365b92b0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc22433e8c0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc22433e8c0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9439193 [IO wait]:
net.(*pollDesc).Wait(0xc23a2b1170, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc23a2b1170, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc23a2b1110, 0xc228e68000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20c7ae790)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc23602cc50, 0xc228e68000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc23a2ae368, 0xc228e68000, 0x1000, 0x1000, 0xc23a2b0ff4, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc23a2b3ea0, 0xc228e68000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc21e850480)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc21e850480, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc21e850480, 0x0, 0x0, 0x0, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc225ad2ba0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc225ad2ba0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc21e850480, 0xc23a2a2340, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc23a2ae320, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc23a2ae320)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9433464 [IO wait]:
net.(*pollDesc).Wait(0xc22b14e5a0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc22b14e5a0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc22b14e540, 0xc216e96000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20e99f700)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc239499ee0, 0xc216e96000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc238a0a4a8, 0xc216e96000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20acb4f20, 0xc216e96000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc239899c20)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc239899c20, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc239899c20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc218b956e0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc218b956e0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc239899c20, 0xc22f158d00, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc238a0a460, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc238a0a460)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9429423 [IO wait]:
net.(*pollDesc).Wait(0xc238c76610, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc238c76610, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc238c765b0, 0xc230592000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc2100d8190)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc237c5b110, 0xc230592000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc22b6f6868, 0xc230592000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20de74200, 0xc230592000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc234ce73e0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc234ce73e0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc234ce73e0, 0x0, 0x0, 0x0, 0xc206ac7600, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc21d389b00, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc21d389b00, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc234ce73e0, 0xc235532b60, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc22b6f6820, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc22b6f6820)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9426173 [IO wait]:
net.(*pollDesc).Wait(0xc22aaaad10, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc22aaaad10, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc22aaaacb0, 0xc219bce000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc2114ce388)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc2371abe60, 0xc219bce000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2346167c8, 0xc219bce000, 0x1000, 0x1000, 0xc2087dfd40, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc210ce3400, 0xc219bce000, 0x1000, 0x1000, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc22a587200)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc22a587200, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc22a587200, 0x0, 0x0, 0x0, 0x350000, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc22c6a0330, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc22c6a0330, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc22a587200, 0xc20f95b6c0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc234616780, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc234616780)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9433078 [IO wait]:
net.(*pollDesc).Wait(0xc235f50ed0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc235f50ed0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc235f50e70, 0xc213bda000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20ed40230)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc239499170, 0xc213bda000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2305811c8, 0xc213bda000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20b0c9420, 0xc213bda000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc21d45fb00)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc21d45fb00, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc21d45fb00, 0x0, 0x0, 0x0, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc21cc32480, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc21cc32480, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc21d45fb00, 0xc239d81930, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc230581180, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc230581180)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9434557 [IO wait]:
net.(*pollDesc).Wait(0xc2374ac3e0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2374ac3e0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2374ac380, 0xc20cdac000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20e525788)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc21fc2e570, 0xc20cdac000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2319c4d68, 0xc20cdac000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20a11c600, 0xc20cdac000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc22ec39f80)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc22ec39f80, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc22ec39f80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc220544e40, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc220544e40, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc22ec39f80, 0xc21f3e36c0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2319c4d20, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2319c4d20)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9436434 [IO wait]:
net.(*pollDesc).Wait(0xc2398f52c0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2398f52c0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2398f5260, 0xc224b24000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc21261a408)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc232e9c8a0, 0xc224b24000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2393e9588, 0xc224b24000, 0x1000, 0x1000, 0xc20c413520, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc209065c20, 0xc224b24000, 0x1000, 0x1000, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc2384e6fc0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc2384e6fc0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc2384e6fc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc2162021b0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc2162021b0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2384e6fc0, 0xc22b758680, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2393e9540, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2393e9540)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9432378 [IO wait]:
net.(*pollDesc).Wait(0xc2374ea610, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2374ea610, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2374ea5b0, 0xc219443000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20f2dfc68)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc217a37918, 0xc219443000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc225fa5808, 0xc219443000, 0x1000, 0x1000, 0xc2131cc9c0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20b9c5840, 0xc219443000, 0x1000, 0x1000, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc2398986c0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc2398986c0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc2398986c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc2133be360, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc2133be360, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2398986c0, 0xc238079930, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc225fa57c0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc225fa57c0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9425882 [IO wait]:
net.(*pollDesc).Wait(0xc232998370, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc232998370, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc232998310, 0xc226365000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc210fbd740)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc2371ab448, 0xc226365000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2167318a8, 0xc226365000, 0x1000, 0x1000, 0x40ce28, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc218651100, 0xc226365000, 0x1000, 0x1000, 0xc210fbd450, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc218ef9d40)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc218ef9d40, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc218ef9d40, 0x0, 0x0, 0x0, 0x350000, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc22cb711a0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc22cb711a0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc218ef9d40, 0xc20f95a4e0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc216731860, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc216731860)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9425974 [IO wait]:
net.(*pollDesc).Wait(0xc22ffe6d80, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc22ffe6d80, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc22ffe6d20, 0xc211741000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc21347a400)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc2371ab7a0, 0xc211741000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc216731d08, 0xc211741000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc210ed0ac0, 0xc211741000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc2384e7b60)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc2384e7b60, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc2384e7b60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc233480f60, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc233480f60, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2384e7b60, 0xc20f95ab60, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc216731cc0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc216731cc0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9428262 [IO wait]:
net.(*pollDesc).Wait(0xc235e32370, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc235e32370, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc235e32310, 0xc20f968000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc21097b270)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc227fb0810, 0xc20f968000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc235a2b6c8, 0xc20f968000, 0x1000, 0x1000, 0xc21097b000, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20ee72cc0, 0xc20f968000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc21b2adec0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc21b2adec0, 0x7f755e3aa70a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc21b2adec0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc22e82f080, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc22e82f080, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc21b2adec0, 0xc21ee3b520, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc235a2b680, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc235a2b680)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9427976 [IO wait]:
net.(*pollDesc).Wait(0xc236783e90, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc236783e90, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc236783e30, 0xc2082e0000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc210a6a1f0)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc220595df8, 0xc2082e0000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc235a2ae08, 0xc2082e0000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20f352ca0, 0xc2082e0000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc22eb15020)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc22eb15020, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc22eb15020, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc2351b9140, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc2351b9140, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc22eb15020, 0xc21ee3ad00, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc235a2adc0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc235a2adc0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9431429 [IO wait]:
net.(*pollDesc).Wait(0xc2269ea760, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2269ea760, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2269ea700, 0xc239915000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20f66de40)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc2324c9800, 0xc239915000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc20fe6f1c8, 0xc239915000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20c6b9740, 0xc239915000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc23923db60)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc23923db60, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc23923db60, 0x0, 0x0, 0x0, 0x415500, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc213cc1110, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc213cc1110, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc23923db60, 0xc227178f70, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc20fe6f180, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc20fe6f180)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9434745 [IO wait]:
net.(*pollDesc).Wait(0xc23597bcd0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc23597bcd0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc23597bc70, 0xc2398d9000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc213796720)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc21fc2ec18, 0xc2398d9000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2319c5628, 0xc2398d9000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc209faa180, 0xc2398d9000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc238eb6d80)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc238eb6d80, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc238eb6d80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc2375b5d10, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc2375b5d10, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc238eb6d80, 0xc23599c270, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2319c55e0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2319c55e0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9436765 [IO wait]:
net.(*pollDesc).Wait(0xc238db6e60, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc238db6e60, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc238db6e00, 0xc220939000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20dc3ae18)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc232e9d480, 0xc220939000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc238b4a908, 0xc220939000, 0x1000, 0x1000, 0xc208135380, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc208e42b40, 0xc220939000, 0x1000, 0x1000, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc230bb19e0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc230bb19e0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc230bb19e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc22ead7f50, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc22ead7f50, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc230bb19e0, 0xc22b7596c0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc238b4a8c0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc238b4a8c0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9433385 [IO wait]:
net.(*pollDesc).Wait(0xc22ae2e140, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc22ae2e140, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc22ae2e0e0, 0xc226333000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20e9ae960)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc239499c20, 0xc226333000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc238a0a228, 0xc226333000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20ae7b8a0, 0xc226333000, 0x1000, 0x1000, 0x4c1b7e, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc2351a1980)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc2351a1980, 0xc21e595a0a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc2351a1980, 0x0, 0x0, 0x0, 0xc22f959600, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc214f36a80, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc214f36a80, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2351a1980, 0xc22f158820, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc238a0a1e0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc238a0a1e0)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9435431 [IO wait]:
net.(*pollDesc).Wait(0xc23511bdb0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc23511bdb0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc23511bd50, 0xc225041000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc20e1b5f10)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc2377ea478, 0xc225041000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc21ae03268, 0xc225041000, 0x1000, 0x1000, 0xc208b45790, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc209914f20, 0xc225041000, 0x1000, 0x1000, 0xc208010000, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc22b362120)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc22b362120, 0xc20e1b5e0a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc22b362120, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc21f3136b0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc21f3136b0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc22b362120, 0xc23599dee0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc21ae03220, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc21ae03220)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9429224 [IO wait]:
net.(*pollDesc).Wait(0xc232790920, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc232790920, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2327908c0, 0xc232b07000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc2104b3e18)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc237c5aa08, 0xc232b07000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc216499f88, 0xc232b07000, 0x1000, 0x1000, 0x4, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20e251b20, 0xc232b07000, 0x1000, 0x1000, 0xc232790874, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc23801f620)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc23801f620, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc23801f620, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc21851d590, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc21851d590, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc23801f620, 0xc2355324e0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc216499f40, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc216499f40)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
goroutine 9429558 [IO wait]:
net.(*pollDesc).Wait(0xc2312f8ae0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2312f8ae0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2312f8a80, 0xc226c90000, 0x1000, 0x1000, 0x0, 0x7f755e3a8b60, 0xc21008c780)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc237c5b5d0, 0xc226c90000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc22b6f71c8, 0xc226c90000, 0x1000, 0x1000, 0xc21008c500, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20dd7ccc0, 0xc226c90000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc238eb7560)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc238eb7560, 0x7f755e3aa70a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc238eb7560, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc2152d0e40, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc2152d0e40, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc238eb7560, 0xc235533520, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc22b6f7180, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc22b6f7180)
/usr/local/go/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x35e
Because untested code is broken code.
Thanks to @aaronblohowiak who pointed out on reddit that we have a race condition in our server. waitgroup.Add(1) is called after the goroutine has already been launched, which might not get the chance to run before waitgroup.Wait() is called. We still need to gracefully shutdown the server, so it's time to brainstorm for alternatives.
I really wish this was behavior available in the standard library.
https://github.com/labstack/echo is very similar to httprouter, but pre-allocates memory so that there are 0 allocations when handling requests. We should evaluate/benchmark to see if it's worth using over httprouter.
Should be relatively simple to add by implementing a tracker.Writer
for UDP.
We really should be doing this. Does anyone have any preferences? Godep?
Love the project.
I feel it would be much better and easier if you could include either in the READEME or in the github wiki a small paragraph on the each config variable for the tracker.
Explaining its use case and what it means, could save the devs lots of time trying to explain on an individual case by case to new users :)
Edit: would be also good to document the elements in the stats page
There are two popular ways to keep the tracker synchronized with a Gazelle app's database:
The question is, do we want to implement one of these or both of these?
We can increase the speed at which our CI goes by enabling our builds to occur in containers on Travis rather than in a VM.
I'm pretty sure this is only one extra line in the .travis.yml
this is meant for the tracking of progress on the redis driver's completion
Just wanted to let you know that rarbg is now testing chihaya as a replacement for its current public tracker code running ~18mln peers.
I will post whatever we find as an issue here. If you find it useful - great , if you dont - great.
:)
These are slow and and and it's also cleaner to allocate a map[string]interface{} for a whole response and running bencoder.Encode() on it directly.
When there is a failure communicating to storage right now, we simply panic. Ideally, we would like to stop handling requests and attempt to reconnect.
Does chihaya relay any data about the server it's running on?
For example, assuming someone had tunneled their trackers traffic over TOR, and the clients were using TOR to connect, would the tracker leak anything like server IP or server OS, etc?
When we vendored our dependencies with godep
, we didn't use godep save -r
which will rewrite imports in all of the source files to very specifically only use the libraries in the godep workspace.
A backend application can alter the torrent's database through an HTTP API. This should be adjusted to be RESTful.
Currently, the database is completely reloaded every Intervals.DatabaseReload
seconds. This is obviously very inefficient, as well as potentially dangerous, but at the time it was written it needed to be compatible with the existing tracker software that was in use.
The way data changes should be handled is with a publish/subscribe architecture. My plan is to use redis for this. There will need to be a "deleted" channel and a "modified/new" channel.
I'm not sure if it'd be better to pass in just the modified IDs and have the tracker hit the database, or if it'd be better to pass the entire object over redis.
Just an idea.
Implement say a config var for a list of IP address that are allowed to view the stats.
I would assume more tracker admins dont want their users to be able to access these stats.
Hope you guys don't mind me opening a tracking issue for the driver I'm writing.
I've picked up work on babou
again and I've started doing major work with my event bridge.
As such: I've started writing a storage driver impl. for chihaya over on my fork: drbawb/chihaya@e3402ba
I've got two questions, if this babou
primer seems tl;dr you can skip to my questions re: what's permissible in storage drivers at the end.
Basically my storage driver will:
RecordAnnounce()
to any babou web-frontends on the bridge.This requires some driver-specific configuration, however:
net.Dial()
fails.){"transport":"socketAddress", "port": integerPort,"transport":"tcp" | "unix" | "lo"}
SIGUSR1
or something to reload the relevant part of the config and add/remove peers from the bridge dynamically.In summary, my two current questions are:
Look forward to working with you guys!
-- drbawb
It would be beneficial for there to be a method of authenticated communications with chihaya over a network port, for statistics and command/control, standard operations could remain operating via the database.
For example, it would be good if we could connect to chihaya, authenticate, then ask it for up to date stats about various info-hashes, the current load, ask it to gracefully stop/start
Add option to blacklist hex or hashes that operators doesn't want to track.
Eg..
This will be great to have as most trackers go down just because of a single or two or more hashes they are unable to block.
It's super easy with the golang:onbuild
image
The current selection of log levels confused me. When -v=0
, our "purging peers" is displayed, but not requests?
I think we need to come up with guidelines for our log lines and start sprinkling them everywhere.
On this line we check to see if the torrent doesn't exist and the tracker is public before creating the new torrent, but there is totally a use case where you don't want other people using your public tracker for torrents other than what you have personally added.
Example: Ubuntu runs a tracker for their distro releases, but they don't want the Pirate Bay adding their tracker to all their torrents.
This issue is for the discussion of deltas which are applied in batch to the web application's data store.
Trying this tracker out for the first time to possible replace ocelot.
Sadly, when I access stats, I get a immediate panic error.
IP address in the bottom log is censored.
Here is the full error log:
2015/02/18 12:42:15 http: panic serving x.x.x.x:58379: runtime error: invalid memory address or nil pointer dereference
goroutine 16 [running]:
net/http.func·011()
/usr/local/go/src/net/http/server.go:1130 +0xa8
encoding/json.func·002()
/usr/local/go/src/encoding/json/encode.go:262 +0x7a
sync/atomic.LoadUint64(0x18632024, 0xf757f338, 0x18632000)
/usr/local/go/src/sync/atomic/asm_386.s:165 +0xb
github.com/pushrax/faststats.(_Percentile).Value(0x18632000, 0x80522ce, 0x18642950)
/usr/local/gosrc/src/github.com/pushrax/faststats/percentile.go:47 +0x3a
github.com/pushrax/faststats.(_Percentile).MarshalJSON(0x18632000, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/gosrc/src/github.com/pushrax/faststats/json.go:10 +0x50
encoding/json.marshalerEncoder(0x1867a820, 0x829ab00, 0x1863c184, 0xd6, 0x0)
/usr/local/go/src/encoding/json/encode.go:416 +0xea
encoding/json.(_structEncoder).encode(0x1872e600, 0x1867a820, 0x8291140, 0x1863c184, 0xd9, 0x0)
/usr/local/go/src/encoding/json/encode.go:584 +0x211
encoding/json._structEncoder.(encoding/json.encode)·fm(0x1867a820, 0x8291140, 0x1863c184, 0xd9, 0x0)
/usr/local/go/src/encoding/json/encode.go:598 +0x50
encoding/json.(_structEncoder).encode(0x1872e4c0, 0x1867a820, 0x82ae940, 0x1863c140, 0xd9, 0x18636100)
/usr/local/go/src/encoding/json/encode.go:584 +0x211
encoding/json._structEncoder.(encoding/json.encode)·fm(0x1867a820, 0x82ae940, 0x1863c140, 0xd9, 0x1863c100)
/usr/local/go/src/encoding/json/encode.go:598 +0x50
encoding/json.(_ptrEncoder).encode(0x18730150, 0x1867a820, 0x82a88a0, 0x1863c140, 0x16, 0x0)
/usr/local/go/src/encoding/json/encode.go:706 +0xc7
encoding/json._ptrEncoder.(encoding/json.encode)·fm(0x1867a820, 0x82a88a0, 0x1863c140, 0x16, 0x1863c100)
/usr/local/go/src/encoding/json/encode.go:711 +0x50
encoding/json.(_encodeState).reflectValue(0x1867a820, 0x82a88a0, 0x1863c140, 0x16)
/usr/local/go/src/encoding/json/encode.go:299 +0x64
encoding/json.(_encodeState).marshal(0x1867a820, 0x82a88a0, 0x1863c140, 0x0, 0x0)
/usr/local/go/src/encoding/json/encode.go:270 +0xb1
encoding/json.(_Encoder).Encode(0x18630940, 0x82a88a0, 0x1863c140, 0x0, 0x0)
/usr/local/go/src/encoding/json/stream.go:160 +0x6c
github.com/chihaya/chihaya/http.(_Server).stats(0x1861c348, 0xf757f298, 0x18634a80, 0x18634a10, 0x0, 0x0, 0x0, 0x54e47a97, 0x0, 0x0)
/usr/local/gosrc/src/github.com/chihaya/chihaya/http/routes.go:70 +0x2c0
github.com/chihaya/chihaya/http._Server.(github.com/chihaya/chihaya/http.stats)·fm(0xf757f298, 0x18634a80, 0x18634a10, 0x0, 0x0, 0x0, 0x840ec20, 0x0, 0x0)
/usr/local/gosrc/src/github.com/chihaya/chihaya/http/http.go:95 +0x67
github.com/chihaya/chihaya/http.func·001(0xf757f298, 0x18634a80, 0x18634a10, 0x0, 0x0, 0x0)
/usr/local/gosrc/src/github.com/chihaya/chihaya/http/http.go:38 +0xb5
github.com/julienschmidt/httprouter.(_Router).ServeHTTP(0x1860a640, 0xf757f298, 0x18634a80, 0x18634a10)
/usr/local/gosrc/src/github.com/julienschmidt/httprouter/router.go:298 +0x141
net/http.serverHandler.ServeHTTP(0x186b2080, 0xf757f298, 0x18634a80, 0x18634a10)
/usr/local/go/src/net/http/server.go:1703 +0x145
net/http.(_conn).serve(0x186483c0)
/usr/local/go/src/net/http/server.go:1204 +0x9d8
created by net/http.(_Server).Serve
/usr/local/go/src/net/http/server.go:1751 +0x2ce
Currently it seems that there are some issues with running Chihaya compiled in 32-bit mode (e.g. #54). I don't see a good reason why we should drop support for 32-bit, so fixing these issues would be good.
I don't think we should needlessly depend on this GH feature when it could just as easily be in a normal markdown file in the repository visible to all who clone it.
Any opinions?
The tracker starts up and generates a random key to use for the generation of connection IDs for UDP packets, but if for some reason the tracker restarts or, if in the future, when clustering is available, traffic gets routed to another tracker, these keys will be different and clients will be served a "BadConnectionID" error.
This can be resolved by adding a key into the config and simply using that.
In some of the latest language updates, they added some ways to get at net/http.Server's internals to gracefully shutdown without using a mutex. Switching out our mutex-based stoppablelistener for something using this new strategy would give us performance improvements.
Should we include a /health endpoint that attempts to ping the backend?
There should be no file that doesn't fully pass golint.
This mostly just means adding lots of doc comments.
Once this is done, we should be able to add a line to our .travis.yml
that enforces this for all future PRs.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.