Deno のめっちゃ難しいバグを修正した - Qiita

2022-10-05

https://qiita.com/kt3k/items/77e715a790d84cd73878

つまり、ここで何が起こるかというと、subarray で返した一個前のバイト列 (Uint8Array) が後続処理で使われるタイミングが遅いと、次の r.read() の呼び出しが走ってしまい、その際に一個前のバイト列 (Uint8Array) が見ているメモリ上の ArrayBuffer が上書きされるため、一個前のバイト列のデータが壊れてしまいます。

こういうタイミングによって出た出なかったりするバグが一番難しい・・・。