ruby/ruby.wasm

`Kernel#sleep` stops working since version `2.3.0-2023-11-26-a` in the npm `ruby-head-wasm-wasi`.

tonytonyjan opened this issue · 3 comments

Descriptoin

The fundamental methodKernel#sleep stops working in the latest version of Ruby WASM package. My current workaround is to override the Kernel#sleep like:

module Kernel
  def sleep(time)
    JS.eval("return new Promise((resolve) => setTimeout(resolve, #{time * 1000}))").await
  end
end

Reproduce

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script type="module">
      import { DefaultRubyVM as DefaultRubyVM_2_2 } from "https://cdn.jsdelivr.net/npm/ruby-head-wasm-wasi@2.2.0-2023-11-25-a/dist/browser.esm.js";
      import { DefaultRubyVM as DefaultRubyVM_2_3 } from "https://cdn.jsdelivr.net/npm/ruby-head-wasm-wasi@2.3.0-2023-11-26-a/dist/browser.esm.js";
      const { vm: vm_2_2 } = await DefaultRubyVM_2_3(
        await WebAssembly.compileStreaming(
          await fetch(
            "https://cdn.jsdelivr.net/npm/ruby-head-wasm-wasi@2.2.0-2023-11-25-a/dist/ruby+stdlib.wasm"
          )
        )
      );
      const { vm: vm_2_3 } = await DefaultRubyVM_2_3(
        await WebAssembly.compileStreaming(
          await fetch(
            "https://cdn.jsdelivr.net/npm/ruby-head-wasm-wasi@2.3.0-2023-11-26-a/dist/ruby+stdlib.wasm"
          )
        )
      );
      try {
        vm_2_2.eval('sleep 1; puts "vm_2_2"')
      } catch (error) {
        console.error(error);
      }
      try {
        vm_2_3.eval('sleep 1; puts "vm_2_3"')
      } catch (error) {
        console.error(error);
      }
    </script>
  </body>
</html>

Expected

Browser console should print both "vm_2_2" and "vm_2_3".

Actual

Browser prints "vm_2_2" successfully but failed to print "vm_2_3".

browser.esm.js:3209 vm_2_2
browser.esm.js:3209 -- Control frame information -----------------------------------------------

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64bcf3
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 c:0003 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c0f9
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 p:---- 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c14d
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 s:0011 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c1fd
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 e:000010 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c248
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 CFUNC 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c28e
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209  :sleep
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c2e6
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c377
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 c:0002 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c0f9
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 p:0004 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c19f
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 s:0006 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c1fd
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 e:000005 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c248
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 EVAL  
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c28e
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209  eval:1
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c2e6
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209  [FINISH]
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c33d
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c377
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 c:0001 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c0f9
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 p:0000 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c19f
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 s:0003 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c1fd
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 E:001618 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c248
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 DUMMY 
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c28e
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209  [FINISH]
imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c33d
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c377
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8621 @ ruby+stdlib.wasm:0x64c836
$func8623 @ ruby+stdlib.wasm:0x64cafd
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 -- Ruby level backtrace information ----------------------------------------

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17377 @ ruby+stdlib.wasm:0xa8b64b
$func8595 @ ruby+stdlib.wasm:0x649523
$func8623 @ ruby+stdlib.wasm:0x64cb1f
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 eval:1:in `<main>'

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8595 @ ruby+stdlib.wasm:0x6495e8
$func8623 @ ruby+stdlib.wasm:0x64cb1f
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 eval:1:in `sleep'

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8595 @ ruby+stdlib.wasm:0x64973a
$func8623 @ ruby+stdlib.wasm:0x64cb1f
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17377 @ ruby+stdlib.wasm:0xa8b64b
$func17369 @ ruby+stdlib.wasm:0xa8aaf8
$func8623 @ ruby+stdlib.wasm:0x64cb40
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 -- Threading information ---------------------------------------------------

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cb79
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 Total ractor count: 1

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cbc5
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 Ruby thread count for this ractor: 1

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cc1b
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17377 @ ruby+stdlib.wasm:0xa8b64b
$func17369 @ ruby+stdlib.wasm:0xa8aaf8
$func8623 @ ruby+stdlib.wasm:0x64cc52
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 -- Other runtime information -----------------------------------------------


imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cc9c
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 * Loaded script: -e

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cd3b
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cd78
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 * Loaded features:


imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cdd1
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209     0 enumerator.so

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cefc
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209     1 thread.rb

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cefc
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209     2 fiber.so

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cefc
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209     3 rational.so

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cefc
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209     4 complex.so

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cefc
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209     5 ruby2_keywords.rb

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cefc
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209     6 encdb.so

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cefc
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209     7 trans/transdb.so

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64cefc
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
browser.esm.js:3209 

imports.wasi_snapshot_preview1.fd_write @ browser.esm.js:3209
$func17164 @ ruby+stdlib.wasm:0xa7cf30
$func17193 @ ruby+stdlib.wasm:0xa7dcdf
$func17226 @ ruby+stdlib.wasm:0xa7e417
$func16888 @ ruby+stdlib.wasm:0xa61453
$func17354 @ ruby+stdlib.wasm:0xa8995b
$func17394 @ ruby+stdlib.wasm:0xa8c57d
$func17368 @ ruby+stdlib.wasm:0xa8aa14
$func8623 @ ruby+stdlib.wasm:0x64d20a
$func140 @ ruby+stdlib.wasm:0xf350
$rb-vm-bugreport:_func___->___ @ ruby+stdlib.wasm:0xf9be
rbVmBugreport @ browser.esm.js:2238
exports.<computed> @ browser.esm.js:2645
wrapRbOperation @ browser.esm.js:3128
evalRbCode @ browser.esm.js:3148
eval @ browser.esm.js:2882
(anonymous) @ index.html:32
index.html:34 RbError: Something went wrong in Ruby VM: RuntimeError: unreachable
    at 0013fce2:0x3ff74
    at 0013fce2:0x42827
    at 0013fce2:0x9cbc
    at 0013fce2:0x39cf8
    at ruby+stdlib.wasm:0xa7c090
    at ruby+stdlib.wasm:0xa7d8dc
    at ruby+stdlib.wasm:0xa7dfe7
    at ruby+stdlib.wasm:0xa7e786
    at ruby+stdlib.wasm:0xa61708
    at ruby+stdlib.wasm:0x58e387
(anonymous) @ index.html:34

Thank you for narrowing down the issue! With ruby.debug+stdlib.wasm, I identified the crash happens on poll_oneoff implementation in wasi-vfs.

Stack trace
(index):35 RbError: Something went wrong in Ruby VM: RuntimeError: unreachable
    at 0013fce2:0x3ff74
    at 0013fce2:0x42827
    at 0013fce2:0x9cbc
    at 0013fce2:0x39cf8
    at wasi_vfs::wasi_snapshot_preview1::poll_oneoff::h441084cfdf4da2ed (ruby.debug+stdlib.wasm:0xa9423b)
    at wasi_vfs_wasi_snapshot_preview1_poll_oneoff (ruby.debug+stdlib.wasm:0xa95ac1)
    at __imported_wasi_snapshot_preview1_poll_oneoff (ruby.debug+stdlib.wasm:0xa961cc)
    at __wasi_poll_oneoff (ruby.debug+stdlib.wasm:0xa9696f)
    at clock_nanosleep (ruby.debug+stdlib.wasm:0xa792e7)
    at rb_array_len (thread_none.c:270)    at rb_threadptr_pending_interrupt_empty_p (thread.c:1955)    at vm_check_ints_blocking (thread.c:214)    at sleep_hrtime (thread.c:1275)

It seems like the change between two versions added poll_oneoff implementation in wasi-vfs, so it seems very relevant. I'll take a closer look. kateinoigakukun/wasi-vfs@9e70c75

Hmm, ok poll_oneoff is not supported in @bjorn3/browser_wasi_shim: https://github.com/bjorn3/browser_wasi_shim/blob/c807daebdb001d503968288a448b7e8dee233959/src/wasi.ts#L818

In 2.3.x era, we used @wasmer/wasi and it supported the syscall in a blocking way, so it "worked" in the past.

Let's try adding poll_oneoff in @bjorn3/browser_wasi_shim side: bjorn3/browser_wasi_shim#88