-
Couldn't load subscription status.
- Fork 1.2k
Description
Bug: attempting to fetch UnixFS files over bitswap with peers that only expose websockets will fail on large blocks. Note: this is all of Elastic IPFS/Web3.storage
Steps To Reproduce:
Build Kubo v0.18.0:
Start the daemon:
./cmd/ipfs/ipfs daemon
./cmd/ipfs/ipfs get bafybeiarntxetfbzpyp7baj7kqvqljrn5uyoobq2y4b3zegbbem5joazgy
This is a CID I stored on web3.storage. It works.
Now switch to Kubo master and do the same. It now hangs.
Heavy debugging identifies the following error generated in the websocket conn: failed to read: read limited at 32769 bytes -- this comes from here I believe: https://github.com/nhooyr/websocket/blob/master/read.go#L385
Note that actually everything works fine until we get to the first 1MB raw block, I assume because it's over that limit.
This was originally discovered in Lassie and in debugging why it couldn't fetch while Kubo 0.18.0 could, I found that Kubo master couldn't either.