-
Notifications
You must be signed in to change notification settings - Fork 62
Open
Labels
Milestone
Description
From a go routine pprof report, I got:
Almost all goroutines in this profile are blocked in network I/O in the Fabric Smart Client websocket and gRPC layers (i.e. waiting for data), not spinning or obviously deadlocked on locks.
Largest blocked groups
There are 58 goroutines blocked in (*streamHandler).handleIncoming reading from (*websocket.stream).Read, which in turn is stuck in bufio.(*Reader).fill / encoding/binary.ReadUvarint while reading from the underlying connection.
Another 58 goroutines are blocked in (*websocket.subConn).ReadMessage → (*websocket.stream).readMessages, which go down into gorilla/websocket.(*Conn).ReadJSON and then to net.(*conn).Read via crypto/tls.(*Conn).Read, all ultimately waiting in internal/poll.runtime_pollWait for socket data.
These connections are dead. They should not be there anymore