Skip to content

Recipes should install arm version of Ruby on arm64 Mac bot #110561

@jmagman

Description

@jmagman

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.

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8804808600117899185/+/u/run_module_test_ios/test_stdout

[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

Metadata

Metadata

Assignees

Labels

platform-iosiOS applications specificallyplatform-macBuilding on or for macOS specificallyteam-infraOwned by Infrastructure team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions