You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A critical issue has been identified in the libp2p-pubsub library. Specifically, in the process of a peer publishing a new RPC message to other peers through the function "handleSendingMessages", the function attempts to send messages on an existing stream towards remote peers.
However, if the libp2p-pubsub is configured to use the default "Yamux" as the muxer, the "Write" function operates synchronously without a time limitation. In the event that the write operation in "go-yamux" becomes stuck, it leads to the entire goroutine of "handleSendingMessages" becoming stuck. Consequently, any remaining messages destined for the target remote peer will be dropped due to the queue becoming full.
Expected Outcome:
The libp2p-pubsub library should handle situations where the Write operation becomes stuck in "go-yamux" without causing the entire goroutine of "handleSendingMessages" to become stuck.
Actual Outcome:
The current implementation results in the entire goroutine of "handleSendingMessages" getting stuck, leading to dropped messages due to a full queue.
Description:
A critical issue has been identified in the libp2p-pubsub library. Specifically, in the process of a peer publishing a new RPC message to other peers through the function "handleSendingMessages", the function attempts to send messages on an existing stream towards remote peers.
However, if the libp2p-pubsub is configured to use the default "Yamux" as the muxer, the "Write" function operates synchronously without a time limitation. In the event that the write operation in "go-yamux" becomes stuck, it leads to the entire goroutine of "handleSendingMessages" becoming stuck. Consequently, any remaining messages destined for the target remote peer will be dropped due to the queue becoming full.
Expected Outcome:
The libp2p-pubsub library should handle situations where the Write operation becomes stuck in "go-yamux" without causing the entire goroutine of "handleSendingMessages" to become stuck.
Actual Outcome:
The current implementation results in the entire goroutine of "handleSendingMessages" getting stuck, leading to dropped messages due to a full queue.
Environment:
[email protected]
The text was updated successfully, but these errors were encountered: