ruby.wasm icon indicating copy to clipboard operation
ruby.wasm copied to clipboard

Safari WebAssembly: Maximum call stack size exceeded

Open palkan opened this issue 1 year ago • 4 comments

It seems that there is some limit we hit on Safari related to call stack size. Loading a greenfield Rails application (Rails.application.initialize!, eager_load is true) results in a maximum call stack size exceeded error. The crash dump only shows ~100 stack frames.

dump.txt
-- Control frame information -----------------------------------------------
c:0104 p:---- s:0532 e:000531 CFUNC  :eval
c:0103 p:0054 s:0525 E:000ed8 METHOD /usr/local/lib/ruby/3.3.0/rubygems/specification.rb:1087
c:0102 p:0061 s:0517 e:000516 METHOD /usr/local/lib/ruby/3.3.0/rubygems/stub_specification.rb:195
c:0101 p:0033 s:0512 e:000511 METHOD /usr/local/lib/ruby/3.3.0/rubygems/stub_specification.rb:151
c:0100 p:0013 s:0508 e:000507 METHOD /usr/local/lib/ruby/3.3.0/rubygems/basic_specification.rb:76
c:0099 p:0006 s:0502 e:000501 BLOCK  /usr/local/lib/ruby/3.3.0/rubygems/specification_record.rb:152 [FINISH]
c:0098 p:---- s:0498 e:000497 IFUNC 
c:0097 p:---- s:0495 e:000494 CFUNC  :each
c:0096 p:---- s:0492 e:000491 CFUNC  :find
c:0095 p:0028 s:0488 e:000484 METHOD /usr/local/lib/ruby/3.3.0/rubygems/specification_record.rb:151
c:0094 p:0007 s:0479 e:000478 METHOD /usr/local/lib/ruby/3.3.0/rubygems/specification.rb:966
c:0093 p:0006 s:0474 e:000473 METHOD /usr/local/lib/ruby/3.3.0/rubygems.rb:194
c:0092 p:0007 s:0466 e:000465 BLOCK  :139 [FINISH]
c:0091 p:---- s:0463 e:000462 CFUNC  :synchronize
c:0090 p:0027 s:0459 e:000458 RESCUE :139
c:0089 p:0024 s:0455 e:000454 METHOD :135
c:0088 p:0055 s:0449 e:000448 METHOD /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34
c:0087 p:0095 s:0441 e:000440 CLASS  /bundle/gems/erubi-1.13.0/lib/erubi.rb:21
c:0086 p:0007 s:0438 e:000437 TOP    /bundle/gems/erubi-1.13.0/lib/erubi.rb:3 [FINISH]
c:0085 p:---- s:0435 e:000434 CFUNC  :require
c:0084 p:0023 s:0430 e:000429 METHOD :136
c:0083 p:0055 s:0424 e:000423 METHOD /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34
c:0082 p:0005 s:0416 e:000415 TOP    /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers/erb/erubi.rb:3 [FINISH]
c:0081 p:---- s:0413 e:000412 CFUNC  :require
c:0080 p:0023 s:0408 e:000407 METHOD :136
c:0079 p:0055 s:0402 e:000401 METHOD /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34 [FINISH]
c:0078 p:0021 s:0394 e:000391 CLASS  /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers/erb.rb:17
c:0077 p:0007 s:0389 e:000388 CLASS  /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers/erb.rb:9
c:0076 p:0007 s:0386 e:000385 CLASS  /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers/erb.rb:8
c:0075 p:0007 s:0383 e:000382 CLASS  /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers/erb.rb:7
c:0074 p:0019 s:0380 e:000379 TOP    /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers/erb.rb:6 [FINISH]
c:0073 p:---- s:0377 e:000376 CFUNC  :require
c:0072 p:0023 s:0372 e:000371 METHOD :136
c:0071 p:0055 s:0366 e:000365 METHOD /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34 [FINISH]
c:0070 p:0017 s:0358 e:000355 METHOD /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers.rb:14 [FINISH]
c:0069 p:---- s:0351 e:000350 CFUNC  :extend
c:0068 p:0022 s:0346 e:000345 CLASS  /bundle/gems/actionview-7.2.1/lib/action_view/template.rb:179
c:0067 p:0007 s:0343 e:000342 CLASS  /bundle/gems/actionview-7.2.1/lib/action_view/template.rb:8
c:0066 p:0019 s:0340 e:000339 TOP    /bundle/gems/actionview-7.2.1/lib/action_view/template.rb:6 [FINISH]
c:0065 p:---- s:0337 e:000336 CFUNC  :require
c:0064 p:0023 s:0332 e:000331 METHOD :136
c:0063 p:0055 s:0326 e:000325 METHOD /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34
c:0062 p:0023 s:0318 e:000317 TOP    /bundle/gems/actionview-7.2.1/lib/action_view/template/resolver.rb:6 [FINISH]
c:0061 p:---- s:0315 e:000314 CFUNC  :require
c:0060 p:0023 s:0310 e:000309 METHOD :136
c:0059 p:0055 s:0304 e:000303 METHOD /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34 [FINISH]
c:0058 p:0052 s:0296 e:000292 BLOCK  /bundle/gems/actionview-7.2.1/lib/action_view/path_registry.rb:34 [FINISH]
c:0057 p:---- s:0289 e:000288 CFUNC  :map
c:0056 p:0010 s:0285 e:000284 BLOCK  /bundle/gems/actionview-7.2.1/lib/action_view/path_registry.rb:27 [FINISH]
c:0055 p:---- s:0281 e:000280 CFUNC  :synchronize
c:0054 p:0013 s:0277 e:000276 METHOD /bundle/gems/actionview-7.2.1/lib/action_view/path_registry.rb:25
c:0053 p:0017 s:0272 e:000271 METHOD /bundle/gems/actionview-7.2.1/lib/action_view/view_paths.rb:34
c:0052 p:0007 s:0267 e:000264 METHOD /bundle/gems/actionview-7.2.1/lib/action_view/view_paths.rb:55
c:0051 p:0013 s:0260 e:000259 BLOCK  /bundle/gems/railties-7.2.1/lib/rails/engine.rb:613 [FINISH]
c:0050 p:---- s:0257 e:000256 CFUNC  :class_eval
c:0049 p:0031 s:0253 e:000252 BLOCK  /bundle/gems/activesupport-7.2.1/lib/active_support/lazy_load_hooks.rb:97
c:0048 p:0033 s:0250 e:000249 METHOD /bundle/gems/activesupport-7.2.1/lib/active_support/lazy_load_hooks.rb:87
c:0047 p:0014 s:0243 e:000242 METHOD /bundle/gems/activesupport-7.2.1/lib/active_support/lazy_load_hooks.rb:92
c:0046 p:0011 s:0235 e:000234 BLOCK  /bundle/gems/activesupport-7.2.1/lib/active_support/lazy_load_hooks.rb:78 [FINISH]
c:0045 p:---- s:0230 e:000229 CFUNC  :each
c:0044 p:0026 s:0226 e:000225 METHOD /bundle/gems/activesupport-7.2.1/lib/active_support/lazy_load_hooks.rb:77
c:0043 p:0340 s:0220 e:000219 CLASS  /bundle/gems/actionpack-7.2.1/lib/action_controller/base.rb:330
c:0042 p:0008 s:0217 e:000216 CLASS  /bundle/gems/actionpack-7.2.1/lib/action_controller/base.rb:207
c:0041 p:0025 s:0214 e:000213 TOP    /bundle/gems/actionpack-7.2.1/lib/action_controller/base.rb:9 [FINISH]
c:0040 p:---- s:0211 e:000210 CFUNC  :require
c:0039 p:0023 s:0206 e:000205 METHOD :136
c:0038 p:0055 s:0200 e:000199 METHOD /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34 [FINISH]
c:0037 p:0004 s:0192 e:000190 TOP    /rails/app/controllers/application_controller.rb:1 [FINISH]
c:0036 p:---- s:0188 e:000187 CFUNC  :require
c:0035 p:0023 s:0183 e:000182 METHOD :136
c:0034 p:0024 s:0177 e:000176 METHOD /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:26 [FINISH]
c:0033 p:---- s:0169 e:000168 CFUNC  :const_get
c:0032 p:0010 s:0163 e:000162 METHOD /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/cref.rb:91
c:0031 p:0040 s:0159 e:000158 BLOCK  /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:173
c:0030 p:0108 s:0151 e:000150 BLOCK  /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/helpers.rb:47 [FINISH]
c:0029 p:---- s:0145 e:000144 CFUNC  :each
c:0028 p:0018 s:0141 e:000140 METHOD /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/helpers.rb:25
c:0027 p:0062 s:0135 e:000134 METHOD /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:168
c:0026 p:0010 s:0124 e:000123 BLOCK  /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:17 [FINISH]
c:0025 p:---- s:0119 e:000118 CFUNC  :each
c:0024 p:0038 s:0115 e:000114 BLOCK  /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:16 [FINISH]
c:0023 p:---- s:0112 e:000111 CFUNC  :synchronize
c:0022 p:0006 s:0108 e:000107 METHOD /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:10
c:0021 p:0005 s:0102 e:000101 BLOCK  /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader.rb:413 [FINISH]
c:0020 p:---- s:0098 e:000097 CFUNC  :each
c:0019 p:0007 s:0094 e:000093 METHOD /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader.rb:411
c:0018 p:0020 s:0090 e:000089 BLOCK  /bundle/gems/railties-7.2.1/lib/rails/application/finisher.rb:80 [FINISH]
c:0017 p:---- s:0086 e:000085 CFUNC  :instance_exec
c:0016 p:0013 s:0081 e:000080 METHOD /bundle/gems/railties-7.2.1/lib/rails/initializable.rb:32
c:0015 p:0017 s:0076 e:000075 BLOCK  /bundle/gems/railties-7.2.1/lib/rails/initializable.rb:61
c:0014 p:0016 s:0072 e:000071 BLOCK  /usr/local/lib/ruby/3.3.0/tsort.rb:231
c:0013 p:0004 s:0068 e:000067 BLOCK  /usr/local/lib/ruby/3.3.0/tsort.rb:353
c:0012 p:0098 s:0064 E:000f18 METHOD /usr/local/lib/ruby/3.3.0/tsort.rb:434
c:0011 p:0023 s:0052 E:00162c BLOCK  /usr/local/lib/ruby/3.3.0/tsort.rb:352 [FINISH]
c:0010 p:---- s:0048 e:000047 CFUNC  :each
c:0009 p:---- s:0045 e:000044 CFUNC  :call
c:0008 p:0029 s:0041 E:0023f8 METHOD /usr/local/lib/ruby/3.3.0/tsort.rb:350
c:0007 p:0024 s:0033 E:001b00 METHOD /usr/local/lib/ruby/3.3.0/tsort.rb:229
c:0006 p:0026 s:0027 e:000026 METHOD /usr/local/lib/ruby/3.3.0/tsort.rb:208
c:0005 p:0019 s:0020 E:000890 METHOD /bundle/gems/railties-7.2.1/lib/rails/initializable.rb:60
c:0004 p:0021 s:0014 e:000013 METHOD /bundle/gems/railties-7.2.1/lib/rails/application.rb:435
c:0003 p:0054 s:0009 e:000008 EVAL   eval:19 [FINISH]
c:0002 p:---- s:0006 e:000005 CFUNC  :eval
c:0001 p:0000 s:0003 E:002238 DUMMY  [FINISH]

-- Ruby level backtrace information ---------------------------------------- -e:0:in eval' eval:19:in

' /bundle/gems/railties-7.2.1/lib/rails/application.rb:435:in initialize!' /bundle/gems/railties-7.2.1/lib/rails/initializable.rb:60:in run_initializers' /usr/local/lib/ruby/3.3.0/tsort.rb:208:in tsort_each' /usr/local/lib/ruby/3.3.0/tsort.rb:229:in tsort_each' /usr/local/lib/ruby/3.3.0/tsort.rb:350:in each_strongly_connected_component' /usr/local/lib/ruby/3.3.0/tsort.rb:350:in call' /usr/local/lib/ruby/3.3.0/tsort.rb:350:in each' /usr/local/lib/ruby/3.3.0/tsort.rb:352:in block in each_strongly_connected_component' /usr/local/lib/ruby/3.3.0/tsort.rb:434:in each_strongly_connected_component_from' /usr/local/lib/ruby/3.3.0/tsort.rb:353:in block (2 levels) in each_strongly_connected_component' /usr/local/lib/ruby/3.3.0/tsort.rb:231:in block in tsort_each' /bundle/gems/railties-7.2.1/lib/rails/initializable.rb:61:in block in run_initializers' /bundle/gems/railties-7.2.1/lib/rails/initializable.rb:32:in run' /bundle/gems/railties-7.2.1/lib/rails/initializable.rb:32:in instance_exec' /bundle/gems/railties-7.2.1/lib/rails/application/finisher.rb:80:in block in <module:Finisher>' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader.rb:411:in eager_load_all' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader.rb:411:in each' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader.rb:413:in block in eager_load_all' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:10:in eager_load' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:10:in synchronize' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:16:in block in eager_load' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:16:in each' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:17:in block (2 levels) in eager_load' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:168:in actual_eager_load_dir' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/helpers.rb:25:in ls' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/helpers.rb:25:in each' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/helpers.rb:47:in block in ls' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:173:in block in actual_eager_load_dir' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/cref.rb:91:in get' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/cref.rb:91:in const_get' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:26:in require' <internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in require' internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb:136:in require' /rails/app/controllers/application_controller.rb:1:in <top (required)>' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34:in require' <internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in require' internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb:136:in require' /bundle/gems/actionpack-7.2.1/lib/action_controller/base.rb:9:in <top (required)>' /bundle/gems/actionpack-7.2.1/lib/action_controller/base.rb:207:in <module:ActionController>' /bundle/gems/actionpack-7.2.1/lib/action_controller/base.rb:330:in class:Base' /bundle/gems/activesupport-7.2.1/lib/active_support/lazy_load_hooks.rb:77:in run_load_hooks' /bundle/gems/activesupport-7.2.1/lib/active_support/lazy_load_hooks.rb:77:in each' /bundle/gems/activesupport-7.2.1/lib/active_support/lazy_load_hooks.rb:78:in block in run_load_hooks' /bundle/gems/activesupport-7.2.1/lib/active_support/lazy_load_hooks.rb:92:in execute_hook' /bundle/gems/activesupport-7.2.1/lib/active_support/lazy_load_hooks.rb:87:in with_execution_control' /bundle/gems/activesupport-7.2.1/lib/active_support/lazy_load_hooks.rb:97:in block in execute_hook' /bundle/gems/activesupport-7.2.1/lib/active_support/lazy_load_hooks.rb:97:in class_eval' /bundle/gems/railties-7.2.1/lib/rails/engine.rb:613:in block (2 levels) in class:Engine' /bundle/gems/actionview-7.2.1/lib/action_view/view_paths.rb:55:in prepend_view_path' /bundle/gems/actionview-7.2.1/lib/action_view/view_paths.rb:34:in _build_view_paths' /bundle/gems/actionview-7.2.1/lib/action_view/path_registry.rb:25:in cast_file_system_resolvers' /bundle/gems/actionview-7.2.1/lib/action_view/path_registry.rb:25:in synchronize' /bundle/gems/actionview-7.2.1/lib/action_view/path_registry.rb:27:in block in cast_file_system_resolvers' /bundle/gems/actionview-7.2.1/lib/action_view/path_registry.rb:27:in map' /bundle/gems/actionview-7.2.1/lib/action_view/path_registry.rb:34:in block (2 levels) in cast_file_system_resolvers' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34:in require' internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb:136:in require' <internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in require' /bundle/gems/actionview-7.2.1/lib/action_view/template/resolver.rb:6:in <top (required)>' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34:in require' internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb:136:in require' <internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in require' /bundle/gems/actionview-7.2.1/lib/action_view/template.rb:6:in <top (required)>' /bundle/gems/actionview-7.2.1/lib/action_view/template.rb:8:in module:ActionView' /bundle/gems/actionview-7.2.1/lib/action_view/template.rb:179:in <class:Template>' /bundle/gems/actionview-7.2.1/lib/action_view/template.rb:179:in extend' /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers.rb:14:in extended' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34:in require' internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb:136:in require' <internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in require' /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers/erb.rb:6:in <top (required)>' /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers/erb.rb:7:in module:ActionView' /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers/erb.rb:8:in <class:Template>' /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers/erb.rb:9:in module:Handlers' /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers/erb.rb:17:in <class:ERB>' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34:in require' internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb:136:in require' <internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in require' /bundle/gems/actionview-7.2.1/lib/action_view/template/handlers/erb/erubi.rb:3:in <top (required)>' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34:in require' internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb:136:in require' <internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in require' /bundle/gems/erubi-1.13.0/lib/erubi.rb:3:in <top (required)>' /bundle/gems/erubi-1.13.0/lib/erubi.rb:21:in module:Erubi' /bundle/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34:in require' <internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:135:in require' internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb:139:in rescue in require' <internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:139:in synchronize' internal:/usr/local/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb:139:in block in require' /usr/local/lib/ruby/3.3.0/rubygems.rb:194:in try_activate' /usr/local/lib/ruby/3.3.0/rubygems/specification.rb:966:in find_by_path' /usr/local/lib/ruby/3.3.0/rubygems/specification_record.rb:151:in find_by_path' /usr/local/lib/ruby/3.3.0/rubygems/specification_record.rb:151:in find' /usr/local/lib/ruby/3.3.0/rubygems/specification_record.rb:151:in each' /usr/local/lib/ruby/3.3.0/rubygems/specification_record.rb:152:in block in find_by_path' /usr/local/lib/ruby/3.3.0/rubygems/basic_specification.rb:76:in contains_requirable_file?' /usr/local/lib/ruby/3.3.0/rubygems/stub_specification.rb:151:in missing_extensions?' /usr/local/lib/ruby/3.3.0/rubygems/stub_specification.rb:195:in spec' /usr/local/lib/ruby/3.3.0/rubygems/specification.rb:1087:in load' /usr/local/lib/ruby/3.3.0/rubygems/specification.rb:1087:in eval'

What's interesting is that simply calling a recursive method hits the stack level too deep error at much higher values, see, for example: https://runruby.dev/?gist=84cc1d932b19755f45d9ec52b20567f2

Details

Ruby Version: 3.3.0. rbwasm version: 2.6.2 js version: 2.6.2

The RubyVM information is as follows:

{:thread_vm_stack_size=>1048576, :thread_machine_stack_size=>1048576, :fiber_vm_stack_size=>65536, :fiber_machine_stack_size=>262144}

Other

Some possibly related issues found in the wild:

  • https://bugs.webkit.org/show_bug.cgi?id=201028
  • https://github.com/mglaman/wasm-drupal/issues/28
  • https://github.com/mono/mono/issues/15981

palkan avatar Sep 30 '24 23:09 palkan

Found another similar issue (and they suggest that the problem is Asyncify) : https://github.com/nbarkhina/DosWasmX/issues/21#issuecomment-2561907571

palkan avatar Apr 11 '25 14:04 palkan

A more recent issue: https://bugs.webkit.org/show_bug.cgi?id=284752

Just upgraded to 18.4 on MacOS and iOS and that fixed the problem (at least, for one of my apps).

palkan avatar Apr 15 '25 23:04 palkan

I got some reports that this issue is reproducible on https://ruby-quiz-2025.storesinc.tech at Kaigi... :cry: I had a second look at this but it seems like our iseq_compile_each0 and pm_compile_node are consuming too wasm stack on WebKit.

kateinoigakukun avatar Apr 18 '25 06:04 kateinoigakukun

I got some reports that this issue is reproducible on https://ruby-quiz-2025.storesinc.tech/ at Kaigi... 😢

Probably, older Safari? 18.4 came out just on March, 31st. I've checked the stores quiz on both MacOS and iOS—works fine.

palkan avatar Apr 20 '25 21:04 palkan