GithubHelp home page GithubHelp logo

Comments (4)

Li4n0 avatar Li4n0 commented on May 26, 2024 1

@Conanjun 已经确认问题是由于在Linux平台下开启CGO并静态编译会触发glibc的bug导致的。参考golang/go#30310 。目前的修复方法是在编译Linux平台版本的时候使用-tags netgo选项。
感谢反馈!将会在这两天内修复并发布新版。

from revsuit.

Li4n0 avatar Li4n0 commented on May 26, 2024

@Conanjun 麻烦提供完整的报错信息,方便定位问题。图片里的看起来只是 panic 时一个 goroutine 的堆栈。

from revsuit.

Conanjun avatar Conanjun commented on May 26, 2024

做了对比实验的了,不开notice的时候随便打http/dns记录都不会崩溃,一开notice多打几次就崩溃,应该是notice的问题的

runtime stack:
runtime.throw(0x100f6f7, 0x2a)
        runtime/panic.go:1117 +0x72
runtime.sigpanic()
        runtime/signal_unix.go:718 +0x2e5

goroutine 44 [syscall]:
runtime.cgocall(0xc9c1c0, 0xc00004ddc0, 0xc000302568)
        runtime/cgocall.go:154 +0x5b fp=0xc00004dd90 sp=0xc00004dd58 pc=0x40599b
net._C2func_getaddrinfo(0xc0004f3aa0, 0x0, 0xc0004c4510, 0xc000302568, 0x0, 0x0, 0x0)
        _cgo_gotypes.go:90 +0x50 fp=0xc00004ddc0 sp=0xc00004dd90 pc=0x5d7d50
net.cgoLookupIPCNAME.func1(0xc0004f3aa0, 0xf, 0xf, 0xc0004c4510, 0xc000302568, 0x4e069c, 0xc00037ed80, 0xc00004dec8)
        net/cgo_unix.go:161 +0xc5 fp=0xc00004de08 sp=0xc00004ddc0 pc=0x5dc585
net.cgoLookupIPCNAME(0xfe4b1a, 0x3, 0xc0002c1050, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        net/cgo_unix.go:161 +0x16b fp=0xc00004df18 sp=0xc00004de08 pc=0x5d8d4b
net.cgoIPLookup(0xc0002ef980, 0xfe4b1a, 0x3, 0xc0002c1050, 0xe)
        net/cgo_unix.go:218 +0x67 fp=0xc00004dfb8 sp=0xc00004df18 pc=0x5d9487
runtime.goexit()
        runtime/asm_amd64.s:1371 +0x1 fp=0xc00004dfc0 sp=0xc00004dfb8 pc=0x46f361
created by net.cgoLookupIP
        net/cgo_unix.go:228 +0xc7

goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0x7faf186156d8, 0x72, 0x0)
        runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00037e318, 0x72, 0x0, 0x0, 0xfeaadb)
        internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc00037e300, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        internal/poll/fd_unix.go:401 +0x212
net.(*netFD).accept(0xc00037e300, 0x48edc3e413c36d7d, 0x0, 0x0)
        net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc0002c4660, 0x60d48a1a, 0xc0001539f0, 0x4ceaa6)
        net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc0002c4660, 0xc000153a40, 0x18, 0xc000000300, 0x6dac3b)
        net/tcpsock.go:261 +0x65
net/http.(*Server).Serve(0xc0000cc070, 0x13a3c58, 0xc0002c4660, 0x0, 0x0)
        net/http/server.go:2981 +0x285
net/http.(*Server).ListenAndServe(0xc0000cc070, 0xc0000cc070, 0x0)
        net/http/server.go:2910 +0xba
github.com/li4n0/revsuit/pkg/rhttp.(*Server).startHttpServer(0xc0000cc000)
        github.com/li4n0/revsuit/pkg/rhttp/http.go:99 +0x186
github.com/li4n0/revsuit/pkg/rhttp.(*Server).Run(0xc0000cc000)
        github.com/li4n0/revsuit/pkg/rhttp/http.go:123 +0x4c
github.com/li4n0/revsuit/pkg/server.(*Revsuit).Run(0xc000146070)
        github.com/li4n0/revsuit/pkg/server/server.go:252 +0xc7
github.com/li4n0/revsuit/internal/cli.Start.func1(0xc0002afb40, 0x0, 0xa)
        github.com/li4n0/revsuit/internal/cli/cli.go:83 +0x613
github.com/urfave/cli/v2.(*App).RunContext(0xc00037da00, 0x13a7300, 0xc00003a0f8, 0xc000032210, 0x1, 0x1, 0x0, 0x0)
        github.com/urfave/cli/[email protected]/app.go:322 +0x6fe
github.com/urfave/cli/v2.(*App).Run(...)
        github.com/urfave/cli/[email protected]/app.go:224
github.com/li4n0/revsuit/internal/cli.Start()
        github.com/li4n0/revsuit/internal/cli/cli.go:91 +0x46f
main.main()
        command-line-arguments/revsuit.go:6 +0x25

goroutine 7 [select]:                                                                                                                                                                                                  [246/1891]
github.com/patrickmn/go-cache.(*janitor).Run(0xc000346f90, 0xc0002aeb80)
        github.com/patrickmn/[email protected]+incompatible/cache.go:1079 +0xa9
created by github.com/patrickmn/go-cache.runJanitor
        github.com/patrickmn/[email protected]+incompatible/cache.go:1099 +0xa9

goroutine 8 [select]:
github.com/patrickmn/go-cache.(*janitor).Run(0xc0003472a0, 0xc0002aec00)
        github.com/patrickmn/[email protected]+incompatible/cache.go:1079 +0xa9
created by github.com/patrickmn/go-cache.runJanitor
        github.com/patrickmn/[email protected]+incompatible/cache.go:1099 +0xa9

goroutine 10 [chan receive]:
github.com/golang/glog.(*loggingT).flushDaemon(0x1a07920)
        github.com/golang/[email protected]/glog.go:882 +0x8b
created by github.com/golang/glog.init.0
        github.com/golang/[email protected]/glog.go:410 +0x274

goroutine 19 [select]:
unknwon.dev/clog/v2.New.func1(0xc00031e150, 0x13a72c8, 0xc0000fb680)
        unknwon.dev/clog/[email protected]/logger.go:202 +0x10e
created by unknwon.dev/clog/v2.New
        unknwon.dev/clog/[email protected]/logger.go:199 +0x597

goroutine 13 [select]:
database/sql.(*DB).connectionOpener(0xc0003e2340, 0x13a72c8, 0xc000132940)
        database/sql/sql.go:1133 +0xb5
created by database/sql.OpenDB
        database/sql/sql.go:740 +0x12a

goroutine 22 [chan receive]:
github.com/li4n0/revsuit/pkg/server.(*Revsuit).Run.func1(0xc000146070)
        github.com/li4n0/revsuit/pkg/server/server.go:241 +0x1d0
created by github.com/li4n0/revsuit/pkg/server.(*Revsuit).Run
        github.com/li4n0/revsuit/pkg/server/server.go:240 +0xb5

goroutine 21 [IO wait]:
internal/poll.runtime_pollWait(0x7faf18615508, 0x72, 0x0)
        runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00037ea98, 0x72, 0x0, 0x0, 0xfeaadb)
        internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc00037ea80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        internal/poll/fd_unix.go:401 +0x212
net.(*netFD).accept(0xc00037ea80, 0xc000155f00, 0x13a7300, 0xc00003a0f8)
        net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc0002c4840, 0xc000155f28, 0xc000155f30, 0x18)
        net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc0002c4840, 0x12b1738, 0xc000316000, 0x13a3c58, 0xc0002c4840)
        net/tcpsock.go:261 +0x65
github.com/li4n0/revsuit/pkg/rmi.(*Server).Run(0xc000316000)
        github.com/li4n0/revsuit/pkg/rmi/rmi.go:194 +0x1fa
created by github.com/li4n0/revsuit/pkg/server.(*Revsuit).Run
        github.com/li4n0/revsuit/pkg/server/server.go:232 +0x145

goroutine 20 [select]:
github.com/li4n0/revsuit/internal/newdns.Run(0xc0004f27d4, 0x3, 0x1393cc0, 0xc0004b8180, 0xc0003147c0, 0xc0000887e0, 0x467e60, 0xc000151ef0)
        github.com/li4n0/revsuit/internal/newdns/run.go:57 +0x225
github.com/li4n0/revsuit/internal/newdns.(*Server).Run(0xc0003160f0, 0xc0004f27d4, 0x3, 0xc0003160f0, 0x2c)
        github.com/li4n0/revsuit/internal/newdns/server.go:85 +0x125                                                                                                                                                   [186/1891]
github.com/li4n0/revsuit/pkg/dns.(*Server).Run(0xc0001460e0)
        github.com/li4n0/revsuit/pkg/dns/dns.go:255 +0x271
created by github.com/li4n0/revsuit/pkg/server.(*Revsuit).Run
        github.com/li4n0/revsuit/pkg/server/server.go:229 +0x16c

goroutine 23 [semacquire]:
sync.runtime_SemacquireMutex(0xc00014614c, 0x408600, 0x1)
        runtime/sema.go:71 +0x47
sync.(*Mutex).lockSlow(0xc000146148)
        sync/mutex.go:138 +0x105
sync.(*Mutex).Lock(...)
        sync/mutex.go:81
github.com/li4n0/revsuit/pkg/dns.(*Server).Run.func3(0xc0001460e0, 0xc0003160f0)
        github.com/li4n0/revsuit/pkg/dns/dns.go:249 +0x65
created by github.com/li4n0/revsuit/pkg/dns.(*Server).Run
        github.com/li4n0/revsuit/pkg/dns/dns.go:248 +0x249

goroutine 24 [IO wait]:
internal/poll.runtime_pollWait(0x7faf18615420, 0x72, 0x28)
        runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00037eb18, 0x72, 0x200, 0x200, 0xc000039050)
        internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).ReadMsg(0xc00037eb00, 0xc0004b6200, 0x200, 0x200, 0xc000039050, 0x28, 0x28, 0x0, 0x0, 0x0, ...)
        internal/poll/fd_unix.go:249 +0x252
net.(*netFD).readMsg(0xc00037eb00, 0xc0004b6200, 0x200, 0x200, 0xc000039050, 0x28, 0x28, 0xc000063b08, 0x442112, 0xc000063b48, ...)
        net/fd_posix.go:67 +0x90
net.(*UDPConn).readMsg(0xc0003023d8, 0xc0004b6200, 0x200, 0x200, 0xc000039050, 0x28, 0x28, 0x7faf402e6108, 0x30, 0xc000039050, ...)
        net/udpsock_posix.go:59 +0x91
net.(*UDPConn).ReadMsgUDP(0xc0003023d8, 0xc0004b6200, 0x200, 0x200, 0xc000039050, 0x28, 0x28, 0x487cc5, 0x0, 0xc000063cd0, ...)
        net/udpsock.go:139 +0x9d
github.com/miekg/dns.ReadFromSessionUDP(0xc0003023d8, 0xc0004b6200, 0x200, 0x200, 0x0, 0x0, 0x1a078a0, 0xc000316550)
        github.com/miekg/[email protected]/udp.go:42 +0xb0
github.com/miekg/dns.(*Server).readUDP(0xc000220120, 0xc0003023d8, 0x77359400, 0x1a43720, 0x1393f01, 0x1a43720, 0x7faf12557318, 0x1a43720, 0x7faf12557201)
        github.com/miekg/[email protected]/server.go:686 +0xd9
github.com/miekg/dns.defaultReader.ReadUDP(0xc000220120, 0xc0003023d8, 0x77359400, 0x7faf125572e8, 0xc000316550, 0x1, 0x0, 0x1394120, 0xc000316550)
        github.com/miekg/[email protected]/server.go:174 +0x45
github.com/miekg/dns.(*Server).serveUDP(0xc000220120, 0x13ad718, 0xc0003023d8, 0x0, 0x0)
        github.com/miekg/[email protected]/server.go:500 +0x217
github.com/miekg/dns.(*Server).ListenAndServe(0xc000220120, 0x0, 0x0)
        github.com/miekg/[email protected]/server.go:329 +0x395
github.com/li4n0/revsuit/internal/newdns.Run.func1(0xc0002ee480, 0xc000220120)
        github.com/li4n0/revsuit/internal/newdns/run.go:47 +0x2b
created by github.com/li4n0/revsuit/internal/newdns.Run
        github.com/li4n0/revsuit/internal/newdns/run.go:46 +0x186

goroutine 25 [IO wait]:
internal/poll.runtime_pollWait(0x7faf186155f0, 0x72, 0x0)
        runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00037e718, 0x72, 0x0, 0x0, 0xfeaadb)
        internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc00037e700, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        internal/poll/fd_unix.go:401 +0x212
net.(*netFD).accept(0xc00037e700, 0xc, 0x7faf402e6108, 0x10)
        net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc0002c47e0, 0x410278, 0xc, 0xf23e80)
        net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc0002c47e0, 0xc0004f2e01, 0xc000061e88, 0x4877fa, 0xc0004f2e34)
net.(*TCPListener).Accept(0xc0002c47e0, 0xc0004f2e01, 0xc000061e88, 0x4877fa, 0xc0004f2e34)                                                                                                                            [125/1891]
        net/tcpsock.go:261 +0x65
github.com/miekg/dns.(*Server).serveTCP(0xc000221560, 0x13a3c58, 0xc0002c47e0, 0x0, 0x0)
        github.com/miekg/[email protected]/server.go:444 +0x118
github.com/miekg/dns.(*Server).ListenAndServe(0xc000221560, 0x0, 0x0)
        github.com/miekg/[email protected]/server.go:302 +0x1fb
github.com/li4n0/revsuit/internal/newdns.Run.func2(0xc0002ee480, 0xc000221560)
        github.com/li4n0/revsuit/internal/newdns/run.go:52 +0x2b
created by github.com/li4n0/revsuit/internal/newdns.Run
        github.com/li4n0/revsuit/internal/newdns/run.go:51 +0x1b2

goroutine 26 [semacquire]:
sync.runtime_SemacquireMutex(0xc00031604c, 0x0, 0x1)
        runtime/sema.go:71 +0x47
sync.(*Mutex).lockSlow(0xc000316048)
        sync/mutex.go:138 +0x105
sync.(*Mutex).Lock(...)
        sync/mutex.go:81
github.com/li4n0/revsuit/pkg/rmi.(*Server).Run.func2(0xc000316000, 0x13a3c58, 0xc0002c4840)
        github.com/li4n0/revsuit/pkg/rmi/rmi.go:187 +0x67
created by github.com/li4n0/revsuit/pkg/rmi.(*Server).Run
        github.com/li4n0/revsuit/pkg/rmi/rmi.go:186 +0x1d3

goroutine 27 [IO wait]:
internal/poll.runtime_pollWait(0x7faf18615338, 0x72, 0xffffffffffffffff)
        runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00037ed98, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
        internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00037ed80, 0xc00021e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc00037ed80, 0xc00021e000, 0x1000, 0x1000, 0xc0000a80f0, 0xc0002c4918, 0xff2155)
        net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc0003023f0, 0xc00021e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        net/net.go:183 +0x91
net/http.(*connReader).Read(0xc00031eb70, 0xc00021e000, 0x1000, 0x1000, 0x482236, 0xc0002c244b, 0x19)
        net/http/server.go:800 +0x1b9
bufio.(*Reader).fill(0xc0002ee840)
        bufio/bufio.go:101 +0x108
bufio.(*Reader).ReadSlice(0xc0002ee840, 0xc00001780a, 0x6d28e7, 0xc0000fa940, 0x18cacdc, 0x2, 0x2)
        bufio/bufio.go:360 +0x3d
bufio.(*Reader).ReadLine(0xc0002ee840, 0x203000, 0x203000, 0x0, 0x0, 0xc000017a78, 0x6d3345)
        bufio/bufio.go:389 +0x34
net/textproto.(*Reader).readLineSlice(0xc00031ebd0, 0xc0000aaa00, 0xc0000179e8, 0x4e1633, 0xc00037ed80, 0x43c0bc)
        net/textproto/reader.go:57 +0xd6
net/textproto.(*Reader).ReadLine(...)
        net/textproto/reader.go:38
net/http.readRequest(0xc0002ee840, 0x0, 0xc0000aaa00, 0x0, 0x0)
        net/http/request.go:1027 +0xaa
net/http.(*conn).readRequest(0xc000168a00, 0x13a72c8, 0xc0000fa900, 0x0, 0x0, 0x0)
        net/http/server.go:986 +0x19d
net/http.(*conn).serve(0xc000168a00, 0x13a7370, 0xc0000fa900)
        net/http/server.go:1878 +0x705
created by net/http.(*Server).Serve
        net/http/server.go:3013 +0x39b

goroutine 34 [IO wait]:
internal/poll.runtime_pollWait(0x7faf18615168, 0x72, 0xffffffffffffffff)
        runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00037f298, 0x72, 0x1000, 0x1000, 0xffffffffffffffff) 
       internal/poll/fd_poll_runtime.go:87 +0x45                                                                                                                                                                       [64/1891]
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00037f280, 0xc00011e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc00037f280, 0xc00011e000, 0x1000, 0x1000, 0x1, 0xc0000fad40, 0xc0000656a0)
        net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000302420, 0xc00011e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        net/net.go:183 +0x91
net/http.(*connReader).Read(0xc00031f020, 0xc00011e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        net/http/server.go:800 +0x1b9
bufio.(*Reader).fill(0xc0002ef080)
        bufio/bufio.go:101 +0x108
bufio.(*Reader).ReadSlice(0xc0002ef080, 0xa, 0x0, 0x0, 0x8, 0x0, 0x0)
        bufio/bufio.go:360 +0x3d
bufio.(*Reader).ReadLine(0xc0002ef080, 0x203000, 0x203000, 0xc0000658d0, 0x40fb1b, 0xc00031f050, 0x30)
        bufio/bufio.go:389 +0x34
net/textproto.(*Reader).readLineSlice(0xc00031f050, 0xc0000aa700, 0x64, 0x7faf18626588, 0x7faf18626830, 0x5)
        net/textproto/reader.go:57 +0xd6
net/textproto.(*Reader).ReadLine(...)
        net/textproto/reader.go:38
net/http.readRequest(0xc0002ef080, 0x0, 0xc0000aa700, 0x0, 0x0)
        net/http/request.go:1027 +0xaa
net/http.(*conn).readRequest(0xc000169040, 0x13a72c8, 0xc0000fac80, 0x0, 0x0, 0x0)
        net/http/server.go:986 +0x19d
net/http.(*conn).serve(0xc000169040, 0x13a7370, 0xc0000fac80)
        net/http/server.go:1878 +0x705
created by net/http.(*Server).Serve
        net/http/server.go:3013 +0x39b

goroutine 41 [select]:
net/http.(*Transport).getConn(0x1899420, 0xc0000fb500, 0x0, 0xc000088780, 0x5, 0xc0002c1050, 0x12, 0x0, 0x0, 0x0, ...)
        net/http/transport.go:1368 +0x589
net/http.(*Transport).roundTrip(0x1899420, 0xc0000aab00, 0xc0000cdce0, 0x160, 0x150)
        net/http/transport.go:579 +0x7eb
net/http.(*Transport).RoundTrip(0x1899420, 0xc0000aab00, 0x1899420, 0x0, 0x0)
        net/http/roundtrip.go:17 +0x35
net/http.send(0xc0000aab00, 0x1394220, 0x1899420, 0x0, 0x0, 0x0, 0xc000302540, 0x203000, 0x1, 0x0)
        net/http/client.go:251 +0x454
net/http.(*Client).send(0x1a07280, 0xc0000aab00, 0x0, 0x0, 0x0, 0xc000302540, 0x0, 0x1, 0xc00031fdd0)
        net/http/client.go:175 +0xff
net/http.(*Client).do(0x1a07280, 0xc0000aab00, 0x0, 0x0, 0x0)
        net/http/client.go:717 +0x45f
net/http.(*Client).Do(...)
        net/http/client.go:585
net/http.(*Client).Post(0x1a07280, 0xc000088780, 0x51, 0xff6785, 0x10, 0x1394640, 0xc0004b8520, 0x40fb1b, 0x0, 0x203000)
        net/http/client.go:845 +0x198
net/http.Post(...)
        net/http/client.go:825
github.com/li4n0/revsuit/internal/notice.(*Lark).notice(0xc000314010, 0x13a5008, 0xc0000cda20, 0x0, 0x0)
        github.com/li4n0/revsuit/internal/notice/lark.go:77 +0x11b
github.com/li4n0/revsuit/internal/notice.Notice(0x13a5008, 0xc0000cda20)
        github.com/li4n0/revsuit/internal/notice/announcer.go:45 +0xa2
github.com/li4n0/revsuit/pkg/rhttp.Record.Notice(...)
        github.com/li4n0/revsuit/pkg/rhttp/record.go:28
github.com/li4n0/revsuit/pkg/rhttp.(*Server).Receive.func1(0xc0000cd600, 0x0, 0x0)
        github.com/li4n0/revsuit/pkg/rhttp/http.go:207 +0xe8
created by github.com/li4n0/revsuit/pkg/rhttp.(*Server).Receive
        github.com/li4n0/revsuit/pkg/rhttp/http.go:206 +0x88c

goroutine 33 [IO wait]:
        internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00037f200, 0xc00010e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc00037f200, 0xc00010e000, 0x1000, 0x1000, 0x1, 0xc0000fac40, 0xc0002f66a0)
        net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000302418, 0xc00010e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        net/net.go:183 +0x91
net/http.(*connReader).Read(0xc00031ef30, 0xc00010e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        net/http/server.go:800 +0x1b9
bufio.(*Reader).fill(0xc0002ef020)
        bufio/bufio.go:101 +0x108
bufio.(*Reader).ReadSlice(0xc0002ef020, 0xa, 0x0, 0x0, 0x8, 0x0, 0x0)
        bufio/bufio.go:360 +0x3d
bufio.(*Reader).ReadLine(0xc0002ef020, 0x203000, 0x203000, 0xc0002f68d0, 0x40fb1b, 0xc00031ef60, 0x30)
        bufio/bufio.go:389 +0x34
net/textproto.(*Reader).readLineSlice(0xc00031ef60, 0xc0000aa600, 0x64, 0x7faf18626830, 0x7faf18626610, 0x5)
        net/textproto/reader.go:57 +0xd6
net/textproto.(*Reader).ReadLine(...)
        net/textproto/reader.go:38
net/http.readRequest(0xc0002ef020, 0x0, 0xc0000aa600, 0x0, 0x0)
        net/http/request.go:1027 +0xaa
net/http.(*conn).readRequest(0xc000168f00, 0x13a72c8, 0xc0000fab80, 0x0, 0x0, 0x0)
        net/http/server.go:986 +0x19d
net/http.(*conn).serve(0xc000168f00, 0x13a7370, 0xc0000fab80)
        net/http/server.go:1878 +0x705
created by net/http.(*Server).Serve
        net/http/server.go:3013 +0x39b

goroutine 42 [select]:
net.(*Resolver).lookupIPAddr(0x1a06240, 0x13a7338, 0xc0002ef800, 0xfe4b1a, 0x3, 0xc0002c1050, 0xe, 0x1bb, 0x0, 0x0, ...)
        net/lookup.go:299 +0x65b
net.(*Resolver).internetAddrList(0x1a06240, 0x13a7338, 0xc0002ef800, 0xfe4b1a, 0x3, 0xc0002c1050, 0x12, 0x0, 0x0, 0x0, ...)
        net/ipsock.go:280 +0x4d4
net.(*Resolver).resolveAddrList(0x1a06240, 0x13a7338, 0xc0002ef800, 0xfe5587, 0x4, 0xfe4b1a, 0x3, 0xc0002c1050, 0x12, 0x0, ...)
        net/dial.go:221 +0x47d
net.(*Dialer).DialContext(0xc000074240, 0x13a7338, 0xc0002ef800, 0xfe4b1a, 0x3, 0xc0002c1050, 0x12, 0x0, 0x0, 0x0, ...)
        net/dial.go:403 +0x22b
net/http.(*Transport).dial(0x1899420, 0x13a7300, 0xc00003a0f8, 0xfe4b1a, 0x3, 0xc0002c1050, 0x12, 0x0, 0x0, 0x0, ...)
        net/http/transport.go:1162 +0x1ff
net/http.(*Transport).dialConn(0x1899420, 0x13a7300, 0xc00003a0f8, 0x0, 0xc000088780, 0x5, 0xc0002c1050, 0x12, 0x0, 0xc0004246c0, ...)
        net/http/transport.go:1600 +0x1b85
net/http.(*Transport).dialConnFor(0x1899420, 0xc000465760)
        net/http/transport.go:1442 +0xc6
created by net/http.(*Transport).queueForDial
        net/http/transport.go:1411 +0x40f

goroutine 43 [select]:
net.cgoLookupIP(0x13a72c8, 0xc0000fb5c0, 0xfe4b1a, 0x3, 0xc0002c1050, 0xe, 0x12, 0xfe3d24, 0x2, 0xffffffffffffffff, ...)
        net/cgo_unix.go:229 +0x173
net.(*Resolver).lookupIP(0x1a06240, 0x13a72c8, 0xc0000fb5c0, 0xfe4b1a, 0x3, 0xc0002c1050, 0xe, 0x0, 0x0, 0x0, ...)
        net/lookup_unix.go:96 +0x187
net.glob..func1(0x13a72c8, 0xc0000fb5c0, 0xc0003151a0, 0xfe4b1a, 0x3, 0xc0002c1050, 0xe, 0xc00003a0f8, 0x0, 0xc000088780, ...)
        net/hook.go:23 +0x72
net.(*Resolver).lookupIPAddr.func1(0x0, 0x0, 0x0, 0x0)
        net/lookup.go:293 +0xba
internal/singleflight.(*Group).doCall(0x1a06250, 0xc0003166e0, 0xc0002c1068, 0x12, 0xc0000fb600)
        internal/singleflight/singleflight.go:95 +0x2e
created by internal/singleflight.(*Group).DoChan
        internal/singleflight/singleflight.go:88 +0x2cc

from revsuit.

Conanjun avatar Conanjun commented on May 26, 2024

测试了飞书和钉钉,开通知多大几次就会挂,上面的是飞书,这个是钉钉,所以初步判断是notice routeline 的问题应该

fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x15 pc=0x7fe7e6dd9448]

runtime stack:
runtime.throw(0x100f6f7, 0x2a)
	runtime/panic.go:1117 +0x72
runtime.sigpanic()
	runtime/signal_unix.go:718 +0x2e5

goroutine 90 [syscall]:
runtime.cgocall(0xc9c1c0, 0xc00004fdc0, 0xc0001577a0)
	runtime/cgocall.go:154 +0x5b fp=0xc00004fd90 sp=0xc00004fd58 pc=0x40599b
net._C2func_getaddrinfo(0xc00013d3b0, 0x0, 0xc00024d350, 0xc0001577a0, 0x0, 0x0, 0x0)
	_cgo_gotypes.go:90 +0x50 fp=0xc00004fdc0 sp=0xc00004fd90 pc=0x5d7d50
net.cgoLookupIPCNAME.func1(0xc00013d3b0, 0x12, 0x12, 0xc00024d350, 0xc0001577a0, 0x0, 0xc00004fea0, 0x5d9b32)
	net/cgo_unix.go:161 +0xc5 fp=0xc00004fe08 sp=0xc00004fdc0 pc=0x5dc585
net.cgoLookupIPCNAME(0xfe4b1a, 0x3, 0xc00013d308, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	net/cgo_unix.go:161 +0x16b fp=0xc00004ff18 sp=0xc00004fe08 pc=0x5d8d4b
net.cgoIPLookup(0xc000077260, 0xfe4b1a, 0x3, 0xc00013d308, 0x11)
	net/cgo_unix.go:218 +0x67 fp=0xc00004ffb8 sp=0xc00004ff18 pc=0x5d9487
runtime.goexit()
	runtime/asm_amd64.s:1371 +0x1 fp=0xc00004ffc0 sp=0xc00004ffb8 pc=0x46f361
created by net.cgoLookupIP
	net/cgo_unix.go:228 +0xc7

goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7f45a9e88, 0x72, 0x0)
	runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00037c318, 0x72, 0x0, 0x0, 0xfeaadb)
	internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc00037c300, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	internal/poll/fd_unix.go:401 +0x212
net.(*netFD).accept(0xc00037c300, 0x323145a2212f71c8, 0x0, 0x0)
	net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc0002c4660, 0x60d57ffb, 0xc0002d99f0, 0x4ceaa6)
	net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc0002c4660, 0xc0002d9a40, 0x18, 0xc000000180, 0x6dac3b)
	net/tcpsock.go:261 +0x65
net/http.(*Server).Serve(0xc000034330, 0x13a3c58, 0xc0002c4660, 0x0, 0x0)
	net/http/server.go:2981 +0x285
net/http.(*Server).ListenAndServe(0xc000034330, 0x1, 0x0)
	net/http/server.go:2910 +0xba
github.com/li4n0/revsuit/pkg/rhttp.(*Server).startHttpServer(0xc0000342c0)
	github.com/li4n0/revsuit/pkg/rhttp/http.go:99 +0x186
github.com/li4n0/revsuit/pkg/rhttp.(*Server).Run(0xc0000342c0)
	github.com/li4n0/revsuit/pkg/rhttp/http.go:123 +0x4c
github.com/li4n0/revsuit/pkg/server.(*Revsuit).Run(0xc000146070)
	github.com/li4n0/revsuit/pkg/server/server.go:252 +0xc7
github.com/li4n0/revsuit/internal/cli.Start.func1(0xc0002afb40, 0x0, 0xa)
	github.com/li4n0/revsuit/internal/cli/cli.go:83 +0x613
github.com/urfave/cli/v2.(*App).RunContext(0xc00038dba0, 0x13a7300, 0xc00003c0c8, 0xc000032210, 0x1, 0x1, 0x0, 0x0)
	github.com/urfave/cli/[email protected]/app.go:322 +0x6fe
github.com/urfave/cli/v2.(*App).Run(...)
	github.com/urfave/cli/[email protected]/app.go:224
github.com/li4n0/revsuit/internal/cli.Start()
	github.com/li4n0/revsuit/internal/cli/cli.go:91 +0x46f
main.main()
	command-line-arguments/revsuit.go:6 +0x25

goroutine 7 [select]:
github.com/patrickmn/go-cache.(*janitor).Run(0xc000346f90, 0xc0002aeb80)
	github.com/patrickmn/[email protected]+incompatible/cache.go:1079 +0xa9
created by github.com/patrickmn/go-cache.runJanitor
	github.com/patrickmn/[email protected]+incompatible/cache.go:1099 +0xa9

goroutine 8 [select]:
github.com/patrickmn/go-cache.(*janitor).Run(0xc0003472a0, 0xc0002aec00)
	github.com/patrickmn/[email protected]+incompatible/cache.go:1079 +0xa9
created by github.com/patrickmn/go-cache.runJanitor
	github.com/patrickmn/[email protected]+incompatible/cache.go:1099 +0xa9

goroutine 10 [chan receive]:
github.com/golang/glog.(*loggingT).flushDaemon(0x1a07920)
	github.com/golang/[email protected]/glog.go:882 +0x8b
created by github.com/golang/glog.init.0
	github.com/golang/[email protected]/glog.go:410 +0x274

goroutine 19 [select]:
unknwon.dev/clog/v2.New.func1(0xc00031a150, 0x13a72c8, 0xc0000fb680)
	unknwon.dev/clog/[email protected]/logger.go:202 +0x10e
created by unknwon.dev/clog/v2.New
	unknwon.dev/clog/[email protected]/logger.go:199 +0x597

goroutine 13 [select]:
database/sql.(*DB).connectionOpener(0xc0004a6750, 0x13a72c8, 0xc000132940)
	database/sql/sql.go:1133 +0xb5
created by database/sql.OpenDB
	database/sql/sql.go:740 +0x12a

goroutine 20 [select]:
github.com/li4n0/revsuit/internal/newdns.Run(0xc0004f47a4, 0x3, 0x1393cc0, 0xc0004ba180, 0xc00030e7c0, 0xc00008a720, 0x467e60, 0xc000153ef0)
	github.com/li4n0/revsuit/internal/newdns/run.go:57 +0x225
github.com/li4n0/revsuit/internal/newdns.(*Server).Run(0xc0003120f0, 0xc0004f47a4, 0x3, 0xc0003120f0, 0x2c)
	github.com/li4n0/revsuit/internal/newdns/server.go:85 +0x125
github.com/li4n0/revsuit/pkg/dns.(*Server).Run(0xc0001460e0)
	github.com/li4n0/revsuit/pkg/dns/dns.go:255 +0x271
created by github.com/li4n0/revsuit/pkg/server.(*Revsuit).Run
	github.com/li4n0/revsuit/pkg/server/server.go:229 +0x16c

goroutine 21 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7f45a9cb8, 0x72, 0x0)
	runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00037ca98, 0x72, 0x0, 0x0, 0xfeaadb)
	internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc00037ca80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	internal/poll/fd_unix.go:401 +0x212
net.(*netFD).accept(0xc00037ca80, 0xc000151f00, 0x13a7300, 0xc00003c0c8)
	net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc0002c4840, 0xc000151f28, 0xc000151f30, 0x18)
	net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc0002c4840, 0x12b1738, 0xc000312000, 0x13a3c58, 0xc0002c4840)
	net/tcpsock.go:261 +0x65
github.com/li4n0/revsuit/pkg/rmi.(*Server).Run(0xc000312000)
	github.com/li4n0/revsuit/pkg/rmi/rmi.go:194 +0x1fa
created by github.com/li4n0/revsuit/pkg/server.(*Revsuit).Run
	github.com/li4n0/revsuit/pkg/server/server.go:232 +0x145

goroutine 22 [chan receive]:
github.com/li4n0/revsuit/pkg/server.(*Revsuit).Run.func1(0xc000146070)
	github.com/li4n0/revsuit/pkg/server/server.go:241 +0x1d0
created by github.com/li4n0/revsuit/pkg/server.(*Revsuit).Run
	github.com/li4n0/revsuit/pkg/server/server.go:240 +0xb5

goroutine 23 [semacquire]:
sync.runtime_SemacquireMutex(0xc00014614c, 0x408600, 0x1)
	runtime/sema.go:71 +0x47
sync.(*Mutex).lockSlow(0xc000146148)
	sync/mutex.go:138 +0x105
sync.(*Mutex).Lock(...)
	sync/mutex.go:81
github.com/li4n0/revsuit/pkg/dns.(*Server).Run.func3(0xc0001460e0, 0xc0003120f0)
	github.com/li4n0/revsuit/pkg/dns/dns.go:249 +0x65
created by github.com/li4n0/revsuit/pkg/dns.(*Server).Run
	github.com/li4n0/revsuit/pkg/dns/dns.go:248 +0x249

goroutine 24 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7f45a9bd0, 0x72, 0x28)
	runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00037cb18, 0x72, 0x200, 0x200, 0xc00034dcb0)
	internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).ReadMsg(0xc00037cb00, 0xc0004b8400, 0x200, 0x200, 0xc00034dcb0, 0x28, 0x28, 0x0, 0x0, 0x0, ...)
	internal/poll/fd_unix.go:249 +0x252
net.(*netFD).readMsg(0xc00037cb00, 0xc0004b8400, 0x200, 0x200, 0xc00034dcb0, 0x28, 0x28, 0xc000066b08, 0x442112, 0xc000066b48, ...)
	net/fd_posix.go:67 +0x90
net.(*UDPConn).readMsg(0xc0003003d8, 0xc0004b8400, 0x200, 0x200, 0xc00034dcb0, 0x28, 0x28, 0x7fe81ca7d108, 0x30, 0xc00034dcb0, ...)
	net/udpsock_posix.go:59 +0x91
net.(*UDPConn).ReadMsgUDP(0xc0003003d8, 0xc0004b8400, 0x200, 0x200, 0xc00034dcb0, 0x28, 0x28, 0x487cc5, 0x0, 0xc000066cd0, ...)
	net/udpsock.go:139 +0x9d
github.com/miekg/dns.ReadFromSessionUDP(0xc0003003d8, 0xc0004b8400, 0x200, 0x200, 0x0, 0x0, 0x1a078a0, 0xc000313b80)
	github.com/miekg/[email protected]/udp.go:42 +0xb0
github.com/miekg/dns.(*Server).readUDP(0xc0002730e0, 0xc0003003d8, 0x77359400, 0x1a43720, 0x1393f01, 0x1a43720, 0x7fe7e6ce73a0, 0x1a43720, 0x7fe7e6ce7301)
	github.com/miekg/[email protected]/server.go:686 +0xd9
github.com/miekg/dns.defaultReader.ReadUDP(0xc0002730e0, 0xc0003003d8, 0x77359400, 0x7fe7e6ce7370, 0xc000313b80, 0x1, 0x0, 0x1394120, 0xc000313b80)
	github.com/miekg/[email protected]/server.go:174 +0x45
github.com/miekg/dns.(*Server).serveUDP(0xc0002730e0, 0x13ad718, 0xc0003003d8, 0x0, 0x0)
	github.com/miekg/[email protected]/server.go:500 +0x217
github.com/miekg/dns.(*Server).ListenAndServe(0xc0002730e0, 0x0, 0x0)
	github.com/miekg/[email protected]/server.go:329 +0x395
github.com/li4n0/revsuit/internal/newdns.Run.func1(0xc0002d0480, 0xc0002730e0)
	github.com/li4n0/revsuit/internal/newdns/run.go:47 +0x2b
created by github.com/li4n0/revsuit/internal/newdns.Run
	github.com/li4n0/revsuit/internal/newdns/run.go:46 +0x186

goroutine 25 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7f45a9da0, 0x72, 0x0)
	runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00037c718, 0x72, 0x0, 0x0, 0xfeaadb)
	internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc00037c700, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	internal/poll/fd_unix.go:401 +0x212
net.(*netFD).accept(0xc00037c700, 0xc, 0x7fe81ca7d108, 0x10)
	net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc0002c47e0, 0x410278, 0xc, 0xf23e80)
	net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc0002c47e0, 0xc0004f4e01, 0xc000063e88, 0x4877fa, 0xc0004f4e14)
	net/tcpsock.go:261 +0x65
github.com/miekg/dns.(*Server).serveTCP(0xc000273200, 0x13a3c58, 0xc0002c47e0, 0x0, 0x0)
	github.com/miekg/[email protected]/server.go:444 +0x118
github.com/miekg/dns.(*Server).ListenAndServe(0xc000273200, 0x0, 0x0)
	github.com/miekg/[email protected]/server.go:302 +0x1fb
github.com/li4n0/revsuit/internal/newdns.Run.func2(0xc0002d0480, 0xc000273200)
	github.com/li4n0/revsuit/internal/newdns/run.go:52 +0x2b
created by github.com/li4n0/revsuit/internal/newdns.Run
	github.com/li4n0/revsuit/internal/newdns/run.go:51 +0x1b2

goroutine 26 [semacquire]:
sync.runtime_SemacquireMutex(0xc00031204c, 0x0, 0x1)
	runtime/sema.go:71 +0x47
sync.(*Mutex).lockSlow(0xc000312048)
	sync/mutex.go:138 +0x105
sync.(*Mutex).Lock(...)
	sync/mutex.go:81
github.com/li4n0/revsuit/pkg/rmi.(*Server).Run.func2(0xc000312000, 0x13a3c58, 0xc0002c4840)
	github.com/li4n0/revsuit/pkg/rmi/rmi.go:187 +0x67
created by github.com/li4n0/revsuit/pkg/rmi.(*Server).Run
	github.com/li4n0/revsuit/pkg/rmi/rmi.go:186 +0x1d3

goroutine 33 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7f45a9ae8, 0x72, 0xffffffffffffffff)
	runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00037d418, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
	internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00037d400, 0xc00021e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc00037d400, 0xc00021e000, 0x1000, 0x1000, 0x16, 0x1001ea3, 0x13a9f38)
	net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc0003003f0, 0xc00021e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	net/net.go:183 +0x91
net/http.(*connReader).Read(0xc00031b380, 0xc00021e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	net/http/server.go:800 +0x1b9
bufio.(*Reader).fill(0xc0002d0a20)
	bufio/bufio.go:101 +0x108
bufio.(*Reader).ReadSlice(0xc0002d0a20, 0x13bd40a, 0xc000019818, 0x694e5c, 0x7fe7e6ce74a0, 0xc00001a000, 0xc0000ab200)
	bufio/bufio.go:360 +0x3d
bufio.(*Reader).ReadLine(0xc0002d0a20, 0x203000, 0x203000, 0x13a9f38, 0xc000019880, 0x24, 0x0)
	bufio/bufio.go:389 +0x34
net/textproto.(*Reader).readLineSlice(0xc00053b0e0, 0xc00023f700, 0x756ea19562a65f, 0xf5e5977d33c83ec2, 0xc00031a060, 0x43c0bc)
	net/textproto/reader.go:57 +0xd6
net/textproto.(*Reader).ReadLine(...)
	net/textproto/reader.go:38
net/http.readRequest(0xc0002d0a20, 0x0, 0xc00023f700, 0x0, 0x0)
	net/http/request.go:1027 +0xaa
net/http.(*conn).readRequest(0xc000167180, 0x13a72c8, 0xc0000fb2c0, 0x0, 0x0, 0x0)
	net/http/server.go:986 +0x19d
net/http.(*conn).serve(0xc000167180, 0x13a7370, 0xc0000fb2c0)
	net/http/server.go:1878 +0x705
created by net/http.(*Server).Serve
	net/http/server.go:3013 +0x39b

goroutine 35 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7f45a9a00, 0x72, 0xffffffffffffffff)
	runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00037dd18, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
	internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00037dd00, 0xc00001d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc00037dd00, 0xc00001d000, 0x1000, 0x1000, 0x7fe81ca7d108, 0x900, 0xc0000b5600)
	net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000156488, 0xc00001d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	net/net.go:183 +0x91
net/http.(*connReader).Read(0xc00053a390, 0xc00001d000, 0x1000, 0x1000, 0xc00031c7e0, 0xc0000b5600, 0x829)
	net/http/server.go:800 +0x1b9
bufio.(*Reader).fill(0xc0002d0c00)
	bufio/bufio.go:101 +0x108
bufio.(*Reader).ReadSlice(0xc0002d0c00, 0xc00042180a, 0xaeaea5, 0x7fe7e6ce74a0, 0xc00001a1e0, 0xefeac0, 0xc00024c030)
	bufio/bufio.go:360 +0x3d
bufio.(*Reader).ReadLine(0xc0002d0c00, 0x203000, 0x203000, 0xb07325, 0xc00001a1e0, 0xc8, 0x139d848)
	bufio/bufio.go:389 +0x34
net/textproto.(*Reader).readLineSlice(0xc00053a3c0, 0xc0002f5b00, 0xc0004219e8, 0x4e1633, 0xc00037dd00, 0xc000234000)
	net/textproto/reader.go:57 +0xd6
net/textproto.(*Reader).ReadLine(...)
	net/textproto/reader.go:38
net/http.readRequest(0xc0002d0c00, 0x0, 0xc0002f5b00, 0x0, 0x0)
	net/http/request.go:1027 +0xaa
net/http.(*conn).readRequest(0xc000167540, 0x13a72c8, 0xc0002ae380, 0x0, 0x0, 0x0)
	net/http/server.go:986 +0x19d
net/http.(*conn).serve(0xc000167540, 0x13a7370, 0xc0002ae380)
	net/http/server.go:1878 +0x705
created by net/http.(*Server).Serve
	net/http/server.go:3013 +0x39b

goroutine 45 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7f45a9830, 0x72, 0xffffffffffffffff)
	runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000520798, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
	internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000520780, 0xc000235000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc000520780, 0xc000235000, 0x1000, 0x1000, 0x15, 0x1000109, 0x13a9f38)
	net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc0001564c8, 0xc000235000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	net/net.go:183 +0x91
net/http.(*connReader).Read(0xc00053ae10, 0xc000235000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	net/http/server.go:800 +0x1b9
bufio.(*Reader).fill(0xc0002d0c60)
	bufio/bufio.go:101 +0x108
bufio.(*Reader).ReadSlice(0xc0002d0c60, 0x13bd60a, 0xc00014f818, 0x694e5c, 0x7fe7e6ce74a0, 0xc00001a1e0, 0xc0002f4c00)
	bufio/bufio.go:360 +0x3d
bufio.(*Reader).ReadLine(0xc0002d0c60, 0x203000, 0x203000, 0x13a9f38, 0xc00014f880, 0x23, 0x0)
	bufio/bufio.go:389 +0x34
net/textproto.(*Reader).readLineSlice(0xc00053aa50, 0xc0002f4d00, 0x756ea1db3deb0b, 0xb51ef37721a4ede9, 0xc00031a060, 0xc00014f9a0)
	net/textproto/reader.go:57 +0xd6
net/textproto.(*Reader).ReadLine(...)
	net/textproto/reader.go:38
net/http.readRequest(0xc0002d0c60, 0x0, 0xc0002f4d00, 0x0, 0x0)
	net/http/request.go:1027 +0xaa
net/http.(*conn).readRequest(0xc000167b80, 0x13a72c8, 0xc0002af540, 0x0, 0x0, 0x0)
	net/http/server.go:986 +0x19d
net/http.(*conn).serve(0xc000167b80, 0x13a7370, 0xc0002af540)
	net/http/server.go:1878 +0x705
created by net/http.(*Server).Serve
	net/http/server.go:3013 +0x39b

goroutine 88 [select]:
net.(*Resolver).lookupIPAddr(0x1a06240, 0x13a7338, 0xc0000770e0, 0xfe4b1a, 0x3, 0xc00013d308, 0x11, 0x1bb, 0x0, 0x0, ...)
	net/lookup.go:299 +0x65b
net.(*Resolver).internetAddrList(0x1a06240, 0x13a7338, 0xc0000770e0, 0xfe4b1a, 0x3, 0xc00013d308, 0x15, 0x0, 0x0, 0x0, ...)
	net/ipsock.go:280 +0x4d4
net.(*Resolver).resolveAddrList(0x1a06240, 0x13a7338, 0xc0000770e0, 0xfe5587, 0x4, 0xfe4b1a, 0x3, 0xc00013d308, 0x15, 0x0, ...)
	net/dial.go:221 +0x47d
net.(*Dialer).DialContext(0xc0000762a0, 0x13a7338, 0xc0000770e0, 0xfe4b1a, 0x3, 0xc00013d308, 0x15, 0x0, 0x0, 0x0, ...)
	net/dial.go:403 +0x22b
net/http.(*Transport).dial(0x1899420, 0x13a7300, 0xc00003c0c8, 0xfe4b1a, 0x3, 0xc00013d308, 0x15, 0x0, 0xc0001b0100, 0x0, ...)
	net/http/transport.go:1162 +0x1ff
net/http.(*Transport).dialConn(0x1899420, 0x13a7300, 0xc00003c0c8, 0x0, 0xc000043180, 0x5, 0xc00013d308, 0x15, 0x0, 0xc000483e60, ...)
	net/http/transport.go:1600 +0x1b85
net/http.(*Transport).dialConnFor(0x1899420, 0xc000463e40)
	net/http/transport.go:1442 +0xc6
created by net/http.(*Transport).queueForDial
	net/http/transport.go:1411 +0x40f

goroutine 41 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7f45a9748, 0x72, 0xffffffffffffffff)
	runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000520198, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
	internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000520180, 0xc00026f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc000520180, 0xc00026f000, 0x1000, 0x1000, 0x15, 0x1000109, 0x13a9f38)
	net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc0001564c0, 0xc00026f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	net/net.go:183 +0x91
net/http.(*connReader).Read(0xc00053aa20, 0xc00026f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	net/http/server.go:800 +0x1b9
bufio.(*Reader).fill(0xc0002d0d20)
	bufio/bufio.go:101 +0x108
bufio.(*Reader).ReadSlice(0xc0002d0d20, 0x13bd60a, 0xc000015818, 0x694e5c, 0x7fe7e6ce74a0, 0xc00001a1e0, 0xc0002f4f00)
	bufio/bufio.go:360 +0x3d
bufio.(*Reader).ReadLine(0xc0002d0d20, 0x203000, 0x203000, 0x13a9f38, 0xc000015880, 0x23, 0x0)
	bufio/bufio.go:389 +0x34
net/textproto.(*Reader).readLineSlice(0xc00031b3e0, 0xc0002f5000, 0x756ea100e19b16, 0xa5a770a0326c91df, 0xc00031a060, 0xc0000159a0)
	net/textproto/reader.go:57 +0xd6
net/textproto.(*Reader).ReadLine(...)
	net/textproto/reader.go:38
net/http.readRequest(0xc0002d0d20, 0x0, 0xc0002f5000, 0x0, 0x0)
	net/http/request.go:1027 +0xaa
net/http.(*conn).readRequest(0xc000167a40, 0x13a72c8, 0xc0002aea40, 0x0, 0x0, 0x0)
	net/http/server.go:986 +0x19d
net/http.(*conn).serve(0xc000167a40, 0x13a7370, 0xc0002aea40)
	net/http/server.go:1878 +0x705
created by net/http.(*Server).Serve
	net/http/server.go:3013 +0x39b

goroutine 46 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7f45a9918, 0x72, 0xffffffffffffffff)
	runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000520818, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
	internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000520800, 0xc00024f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc000520800, 0xc00024f000, 0x1000, 0x1000, 0xc00037dc80, 0xc000525668, 0xff2155)
	net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc0001564d0, 0xc00024f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	net/net.go:183 +0x91
net/http.(*connReader).Read(0xc00053aed0, 0xc00024f000, 0x1000, 0x1000, 0x482236, 0xc00031c1ab, 0x1f)
	net/http/server.go:800 +0x1b9
bufio.(*Reader).fill(0xc0002d0cc0)
	bufio/bufio.go:101 +0x108
bufio.(*Reader).ReadSlice(0xc0002d0cc0, 0xc00001780a, 0x6d28e7, 0xc0002ae740, 0x18cacdc, 0x2, 0x2)
	bufio/bufio.go:360 +0x3d
bufio.(*Reader).ReadLine(0xc0002d0cc0, 0x203000, 0x203000, 0x0, 0x0, 0xc000017a78, 0x6d3345)
	bufio/bufio.go:389 +0x34
net/textproto.(*Reader).readLineSlice(0xc00015eae0, 0xc0002f5300, 0xc0000179e8, 0x4e1633, 0xc000520800, 0xc00026e000)
	net/textproto/reader.go:57 +0xd6
net/textproto.(*Reader).ReadLine(...)
	net/textproto/reader.go:38
net/http.readRequest(0xc0002d0cc0, 0x0, 0xc0002f5300, 0x0, 0x0)
	net/http/request.go:1027 +0xaa
net/http.(*conn).readRequest(0xc000167cc0, 0x13a72c8, 0xc0002af5c0, 0x0, 0x0, 0x0)
	net/http/server.go:986 +0x19d
net/http.(*conn).serve(0xc000167cc0, 0x13a7370, 0xc0002af5c0)
	net/http/server.go:1878 +0x705
created by net/http.(*Server).Serve
	net/http/server.go:3013 +0x39b

goroutine 48 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7f45a9660, 0x72, 0xffffffffffffffff)
	runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000520898, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
	internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000520880, 0xc0002c9000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc000520880, 0xc0002c9000, 0x1000, 0x1000, 0x15, 0x10000d7, 0x13a9f38)
	net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc0001564d8, 0xc0002c9000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	net/net.go:183 +0x91
net/http.(*connReader).Read(0xc00053b0b0, 0xc0002c9000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	net/http/server.go:800 +0x1b9
bufio.(*Reader).fill(0xc0002d0d80)
	bufio/bufio.go:101 +0x108
bufio.(*Reader).ReadSlice(0xc0002d0d80, 0x13bd60a, 0xc0003eb818, 0x694e5c, 0x7fe7e6ce74a0, 0xc00001a1e0, 0xc0002f4a00)
	bufio/bufio.go:360 +0x3d
bufio.(*Reader).ReadLine(0xc0002d0d80, 0x203000, 0x203000, 0x13a9f38, 0xc0003eb880, 0x23, 0x0)
	bufio/bufio.go:389 +0x34
net/textproto.(*Reader).readLineSlice(0xc00053af00, 0xc0002f4b00, 0x756ea19bce25ba, 0x2115c0cddcdf4be6, 0xc00031a060, 0xc0003eb9a0)
	net/textproto/reader.go:57 +0xd6
net/textproto.(*Reader).ReadLine(...)
	net/textproto/reader.go:38
net/http.readRequest(0xc0002d0d80, 0x0, 0xc0002f4b00, 0x0, 0x0)
	net/http/request.go:1027 +0xaa
net/http.(*conn).readRequest(0xc000167e00, 0x13a72c8, 0xc0002af6c0, 0x0, 0x0, 0x0)
	net/http/server.go:986 +0x19d
net/http.(*conn).serve(0xc000167e00, 0x13a7370, 0xc0002af6c0)
	net/http/server.go:1878 +0x705
created by net/http.(*Server).Serve
	net/http/server.go:3013 +0x39b

goroutine 80 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7f45a9578, 0x72, 0xffffffffffffffff)
	runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000521f18, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
	internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000521f00, 0xc0003b5000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc000521f00, 0xc0003b5000, 0x1000, 0x1000, 0xc00037dc80, 0xc000525668, 0xff2155)
	net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000157668, 0xc0003b5000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	net/net.go:183 +0x91
net/http.(*connReader).Read(0xc00024c240, 0xc0003b5000, 0x1000, 0x1000, 0x482236, 0xc00031c98b, 0x19)
	net/http/server.go:800 +0x1b9
bufio.(*Reader).fill(0xc000076540)
	bufio/bufio.go:101 +0x108
bufio.(*Reader).ReadSlice(0xc000076540, 0xc00041d80a, 0x6d28e7, 0xc0001febc0, 0x18cacdc, 0x2, 0x2)
	bufio/bufio.go:360 +0x3d
bufio.(*Reader).ReadLine(0xc000076540, 0x203000, 0x203000, 0x0, 0x0, 0xc00041da78, 0x6d3345)
	bufio/bufio.go:389 +0x34
net/textproto.(*Reader).readLineSlice(0xc00024c270, 0xc0002f5f00, 0xc00041d9e8, 0x4e1633, 0xc000521f00, 0x43c0bc)
	net/textproto/reader.go:57 +0xd6
net/textproto.(*Reader).ReadLine(...)
	net/textproto/reader.go:38
net/http.readRequest(0xc000076540, 0x0, 0xc0002f5f00, 0x0, 0x0)
	net/http/request.go:1027 +0xaa
net/http.(*conn).readRequest(0xc000167f40, 0x13a72c8, 0xc0001feb80, 0x0, 0x0, 0x0)
	net/http/server.go:986 +0x19d
net/http.(*conn).serve(0xc000167f40, 0x13a7370, 0xc0001feb80)
	net/http/server.go:1878 +0x705
created by net/http.(*Server).Serve
	net/http/server.go:3013 +0x39b

goroutine 89 [select]:
net.cgoLookupIP(0x13a72c8, 0xc0001ff580, 0xfe4b1a, 0x3, 0xc00013d308, 0x11, 0x12, 0xfe3d24, 0x2, 0xffffffffffffffff, ...)
	net/cgo_unix.go:229 +0x173
net.(*Resolver).lookupIP(0x1a06240, 0x13a72c8, 0xc0001ff580, 0xfe4b1a, 0x3, 0xc00013d308, 0x11, 0x0, 0x0, 0x0, ...)
	net/lookup_unix.go:96 +0x187
net.glob..func1(0x13a72c8, 0xc0001ff580, 0xc000496660, 0xfe4b1a, 0x3, 0xc00013d308, 0x11, 0xc00008b798, 0x0, 0xc00024c450, ...)
	net/hook.go:23 +0x72
net.(*Resolver).lookupIPAddr.func1(0x0, 0x0, 0x0, 0x0)
	net/lookup.go:293 +0xba
internal/singleflight.(*Group).doCall(0x1a06250, 0xc000313d10, 0xc00013d320, 0x15, 0xc0001ff5c0)
	internal/singleflight/singleflight.go:95 +0x2e
created by internal/singleflight.(*Group).DoChan
	internal/singleflight/singleflight.go:88 +0x2cc

goroutine 87 [select]:
net/http.(*Transport).getConn(0x1899420, 0xc0001ff4c0, 0x0, 0xc000043180, 0x5, 0xc00013d308, 0x15, 0x0, 0x0, 0x0, ...)
	net/http/transport.go:1368 +0x589
net/http.(*Transport).roundTrip(0x1899420, 0xc0004f6000, 0xc0004f8000, 0x160, 0x150)
	net/http/transport.go:579 +0x7eb
net/http.(*Transport).RoundTrip(0x1899420, 0xc0004f6000, 0x1899420, 0x0, 0x0)
	net/http/roundtrip.go:17 +0x35
net/http.send(0xc0004f6000, 0x1394220, 0x1899420, 0x0, 0x0, 0x0, 0xc000157778, 0x41a7d7, 0x1, 0x0)
	net/http/client.go:251 +0x454
net/http.(*Client).send(0x1a07280, 0xc0004f6000, 0x0, 0x0, 0x0, 0xc000157778, 0x0, 0x1, 0xc00024cea0)
	net/http/client.go:175 +0xff
net/http.(*Client).do(0x1a07280, 0xc0004f6000, 0x0, 0x0, 0x0)
	net/http/client.go:717 +0x45f
net/http.(*Client).Do(...)
	net/http/client.go:585
net/http.(*Client).Post(0x1a07280, 0xc000043180, 0x72, 0xff6785, 0x10, 0x1394640, 0xc0001b1900, 0x40fb1b, 0x0, 0x203000)
	net/http/client.go:845 +0x198
net/http.Post(...)
	net/http/client.go:825
github.com/li4n0/revsuit/internal/notice.(*DingTalk).notice(0xc00030e010, 0x13a5008, 0xc00046bce0, 0x0, 0x0)
	github.com/li4n0/revsuit/internal/notice/ding.go:62 +0x11b
github.com/li4n0/revsuit/internal/notice.Notice(0x13a5008, 0xc00046bce0)
	github.com/li4n0/revsuit/internal/notice/announcer.go:45 +0xa2
github.com/li4n0/revsuit/pkg/rhttp.Record.Notice(...)
	github.com/li4n0/revsuit/pkg/rhttp/record.go:28
github.com/li4n0/revsuit/pkg/rhttp.(*Server).Receive.func1(0xc00046b8c0, 0x0, 0x0)
	github.com/li4n0/revsuit/pkg/rhttp/http.go:207 +0xe8
created by github.com/li4n0/revsuit/pkg/rhttp.(*Server).Receive
	github.com/li4n0/revsuit/pkg/rhttp/http.go:206 +0x88c

from revsuit.

Related Issues (19)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.