Ref: opal/opal#2463
The issue can't be reproduced reliably, the most reliable way is with the following code (you may need to launch it a couple of times) WARNING: it forks a lot of processes:
[user@localhost opal]# ruby _testzlib.rb
_testzlib.rb:5:in `gzip': buffer error (Zlib::BufError)
from _testzlib.rb:5:in `<main>'
[user@localhost opal]# _testzlib.rb:5:in `gzip': buffer error (Zlib::BufError)
from _testzlib.rb:5:in `<main>'
[user@localhost opal]#
[user@localhost opal]# cat _testzlib.rb
require 'zlib'
10.times { fork }
Zlib.gzip("sdfasfasdfasdfasdasdfadfasdf" * 10000)
[user@localhost opal]#
The issue has been seen on opal's CI since Ruby 2.6 until 3.1.