Skip to content

Instantly share code, notes, and snippets.

@jarv
Created October 2, 2023 08:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jarv/6c99367db2150c14e3aa5488ba4c5511 to your computer and use it in GitHub Desktop.
Save jarv/6c99367db2150c14e3aa5488ba4c5511 to your computer and use it in GitHub Desktop.
1: idle
runtime sys_darwin.go:507 pthread_cond_wait(*pthreadcond(0x10079bb48), *pthreadmutex(0x10079bb08))
runtime os_darwin.go:66 semasleep(-1)
runtime lock_sema.go:181 notesleep(*note(0x10079b908))
runtime proc.go:1632 mPark(...)
runtime proc.go:2536 stopm()
runtime proc.go:3229 findRunnable()
runtime proc.go:3582 schedule()
runtime proc.go:3921 goexit0(*g(0x1400068c680))
runtime asm_arm64.s:192 mcall()
1: sync.RWMutex.RLock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#25), Pointer(0xe0), waitReason(0xa2b64a4a638a928f))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#262), true, semaProfileFlags(0x3), 72)
sync sema.go:82 runtime_SemacquireRWMutexR(*uint32(#906), true, 24)
sync rwmutex.go:71 (*RWMutex).RLock(...)
limiter limiter.go:247 (*Limiter).GetStatusCode(*Limiter(#258))
main ratelimit.go:27 main.func1(0x0, #2, 0x1)
limiter limiter.go:268 (*Limiter).ExecOnLimitReached(*Limiter(#258), ResponseWriter{#18, #724}, *Request(#447))
main tollbooth.go:329 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#724))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#650), *Request(#724), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #724}, *Request(#704))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#676}, *Request(#18), #724, 0x6)
http server.go:2009 (*conn).serve(*conn(#509), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: IO wait
runtime proc.go:398 gopark(func(0x0), Pointer(0x0), waitReason(0x0))
runtime netpoll.go:564 netpollblock(*pollDesc(#291), 3527012, true)
poll netpoll.go:343 runtime_pollWait(*pollDesc(#29), 114)
poll fd_poll_runtime.go:84 (*pollDesc).wait(*pollDesc(#319), 4297819784, false)
poll fd_poll_runtime.go:89 (*pollDesc).waitRead(...)
poll fd_unix.go:611 (*FD).Accept(*FD(#319))
net fd_unix.go:172 (*netFD).accept(*netFD(#319))
net tcpsock_posix.go:152 (*TCPListener).accept(*TCPListener(#69))
net tcpsock.go:315 (*TCPListener).Accept(*TCPListener(#69))
http :1 (*onceCloseListener).Accept(#2010)
http server.go:3056 (*Server).Serve(*Server(#318), Listener{#19, #69})
http server.go:2985 (*Server).ListenAndServe(*Server(#318))
http server.go:3239 ListenAndServe(...)
main ratelimit.go:33 main()
runtime proc.go:267 main()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2356), Pointer(0xc0), waitReason(#412))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 236)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#413), true, 1374391048448)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#33, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#33, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#71 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1528}, *Request(#477))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1528))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#1419), *Request(#1528), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1528}, *Request(#1496))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1464}, *Request(#18), #1528, 0x6)
http server.go:2009 (*conn).serve(*conn(#540), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2366), Pointer(0xc0), waitReason(#1560))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 55)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#1561), true, 1374393956608)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#658, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#658, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#698 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1106}, *Request(#463))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1106))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#62), *Request(#1106), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1106}, *Request(#1064))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1029}, *Request(#18), #1106, 0x6)
http server.go:2009 (*conn).serve(*conn(#525), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#24), Pointer(0xc0), waitReason(#1569))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 66)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#1570), true, 1374394013952)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#1658, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#1658, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#1762 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1111}, *Request(#467))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1111))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#994), *Request(#1111), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1111}, *Request(#1069))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1036}, *Request(#18), #1111, 0x6)
http server.go:2009 (*conn).serve(*conn(#529), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2363), Pointer(0xc0), waitReason(#404))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 89)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#405), true, 5)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#1008, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#1008, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#1058 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #899}, *Request(#469))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#899))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#641), *Request(#899), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #899}, *Request(#851))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#835}, *Request(#18), #899, 0x6)
http server.go:2009 (*conn).serve(*conn(#531), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2370), Pointer(0xc0), waitReason(#1325))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 218)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#1326), true, 1374393473280)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#1432, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#1432, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#1491 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1529}, *Request(#460))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1529))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#1329), *Request(#1529), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1529}, *Request(#1497))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1187}, *Request(#18), #1529, 0x6)
http server.go:2009 (*conn).serve(*conn(#522), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2365), Pointer(0xc0), waitReason(#1330))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 222)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#1331), true, 3)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#1006, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#1006, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#1056 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1112}, *Request(#28))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1112))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#997), *Request(#1112), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1112}, *Request(#1070))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1037}, *Request(#18), #1112, 0x6)
http server.go:2009 (*conn).serve(*conn(#541), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2353), Pointer(0xc0), waitReason(#625))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 31)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#626), true, 1374391531776)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#1163, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#1163, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#1198 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1285}, *Request(#480))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1285))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#1740), *Request(#1285), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1285}, *Request(#1211))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1193}, *Request(#18), #1285, 0x6)
http server.go:2009 (*conn).serve(*conn(#544), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2352), Pointer(0xc0), waitReason(#757))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 39)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#758), true, 1374391908608)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#97, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#97, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#133 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1102}, *Request(#440))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1102))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#991), *Request(#1102), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1102}, *Request(#1061))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1024}, *Request(#18), #1102, 0x6)
http server.go:2009 (*conn).serve(*conn(#502), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2359), Pointer(0xc0), waitReason(#292))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 91)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#293), true, 1374390900992)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#1165, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#1165, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#1200 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #300}, *Request(#322))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#300))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#296), *Request(#300), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #300}, *Request(#266))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#74}, *Request(#18), #300, 0x6)
http server.go:2009 (*conn).serve(*conn(#383), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2354), Pointer(0xc0), waitReason(#1311))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 49)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#1312), true, 1374393415936)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#1007, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#1007, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#1057 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1275}, *Request(#444))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1275))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#979), *Request(#1275), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1275}, *Request(#1201))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1183}, *Request(#18), #1275, 0x6)
http server.go:2009 (*conn).serve(*conn(#506), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2368), Pointer(0xc0), waitReason(#760))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 100)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#761), true, 1374391916800)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#1009, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#1009, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#1059 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1278}, *Request(#459))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1278))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#979), *Request(#1278), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1278}, *Request(#1204))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1186}, *Request(#18), #1278, 0x6)
http server.go:2009 (*conn).serve(*conn(#521), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2379), Pointer(0xc0), waitReason(#1572))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 40)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#1573), true, 1374394022144)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#104, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#104, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#139 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #898}, *Request(#470))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#898))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#639), *Request(#898), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #898}, *Request(#850))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#833}, *Request(#18), #898, 0x6)
http server.go:2009 (*conn).serve(*conn(#532), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2360), Pointer(0xc0), waitReason(#1314))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 24)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#1315), true, 1374393424128)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#657, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#657, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#697 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1276}, *Request(#462))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1276))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#979), *Request(#1276), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1276}, *Request(#1202))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1184}, *Request(#18), #1276, 0x6)
http server.go:2009 (*conn).serve(*conn(#524), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2378), Pointer(0xc0), waitReason(#912))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 72)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#913), true, 1374392457472)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#1433, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#1433, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#1492 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1282}, *Request(#472))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1282))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#985), *Request(#1282), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1282}, *Request(#1208))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1190}, *Request(#18), #1282, 0x6)
http server.go:2009 (*conn).serve(*conn(#534), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2367), Pointer(0xc0), waitReason(#748))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 114)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#749), true, 8158668556509)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#99, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#99, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#135 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #301}, *Request(#445))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#301))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#751), *Request(#301), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #301}, *Request(#267))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#678}, *Request(#18), #301, 0x6)
http server.go:2009 (*conn).serve(*conn(#507), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2358), Pointer(0xc0), waitReason(#1306))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 199)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#1307), true, 1374393399552)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#1164, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#1164, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#1199 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1702}, *Request(#454))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1702))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#1310), *Request(#1702), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1702}, *Request(#1624))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#829}, *Request(#18), #1702, 0x6)
http server.go:2009 (*conn).serve(*conn(#516), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2371), Pointer(0xc0), waitReason(#768))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 62)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#769), true, 1374391933184)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#660, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#660, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#700 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #729}, *Request(#450))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#729))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#772), *Request(#729), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #729}, *Request(#709))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#683}, *Request(#18), #729, 0x6)
http server.go:2009 (*conn).serve(*conn(#512), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2372), Pointer(0xc0), waitReason(#1148))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 192)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#1149), true, 8158668558919)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#102, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#102, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#137 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #299}, *Request(#442))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#299))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#62), *Request(#299), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #299}, *Request(#265))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#78}, *Request(#18), #299, 0x6)
http server.go:2009 (*conn).serve(*conn(#504), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2376), Pointer(0xc0), waitReason(#918))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 225)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#919), true, 5)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#103, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#103, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#138 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #302}, *Request(#479))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#302))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#979), *Request(#302), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #302}, *Request(#268))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#84}, *Request(#18), #302, 0x6)
http server.go:2009 (*conn).serve(*conn(#543), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2357), Pointer(0xc0), waitReason(#283))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 69)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#284), true, 1374390876416)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#98, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#98, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#134 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #727}, *Request(#439))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#727))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#287), *Request(#727), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #727}, *Request(#707))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#130}, *Request(#18), #727, 0x6)
http server.go:2009 (*conn).serve(*conn(#501), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2369), Pointer(0xc0), waitReason(#406))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 234)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#407), true, 1374391032064)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#101, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#101, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#136 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1107}, *Request(#464))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1107))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#62), *Request(#1107), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1107}, *Request(#1065))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1030}, *Request(#18), #1107, 0x6)
http server.go:2009 (*conn).serve(*conn(#526), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#24), Pointer(0xc0), waitReason(#415))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 94)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#416), true, 1374391056640)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#659, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#659, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#699 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1703}, *Request(#474))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1703))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#1752), *Request(#1703), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1703}, *Request(#1625))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1602}, *Request(#18), #1703, 0x6)
http server.go:2009 (*conn).serve(*conn(#537), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2361), Pointer(0xc0), waitReason(#752))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 179)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#753), true, 1374391867648)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#813, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#813, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#843 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1526}, *Request(#446))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1526))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#756), *Request(#1526), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1526}, *Request(#1494))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#679}, *Request(#18), #1526, 0x6)
http server.go:2009 (*conn).serve(*conn(#508), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2375), Pointer(0xc0), waitReason(#1317))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 245)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#1318), true, 1374393448704)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#815, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#815, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#844 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #900}, *Request(#451))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#900))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#1321), *Request(#900), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #900}, *Request(#852))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#684}, *Request(#18), #900, 0x6)
http server.go:2009 (*conn).serve(*conn(#513), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2374), Pointer(0xc0), waitReason(#418))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#260), true, semaProfileFlags(0x3), 12)
sync sema.go:77 runtime_SemacquireMutex(*uint32(#419), true, 1374391064832)
sync mutex.go:171 (*Mutex).lockSlow(*Mutex(#259))
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#661, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#661, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#701 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #725}, *Request(#452))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#725))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#653), *Request(#725), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #725}, *Request(#705))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#685}, *Request(#18), #725, 0x6)
http server.go:2009 (*conn).serve(*conn(#514), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
2: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(*, #4, 0xc0, 0x98, *)
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(#260, 0x7d, 3, 1, 0x8f)
sync sema.go:77 runtime_SemacquireMutex(*, 0x1c, *)
sync mutex.go:171 (*Mutex).lockSlow(#259)
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(#259)
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(#258, {*, 0xc}, 0xc)
limiter limiter.go:599 (*Limiter).LimitReached(#258, {*, 0xc})
v7 tollbooth.go:54 LimitByKeysAndReturn(#258, {*, 3, 4})
v7 tollbooth.go:310 LimitByRequest(0, {#18, *}, *)
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4({#18, *}, *)
http server.go:2136 HandlerFunc.ServeHTTP(*, {#18, *}, #11)
http server.go:2514 (*ServeMux).ServeHTTP(#26, {#18, *}, *)
http server.go:2938 serverHandler.ServeHTTP({*}, {#18, *}, 6)
http server.go:2009 (*conn).serve(*, {#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
2: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(*, #4, 0xc0, 0x98, *)
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(#260, 0x7d, 3, 1, 0x6e)
sync sema.go:77 runtime_SemacquireMutex(*, 0x1c, *)
sync mutex.go:171 (*Mutex).lockSlow(#259)
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(#259)
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(#258, {*, 0xc}, 0xc)
limiter limiter.go:599 (*Limiter).LimitReached(#258, {*, 0xc})
v7 tollbooth.go:54 LimitByKeysAndReturn(#258, {*, 3, 4})
v7 tollbooth.go:310 LimitByRequest(0, {#18, *}, *)
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4({#18, *}, *)
http server.go:2136 HandlerFunc.ServeHTTP(*, {#18, *}, #11)
http server.go:2514 (*ServeMux).ServeHTTP(#26, {#18, *}, *)
http server.go:2938 serverHandler.ServeHTTP({*}, {#18, *}, 6)
http server.go:2009 (*conn).serve(*, {#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
2: sync.Mutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(*, #4, 0xc0, 0x98, *)
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(#260, 0x7d, 3, 1, 0x7d)
sync sema.go:77 runtime_SemacquireMutex(*, 0x1c, *)
sync mutex.go:171 (*Mutex).lockSlow(#259)
sync mutex.go:90 (*Mutex).Lock(...)
sync rwmutex.go:147 (*RWMutex).Lock(#259)
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(#258, {*, 0xc}, 0xc)
limiter limiter.go:599 (*Limiter).LimitReached(#258, {*, 0xc})
v7 tollbooth.go:54 LimitByKeysAndReturn(#258, {*, 3, 4})
v7 tollbooth.go:310 LimitByRequest(0, {#18, *}, *)
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4({#18, *}, *)
http server.go:2136 HandlerFunc.ServeHTTP(*, {#18, *}, #11)
http server.go:2514 (*ServeMux).ServeHTTP(#26, {#18, *}, *)
http server.go:2938 serverHandler.ServeHTTP({*}, {#18, *}, 6)
http server.go:2009 (*conn).serve(*, {#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.RWMutex.Lock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#25), Pointer(0x60), waitReason(#7))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#261), true, semaProfileFlags(0x3), 23)
sync sema.go:87 runtime_SemacquireRWMutex(*uint32(#259), true, 1374390862048)
sync rwmutex.go:152 (*RWMutex).Lock(*RWMutex(#259))
limiter limiter.go:572 (*Limiter).limitReachedWithTokenBucketTTL(*Limiter(#258), string(#93, len=12), Duration(0xc))
limiter limiter.go:599 (*Limiter).LimitReached(*Limiter(#258), string(#93, len=12))
v7 tollbooth.go:54 LimitByKeysAndReturn(*Limiter(#258), []string(#132 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1103}, *Request(#321))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1103))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#647), *Request(#1103), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1103}, *Request(#702))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#673}, *Request(#18), #1103, 0x6)
http server.go:2009 (*conn).serve(*conn(#382), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.RWMutex.RLock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2383), Pointer(0x88), waitReason(#10))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#262), true, semaProfileFlags(0x3), 8)
sync sema.go:82 runtime_SemacquireRWMutexR(*uint32(#742), true, 1374391842936)
sync rwmutex.go:71 (*RWMutex).RLock(...)
limiter limiter.go:297 (*Limiter).GetIPLookups(*Limiter(#258))
v7 tollbooth.go:66 ShouldSkipLimiter(*Limiter(#258), *Request(#1499))
v7 tollbooth.go:296 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1531}, *Request(#441))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1531))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#744), *Request(#1531), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1531}, *Request(#1499))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1021}, *Request(#18), #1531, 0x6)
http server.go:2009 (*conn).serve(*conn(#503), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.RWMutex.RLock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2489), Pointer(0xa), waitReason(0x1))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#262), true, semaProfileFlags(0x3), 136)
sync sema.go:82 runtime_SemacquireRWMutexR(*uint32(#1851), true, 1374394964360)
sync rwmutex.go:71 (*RWMutex).RLock(...)
limiter limiter.go:182 (*Limiter).GetMax(*Limiter(#258))
v7 tollbooth.go:17 setResponseHeaders(*Limiter(#17), ResponseWriter{#18, #1878}, *Request(#1832))
v7 tollbooth.go:294 LimitByRequest(*Limiter(0x1), ResponseWriter{#18, #1878}, *Request(0x0))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1878))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#1903), *Request(#1878), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1878}, *Request(#1832))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1820}, *Request(#18), #1878, 0x6)
http server.go:2009 (*conn).serve(*conn(#866), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
14: sync.RWMutex.RLock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(*, #13, 0xa, 0, 1)
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(#262, 0x5c, 3, 0, 0x88)
sync sema.go:82 runtime_SemacquireRWMutexR(*, 1, *)
sync rwmutex.go:71 (*RWMutex).RLock(...)
limiter limiter.go:182 (*Limiter).GetMax(#258)
v7 tollbooth.go:17 setResponseHeaders(#17, {#18, *}, *)
v7 tollbooth.go:294 LimitByRequest(*, {#18, *}, *)
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4({#18, *}, *)
http server.go:2136 HandlerFunc.ServeHTTP(*, {#18, *}, #11)
http server.go:2514 (*ServeMux).ServeHTTP(#26, {#18, *}, *)
http server.go:2938 serverHandler.ServeHTTP({*}, {#18, *}, 6)
http server.go:2009 (*conn).serve(*, {#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
197: sync.RWMutex.RLock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(*, #13, 0xa, 0, 1)
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(#262, 0x5c, 3, 0, 0x88)
sync sema.go:82 runtime_SemacquireRWMutexR(*, 1, *)
sync rwmutex.go:71 (*RWMutex).RLock(...)
limiter limiter.go:182 (*Limiter).GetMax(#258)
v7 tollbooth.go:17 setResponseHeaders(*, {#18, *}, *)
v7 tollbooth.go:294 LimitByRequest(0, {#18, *}, *)
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4({#18, *}, *)
http server.go:2136 HandlerFunc.ServeHTTP(*, {#18, *}, #11)
http server.go:2514 (*ServeMux).ServeHTTP(#26, {#18, *}, *)
http server.go:2938 serverHandler.ServeHTTP({*}, {#18, *}, 6)
http server.go:2009 (*conn).serve(*, {#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.RWMutex.RLock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2380), Pointer(0xe0), waitReason(#2602))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#262), true, semaProfileFlags(0x3), 0)
sync sema.go:82 runtime_SemacquireRWMutexR(*uint32(#259), false, 1374390862048)
sync rwmutex.go:71 (*RWMutex).RLock(...)
limiter limiter.go:215 (*Limiter).GetMessage(*Limiter(#258))
v7 tollbooth.go:55 LimitByKeysAndReturn(*Limiter(#258), []string(#694 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #1525}, *Request(#443))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1525))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#1419), *Request(#1525), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1525}, *Request(#1493))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1460}, *Request(#18), #1525, 0x6)
http server.go:2009 (*conn).serve(*conn(#505), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.RWMutex.RLock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2382), Pointer(0xe0), waitReason(#2602))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#262), true, semaProfileFlags(0x3), 0)
sync sema.go:82 runtime_SemacquireRWMutexR(*uint32(#259), false, 1374390862048)
sync rwmutex.go:71 (*RWMutex).RLock(...)
limiter limiter.go:215 (*Limiter).GetMessage(*Limiter(#258))
v7 tollbooth.go:55 LimitByKeysAndReturn(*Limiter(#258), []string(#70 len=3 cap=4))
v7 tollbooth.go:310 LimitByRequest(*Limiter(0x0), ResponseWriter{#18, #897}, *Request(#456))
main tollbooth.go:327 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#897))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#639), *Request(#897), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #897}, *Request(#849))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#832}, *Request(#18), #897, 0x6)
http server.go:2009 (*conn).serve(*conn(#518), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.RWMutex.RLock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2384), Pointer(0x8), waitReason(#1468))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#262), true, semaProfileFlags(0x3), 0)
sync sema.go:82 runtime_SemacquireRWMutexR(*uint32(0x0), true, 1)
sync rwmutex.go:71 (*RWMutex).RLock(...)
limiter limiter.go:263 (*Limiter).ExecOnLimitReached(*Limiter(#258), ResponseWriter{#18, #1530}, *Request(#438))
main tollbooth.go:329 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1530))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#908), *Request(#1530), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1530}, *Request(#1498))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#826}, *Request(#18), #1530, 0x6)
http server.go:2009 (*conn).serve(*conn(#500), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.RWMutex.RLock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#25), Pointer(0x0), waitReason(#687))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#262), true, semaProfileFlags(0x3), 0)
sync sema.go:82 runtime_SemacquireRWMutexR(*uint32(0x0), true, 1)
sync rwmutex.go:71 (*RWMutex).RLock(...)
limiter limiter.go:263 (*Limiter).ExecOnLimitReached(*Limiter(#258), ResponseWriter{#18, #726}, *Request(#461))
main tollbooth.go:329 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#726))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#1407), *Request(#726), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #726}, *Request(#706))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#686}, *Request(#18), #726, 0x6)
http server.go:2009 (*conn).serve(*conn(#523), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: sync.RWMutex.RLock [Created by http.(*Server).Serve in goroutine 1 @ server.go:3086]
runtime proc.go:398 gopark(func(#2381), Pointer(0xa8), waitReason(#8))
runtime proc.go:404 goparkunlock(...)
runtime sema.go:160 semacquire1(*uint32(#262), true, semaProfileFlags(0x3), 1)
sync sema.go:82 runtime_SemacquireRWMutexR(*uint32(0x0), true, 1)
sync rwmutex.go:71 (*RWMutex).RLock(...)
limiter limiter.go:281 (*Limiter).GetOverrideDefaultResponseWriter(*Limiter(#258))
main tollbooth.go:330 main.LimitFuncHandler.LimitHandler.func4(*Limiter(#18), Handler(#1280))
http server.go:2136 HandlerFunc.ServeHTTP(ResponseWriter(#982), *Request(#1280), #11)
http server.go:2514 (*ServeMux).ServeHTTP(*ServeMux(#26), ResponseWriter{#18, #1280}, *Request(#1206))
http server.go:2938 serverHandler.ServeHTTP(ResponseWriter{#1188}, *Request(#18), #1280, 0x6)
http server.go:2009 (*conn).serve(*conn(#535), Context{#20, #73})
http server.go:3086 (*Server).Serve.func3()
runtime asm_arm64.s:1197 goexit()
1: GC scavenge wait [Created by runtime.gcenable in goroutine 1 @ mgc.go:201]
runtime proc.go:398 gopark(func(#46), Pointer(0x0), waitReason(0x0))
runtime proc.go:404 goparkunlock(...)
runtime mgcscavenge.go:425 (*scavengerState).park(*scavengerState(#23))
runtime mgcscavenge.go:658 bgscavenge(chan int(0x0))
runtime mgc.go:201 gcenable.func2()
runtime asm_arm64.s:1197 goexit()
1: GC sweep wait [Created by runtime.gcenable in goroutine 1 @ mgc.go:200]
runtime proc.go:398 gopark(func(0x1), Pointer(0x0), waitReason(0x0))
runtime proc.go:404 goparkunlock(...)
runtime mgcsweep.go:321 bgsweep(chan int(0x0))
runtime mgc.go:200 gcenable.func1()
runtime asm_arm64.s:1197 goexit()
1: force gc (idle) [Created by runtime.init.6 in goroutine 1 @ proc.go:310]
runtime proc.go:398 gopark(func(0x0), Pointer(0x0), waitReason(0x0))
runtime proc.go:404 goparkunlock(...)
runtime proc.go:322 forcegchelper()
runtime asm_arm64.s:1197 goexit()
1: GC worker (idle) [Created by runtime.gcBgMarkStartWorkers in goroutine 286 @ mgc.go:1217]
runtime proc.go:398 gopark(func(#2486), Pointer(0xa8), waitReason(#12))
runtime mgc.go:1293 gcBgMarkWorker()
runtime asm_arm64.s:1197 goexit()
1: GC worker (idle) [Created by runtime.gcBgMarkStartWorkers in goroutine 286 @ mgc.go:1217]
runtime proc.go:398 gopark(func(#2487), Pointer(0xa8), waitReason(#12))
runtime mgc.go:1293 gcBgMarkWorker()
runtime asm_arm64.s:1197 goexit()
1: GC worker (idle) [Created by runtime.gcBgMarkStartWorkers in goroutine 286 @ mgc.go:1217]
runtime proc.go:398 gopark(func(0x0), Pointer(0x0), waitReason(0x0))
runtime mgc.go:1293 gcBgMarkWorker()
runtime asm_arm64.s:1197 goexit()
1: GC worker (idle) [Created by runtime.gcBgMarkStartWorkers in goroutine 286 @ mgc.go:1217]
runtime proc.go:398 gopark(func(0x1), Pointer(0xa8), waitReason(#12))
runtime mgc.go:1293 gcBgMarkWorker()
runtime asm_arm64.s:1197 goexit()
1: GC worker (idle) [Created by runtime.gcBgMarkStartWorkers in goroutine 286 @ mgc.go:1217]
runtime proc.go:398 gopark(func(#2492), Pointer(0x85), waitReason(#12))
runtime mgc.go:1293 gcBgMarkWorker()
runtime asm_arm64.s:1197 goexit()
1: GC worker (idle) [Created by runtime.gcBgMarkStartWorkers in goroutine 286 @ mgc.go:1217]
runtime proc.go:398 gopark(func(#27), Pointer(0x7c), waitReason(#12))
runtime mgc.go:1293 gcBgMarkWorker()
runtime asm_arm64.s:1197 goexit()
1: GC worker (idle) [Created by runtime.gcBgMarkStartWorkers in goroutine 286 @ mgc.go:1217]
runtime proc.go:398 gopark(func(#2488), Pointer(0xa8), waitReason(#12))
runtime mgc.go:1293 gcBgMarkWorker()
runtime asm_arm64.s:1197 goexit()
1: GC worker (idle) [Created by runtime.gcBgMarkStartWorkers in goroutine 286 @ mgc.go:1217]
runtime proc.go:398 gopark(func(#27), Pointer(0x5b), waitReason(#12))
runtime mgc.go:1293 gcBgMarkWorker()
runtime asm_arm64.s:1197 goexit()
1: GC worker (idle) [Created by runtime.gcBgMarkStartWorkers in goroutine 286 @ mgc.go:1217]
runtime proc.go:398 gopark(func(0x1), Pointer(0xa8), waitReason(#12))
runtime mgc.go:1293 gcBgMarkWorker()
runtime asm_arm64.s:1197 goexit()
1: GC worker (idle) [Created by runtime.gcBgMarkStartWorkers in goroutine 286 @ mgc.go:1217]
runtime proc.go:398 gopark(func(#2493), Pointer(0xa8), waitReason(#12))
runtime mgc.go:1293 gcBgMarkWorker()
runtime asm_arm64.s:1197 goexit()
1: finalizer wait [Created by runtime.createfing in goroutine 1 @ mfinal.go:163]
runtime proc.go:398 gopark(func(#47), Pointer(0x1), waitReason(#9))
runtime mfinal.go:193 runfinq()
runtime asm_arm64.s:1197 goexit()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment