Reminds me of a bug I fixed in yamux, simply because of how long I've had to deal with it. Bug existed for as long as yamux did. (yamux is used by hashicorp for stream muxing everywhere in their products.)
If yamux's keepalive fails/times out, and you're calling Read on a demuxed stream, it blocks forever.
If yamux's keepalive fails/times out, and you're calling Read on a demuxed stream, it blocks forever.
https://github.com/hashicorp/yamux/pull/127