Code Monkey home page Code Monkey logo

bifrost's People

Watchers

 avatar  avatar

Forkers

youngerlee

bifrost's Issues

fatal error: concurrent map read and map write

goroutine 79456 [running]:
runtime.throw(0x7ba30a, 0x21)
/usr/local/go/src/runtime/panic.go:1117 +0x72 fp=0xc000213b40 sp=0xc000213b10 pc=0x437c12
runtime.mapaccess2_fast32(0x751280, 0xc00048a930, 0x4fb2, 0xe, 0xc000213db8)
/usr/local/go/src/runtime/map_fast32.go:61 +0x1ac fp=0xc000213b68 sp=0xc000213b40 pc=0x4130cc
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*hub).handleIngress(0xc00010b200, 0xc000208f00, 0xc008ae2000, 0x20f, 0x400, 0x0, 0x0)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:254 +0x345 fp=0xc000213fa8 sp=0xc000213b68 pc=0x70e985
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1371 +0x1 fp=0xc000213fb0 sp=0xc000213fa8 pc=0x46ce81
created by github.com/Wenchy/bifrost/cmd/bifrost/ws.(*hub).dispatchIngress
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:85 +0x9c

goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0x7f9001bf0f10, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000022318, 0x72, 0x0, 0x0, 0x7afc91)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc000022300, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:401 +0x212
net.(*netFD).accept(0xc000022300, 0xf92e5682e51a099b, 0x0, 0x0)
/usr/local/go/src/net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc00000e1e0, 0x608a62a3, 0xc000527d50, 0x4b89a6)
/usr/local/go/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc00000e1e0, 0xc000527da0, 0x18, 0xc000000300, 0x65875b)
/usr/local/go/src/net/tcpsock.go:261 +0x65
net/http.(*Server).Serve(0xc000190000, 0x81fa80, 0xc00000e1e0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2981 +0x285
net/http.(*Server).ListenAndServe(0xc000190000, 0xc000190000, 0x3)
/usr/local/go/src/net/http/server.go:2910 +0xba
net/http.ListenAndServe(...)
/usr/local/go/src/net/http/server.go:3164
main.main()
/data/home/user00/GitHub/bifrost/cmd/bifrost/main.go:39 +0x265

goroutine 6 [chan receive, 38636 minutes]:
gopkg.in/natefinch/lumberjack%2ev2.(*Logger).millRun(0xc00007c600)
/data/home/user00/go/pkg/mod/gopkg.in/natefinch/[email protected]/lumberjack.go:379 +0x5d
created by gopkg.in/natefinch/lumberjack%2ev2.(*Logger).mill.func1
/data/home/user00/go/pkg/mod/gopkg.in/natefinch/[email protected]/lumberjack.go:390 +0x75

goroutine 7 [chan receive]:
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*hub).Run(0xc00010b200)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:52 +0x132
created by main.main
/data/home/user00/GitHub/bifrost/cmd/bifrost/main.go:27 +0x17a

goroutine 18 [chan receive]:
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*hub).dispatchIngress(0xc00010b200)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:84 +0xb4
created by github.com/Wenchy/bifrost/cmd/bifrost/ws.(*hub).Run
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:44 +0x65

goroutine 4994 [runnable]:
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*Client).writePump(0xc000208f00)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/client.go:192 +0x11e
created by github.com/Wenchy/bifrost/cmd/bifrost/ws.(*Client).Run
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/client.go:104 +0x3f

goroutine 85503 [IO wait]:
internal/poll.runtime_pollWait(0x7f900011a4f0, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00d573a98, 0x72, 0x0, 0x1, 0xffffffffffffffff)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00d573a80, 0xc00d6fdc31, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc00d573a80, 0xc00d6fdc31, 0x1, 0x1, 0xc000762000, 0x0, 0xc00d50c898)
/usr/local/go/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc00a642690, 0xc00d6fdc31, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:183 +0x91
net/http.(*connReader).backgroundRead(0xc00d6fdc20)
/usr/local/go/src/net/http/server.go:692 +0x58
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:688 +0xd5

goroutine 4995 [IO wait]:
internal/poll.runtime_pollWait(0x7f9001bf0e28, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc0000d0898, 0x72, 0x400, 0x400, 0xffffffffffffffff)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0000d0880, 0xc000282800, 0x400, 0x400, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc0000d0880, 0xc000282800, 0x400, 0x400, 0x400, 0x7f8ff00f6200, 0x7f8ff029efff)
/usr/local/go/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc00048e050, 0xc000282800, 0x400, 0x400, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:183 +0x91
bufio.(*Reader).fill(0xc00009b800)
/usr/local/go/src/bufio/bufio.go:101 +0x108
bufio.(*Reader).Peek(0xc00009b800, 0x2, 0xa194e8, 0xa194e8, 0x7f8ff05feae0, 0x0, 0x8)
/usr/local/go/src/bufio/bufio.go:139 +0x4f
github.com/gorilla/websocket.(*Conn).read(0xc0002bb600, 0x2, 0x7f902b8f6498, 0xc000210d90, 0x6fe945, 0x75efc0, 0x0)
/data/home/user00/go/pkg/mod/github.com/gorilla/[email protected]/conn.go:370 +0x46
github.com/gorilla/websocket.(*Conn).advanceFrame(0xc0002bb600, 0x0, 0x0, 0x0)
/data/home/user00/go/pkg/mod/github.com/gorilla/[email protected]/conn.go:798 +0x5c
github.com/gorilla/websocket.(*Conn).NextReader(0xc0002bb600, 0xc000210eff, 0x407000, 0xc00007c480, 0xc000210f98, 0x1)
/data/home/user00/go/pkg/mod/github.com/gorilla/[email protected]/conn.go:980 +0x8f
github.com/gorilla/websocket.(*Conn).ReadMessage(0xc0002bb600, 0xc000210fff, 0x7b20e0, 0xe, 0x0, 0x0, 0x0)
/data/home/user00/go/pkg/mod/github.com/gorilla/[email protected]/conn.go:1064 +0x2f
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*Client).readPump(0xc000208f00)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/client.go:165 +0x1a5
created by github.com/Wenchy/bifrost/cmd/bifrost/ws.(*Client).Run
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/client.go:105 +0x65

goroutine 85500 [chan receive]:
github.com/Wenchy/bifrost/cmd/bifrost/ws.Forward(0xc00e5c83f0, 0x13, 0x81fc60, 0xc00d6bbdc0, 0xc006e0a800, 0xc00d573a00, 0x0)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:362 +0x80f
main.handleRequestAndRedirect(0x81fc60, 0xc00d6bbdc0, 0xc006e0a800)
/data/home/user00/GitHub/bifrost/cmd/bifrost/main.go:75 +0x145
net/http.HandlerFunc.ServeHTTP(0x7cadc0, 0x81fc60, 0xc00d6bbdc0, 0xc006e0a800)
/usr/local/go/src/net/http/server.go:2069 +0x44
net/http.(*ServeMux).ServeHTTP(0x9e6ea0, 0x81fc60, 0xc00d6bbdc0, 0xc006e0a800)
/usr/local/go/src/net/http/server.go:2448 +0x1ad
net/http.serverHandler.ServeHTTP(0xc000190000, 0x81fc60, 0xc00d6bbdc0, 0xc006e0a800)
/usr/local/go/src/net/http/server.go:2887 +0xa3
net/http.(*conn).serve(0xc00d6c41e0, 0x820400, 0xc00d6a7840)
/usr/local/go/src/net/http/server.go:1952 +0x8cd
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:3013 +0x39b

goroutine 85502 [runnable]:
sync.(*RWMutex).Unlock(0xc000208f00)
/usr/local/go/src/sync/rwmutex.go:131 +0xd9
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*Client).send(0xc000208f00, 0xc0035e0b40, 0x1b6, 0x220)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/client.go:240 +0x17f
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*Client).SendPacket(0xc000208f00, 0xc00d5e5a20, 0xc00d56d0e0, 0x17, 0xc00d5e59f0)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/client.go:142 +0xf1
github.com/Wenchy/bifrost/cmd/bifrost/ws.Forward(0xc00e5c8468, 0x13, 0x81fc60, 0xc00d6bbea0, 0xc006e0a900, 0xc00d573a80, 0x0)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:354 +0x718
main.handleRequestAndRedirect(0x81fc60, 0xc00d6bbea0, 0xc006e0a900)
/data/home/user00/GitHub/bifrost/cmd/bifrost/main.go:75 +0x145
net/http.HandlerFunc.ServeHTTP(0x7cadc0, 0x81fc60, 0xc00d6bbea0, 0xc006e0a900)
/usr/local/go/src/net/http/server.go:2069 +0x44
net/http.(*ServeMux).ServeHTTP(0x9e6ea0, 0x81fc60, 0xc00d6bbea0, 0xc006e0a900)
/usr/local/go/src/net/http/server.go:2448 +0x1ad
net/http.serverHandler.ServeHTTP(0xc000190000, 0x81fc60, 0xc00d6bbea0, 0xc006e0a900)
/usr/local/go/src/net/http/server.go:2887 +0xa3
net/http.(*conn).serve(0xc00d6c4280, 0x820400, 0xc00d6a7a00)
/usr/local/go/src/net/http/server.go:1952 +0x8cd
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:3013 +0x39b

goroutine 85501 [IO wait]:
internal/poll.runtime_pollWait(0x7f8ff06416d8, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00d573a18, 0x72, 0x0, 0x1, 0xffffffffffffffff)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00d573a00, 0xc00d6fd7b1, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc00d573a00, 0xc00d6fd7b1, 0x1, 0x1, 0xc00946a660, 0x0, 0xc00d6a74d8)
/usr/local/go/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc00a642648, 0xc00d6fd7b1, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:183 +0x91
net/http.(*connReader).backgroundRead(0xc00d6fd7a0)
/usr/local/go/src/net/http/server.go:692 +0x58
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:688 +0xd5

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.