Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

cluster thread safety #524

Closed
hhy5861 opened this issue Aug 25, 2020 · 2 comments
Closed

cluster thread safety #524

hhy5861 opened this issue Aug 25, 2020 · 2 comments
Labels

Comments

@hhy5861
Copy link

hhy5861 commented Aug 25, 2020

2020/08/25 22:39:59 in: '{"hi":{"id":"110283","lang":"zh_CN","ua":"dewuApp\4.52.0 (Android 4.14.116; zh_CN_#Hans); dewuApp/4.52.0","ver":"0.16"}}' sid='aF1xOAB_tlw' uid=''
fatal error: concurrent map writes2020/08/25 22:39:59 cluster: multiplexing session started usrdjMgjtkej-s-node-02 1274

goroutine 7886 [running]:
runtime.throw(0xd6bae1, 0x15)
/Users/mike/.gvm/gos/go1.14.6/src/runtime/panic.go:1116 +0x72 fp=0xc003490a10 sp=0xc0034909e0 pc=0x434642
runtime.mapassign_faststr(0xc32940, 0xc00037c3c0, 0xc002541470, 0x21, 0x21)
/Users/mike/.gvm/gos/go1.14.6/src/runtime/map_faststr.go:211 +0x3f7 fp=0xc003490a78 sp=0xc003490a10 pc=0x413497
main.(*Cluster).TopicMaster(0xc00019e1e0, 0xc0027017a0, 0xc0006edc88, 0x0, 0x0)
/Users/mike/golang/poizon/duinfr/spider/server/cluster.go:399 +0xccb fp=0xc003490bc0 sp=0xc003490a78 pc=0xaf9cbb
runtime.call64(0xc0002fc840, 0xc00009c250, 0xc000a0fd40, 0x1800000028)
/Users/mike/.gvm/gos/go1.14.6/src/runtime/asm_amd64.s:540 +0x3b fp=0xc003490c10 sp=0xc003490bc0 pc=0x46566b
reflect.Value.call(0xc000180900, 0xc00009c250, 0x13, 0xd5cfe8, 0x4, 0xc003490f08, 0x3, 0x3, 0x0, 0x0, ...)
/Users/mike/.gvm/gos/go1.14.6/src/reflect/value.go:460 +0x8ab fp=0xc003490e28 sp=0xc003490c10 pc=0x49b8ab
reflect.Value.Call(0xc000180900, 0xc00009c250, 0x13, 0xc0026be708, 0x3, 0x3, 0xc0026be768, 0x405f8b, 0xc001843320)
/Users/mike/.gvm/gos/go1.14.6/src/reflect/value.go:321 +0xb4 fp=0xc003490ea8 sp=0xc003490e28 pc=0x49adb4
net/rpc.(*service).call(0xc00018ca40, 0xc0000a8000, 0xc0000977a8, 0xc0000977e0, 0xc0000a4400, 0xc000189980, 0xbb70e0, 0xc0027017a0, 0x16, 0xba94a0, ...)
/Users/mike/.gvm/gos/go1.14.6/src/net/rpc/server.go:377 +0x17f fp=0xc003490f70 sp=0xc003490ea8 pc=0x781faf
runtime.goexit()
/Users/mike/.gvm/gos/go1.14.6/src/runtime/asm_amd64.s:1373 +0x1 fp=0xc003490f78 sp=0xc003490f70 pc=0x4671c1
created by net/rpc.(*Server).ServeCodec
/Users/mike/.gvm/gos/go1.14.6/src/net/rpc/server.go:474 +0x42b

goroutine 1 [select]:
main.listenAndServe(0xc00057b968, 0x4, 0xc0004d2ec0, 0xc000083c80, 0x101, 0x93a80, 0xc0000968d0, 0x10, 0xc0000968e0, 0x10, ...)
/Users/mike/golang/poizon/duinfr/spider/server/http.go:79 +0x1c2
main.main()
/Users/mike/golang/poizon/duinfr/spider/server/main.go:571 +0x18f6

goroutine 33 [select]:
go.opencensus.io/stats/view.(*worker).start(0xc00019e2d0)
/Users/mike/.gvm/pkgsets/go1.14.6/global/pkg/mod/go.opencensus.io@v0.21.0/stats/view/worker.go:154 +0x100
created by go.opencensus.io/stats/view.init.0
/Users/mike/.gvm/pkgsets/go1.14.6/global/pkg/mod/go.opencensus.io@v0.21.0/stats/view/worker.go:32 +0x57

goroutine 19 [chan receive]:
main.statsUpdater()
/Users/mike/golang/poizon/duinfr/spider/server/stats.go:78 +0x50
created by main.statsInit
/Users/mike/golang/poizon/duinfr/spider/server/stats.go:38 +0x156

goroutine 20 [select]:
database/sql.(*DB).connectionOpener(0xc0000fc180, 0xfe10a0, 0xc0004d3200)
/Users/mike/.gvm/gos/go1.14.6/src/database/sql/sql.go:1071 +0xe8
created by database/sql.OpenDB
/Users/mike/.gvm/gos/go1.14.6/src/database/sql/sql.go:742 +0x12a

goroutine 418 [select]:
main.(*Session).writeLoop(0xc000916160)
/Users/mike/golang/poizon/duinfr/spider/server/hdl_websock.go:75 +0x1c2
created by main.serveWebSocket
/Users/mike/golang/poizon/duinfr/spider/server/hdl_websock.go:180 +0x663

goroutine 85 [select]:
google.golang.org/grpc/internal/transport.(*controlBuffer).get(0xc000074500, 0x1, 0x0, 0x0, 0x0, 0x0)
/Users/mike/.gvm/pkgsets/go1.14.6/global/pkg/mod/google.golang.org/grpc@v1.28.0/internal/transport/controlbuf.go:395 +0x122
google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc00058b560, 0x0, 0x0)
/Users/mike/.gvm/pkgsets/go1.14.6/global/pkg/mod/google.golang.org/grpc@v1.28.0/internal/transport/controlbuf.go:513 +0x1cd
google.golang.org/grpc/internal/transport.newHTTP2Client.func3(0xc000126700)
/Users/mike/.gvm/pkgsets/go1.14.6/global/pkg/mod/google.golang.org/grpc@v1.28.0/internal/transport/http2_client.go:346 +0x7b
created by google.golang.org/grpc/internal/transport.newHTTP2Client
/Users/mike/.gvm/pkgsets/go1.14.6/global/pkg/mod/google.golang.org/grpc@v1.28.0/internal/transport/http2_client.go:344 +0xedb

goroutine 10 [select]:
google.golang.org/grpc.(*ccBalancerWrapper).watcher(0xc00018c240)
/Users/mike/.gvm/pkgsets/go1.14.6/global/pkg/mod/google.golang.org/grpc@v1.28.0/balancer_conn_wrappers.go:69 +0xc2
created by google.golang.org/grpc.newCCBalancerWrapper
/Users/mike/.gvm/pkgsets/go1.14.6/global/pkg/mod/google.golang.org/grpc@v1.28.0/balancer_conn_wrappers.go:60 +0x16d

goroutine 11 [chan receive]:
google.golang.org/grpc.(*addrConn).resetTransport(0xc0000ac2c0)
/Users/mike/.gvm/pkgsets/go1.14.6/global/pkg/mod/google.golang.org/grpc@v1.28.0/clientconn.go:1155 +0x6ea
created by google.golang.org/grpc.(*addrConn).connect
/Users/mike/.gvm/pkgsets/go1.14.6/global/pkg/mod/google.golang.org/grpc@v1.28.0/clientconn.go:798 +0x128

goroutine 12 [select]:
google.golang.org/grpc.(*ccBalancerWrapper).watcher(0xc00018c980)
/Users/mike/.gvm/pkgsets/go1.14.6/global/pkg/mod/google.golang.org/grpc@v1.28.0/balancer_conn_wrappers.go:69 +0xc2
created by google.golang.org/grpc.newCCBalancerWrapper
/Users/mike/.gvm/pkgsets/go1.14.6/global/pkg/mod/google.golang.org/grpc@v1.28.0/balancer_conn_wrappers.go:60 +0x16d

tinode version:
0.16.6

@hhy5861 hhy5861 added the bug label Aug 25, 2020
or-else added a commit that referenced this issue Aug 25, 2020
or-else added a commit that referenced this issue Aug 25, 2020
@or-else
Copy link
Contributor

or-else commented Aug 25, 2020

Fixed in devel

@or-else
Copy link
Contributor

or-else commented Oct 12, 2020

The fix is released to master.

@or-else or-else closed this as completed Oct 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants