-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
In #109889 I'm seeing the Ruby ffi bus error on Mac ARM hosts because the arm64 version of Ruby is not being installed. I'd like to run tests that need Ruby installed without having to set arm64_ruby dependency in the config (https://flutter-review.googlesource.com/c/recipes/+/30040), since it could be run on arm64 or x64 bots, depending on capacity.
[module_test_ios] [STDOUT] stdout: [ +1 ms] /opt/s/w/ir/x/w/gems/ruby/2.6.0/gems/ffi-1.15.5/lib/ffi/library.rb:275: [BUG] Bus Error at 0x0000000101030000
[module_test_ios] [STDOUT] stdout: ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.arm64e-darwin21]
[module_test_ios] [STDOUT] stdout:
[module_test_ios] [STDOUT] stdout: -- Crash Report log information --------------------------------------------
[module_test_ios] [STDOUT] stdout: See Crash Report log file under the one of following:
[module_test_ios] [STDOUT] stdout: * ~/Library/Logs/DiagnosticReports
[module_test_ios] [STDOUT] stdout: * /Library/Logs/DiagnosticReports
[module_test_ios] [STDOUT] stdout: for more details.
[module_test_ios] [STDOUT] stdout: Don't forget to include the above Crash Report log file in bug reports.
[module_test_ios] [STDOUT] stdout:
[module_test_ios] [STDOUT] stdout: -- Control frame information -----------------------------------------------
[module_test_ios] [STDOUT] stdout: c:0049 p:---- s:0307 e:000306 CFUNC :attach
[module_test_ios] [STDOUT] stdout: c:0048 p:0258 s:0301 e:000300 METHOD /opt/s/w/ir/x/w/gems/ruby/2.6.0/gems/ffi-1.15.5/lib/ffi/library.rb:275
[module_test_ios] [STDOUT] stdout: c:0047 p:0050 s:0281 e:000280 CLASS /opt/s/w/ir/x/w/gems/ruby/2.6.0/gems/ethon-0.15.0/lib/ethon/libc.rb:17
[module_test_ios] [STDOUT] stdout: c:0046 p:0007 s:0278 e:000277 CLASS /opt/s/w/ir/x/w/gems/ruby/2.6.0/gems/ethon-0.15.0/lib/ethon/libc.rb:7
[module_test_ios] [STDOUT] stdout: c:0045 p:0007 s:0275 e:000274 TOP /opt/s/w/ir/x/w/gems/ruby/2.6.0/gems/ethon-0.15.0/lib/ethon/libc.rb:2 [FINISH]
Instead of requiring the arm64_ruby dep, derive it from the fact that Ruby is needed, and the cpu is arm64.
https://flutter.googlesource.com/recipes/+/refs/heads/main/recipe_modules/flutter_deps/api.py#297
https://flutter.googlesource.com/recipes/+/refs/heads/main/recipe_modules/flutter_deps/api.py#324
cc @keyonghan