sassc-ruby
sassc-ruby copied to clipboard
saasc crashes on Apple M1 silicon
I have a rails 6 project that uses sass-rails
and crashes upon trying to render a view, I think, on a new M1 computer (macos big sur aarch64)
sassc version 2.4.0
bin/rails s
=> Booting Puma
=> Rails 6.0.3.4 application starting in development
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 5.0.4 (ruby 2.7.2-p137), codename: Spoony Bard
* Min threads: 5, max threads: 5
* Environment: development
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop
Started GET "/" for ::1 at 2020-11-26 10:04:16 -0800
(0.5ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
Processing by HomeController#index as HTML
Rendering home/index.html.erb within layouts/application
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sassc-2.4.0/lib/sassc/native/native_context_api.rb:18: [BUG] Illegal instruction at 0x0000000102aec078
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [arm64-darwin20]
-- Crash Report log information --------------------------------------------
See Crash Report log file under the one of following:
* ~/Library/Logs/DiagnosticReports
* /Library/Logs/DiagnosticReports
for more details.
Don't forget to include the above Crash Report log file in bug reports.
-- Control frame information -----------------------------------------------
c:0060 p:---- s:0454 e:000453 CFUNC :_make_data_context
c:0059 p:0016 s:0449 e:000448 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sassc-2.4.0/lib/sassc/native/native_context_api.rb:18
c:0058 p:0045 s:0444 e:000443 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sassc-2.4.0/lib/sassc/engine.rb:25
c:0057 p:0005 s:0432 e:000431 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/sassc-rails-2.1.2/lib/sassc/rails/template.rb:40
c:0056 p:0024 s:0429 e:000428 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/utils.rb:138
c:0055 p:0167 s:0422 e:000421 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sassc-rails-2.1.2/lib/sassc/rails/template.rb:39
c:0054 p:0047 s:0413 e:000412 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:84
c:0053 p:0014 s:0405 e:000404 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:66 [FINISH]
c:0052 p:---- s:0400 e:000399 CFUNC :reverse_each
c:0051 p:0035 s:0396 e:000395 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65
c:0050 p:0016 s:0388 e:000387 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:22
c:0049 p:0010 s:0383 e:000382 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:33
c:0048 p:0047 s:0378 e:000377 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:84
c:0047 p:0014 s:0370 e:000369 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:66 [FINISH]
c:0046 p:---- s:0365 e:000364 CFUNC :reverse_each
c:0045 p:0035 s:0361 e:000360 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65
c:0044 p:0441 s:0353 e:000352 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:182
c:0043 p:0068 s:0331 e:000330 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:59
c:0042 p:0034 s:0325 e:000324 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:337
c:0041 p:0141 s:0315 e:000314 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:43
c:0040 p:0020 s:0306 e:000302 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/cached_environment.rb:44
c:0039 p:0103 s:0298 e:000297 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/bundle.rb:27
c:0038 p:0047 s:0280 e:000279 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:84
c:0037 p:0014 s:0272 e:000271 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:66 [FINISH]
c:0036 p:---- s:0267 e:000266 CFUNC :reverse_each
c:0035 p:0035 s:0263 e:000262 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65
c:0034 p:0441 s:0255 e:000254 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:182
c:0033 p:0068 s:0233 e:000232 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:59
c:0032 p:0034 s:0227 e:000226 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:337
c:0031 p:0141 s:0217 e:000216 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:43
c:0030 p:0020 s:0208 e:000204 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/cached_environment.rb:44
c:0029 p:0007 s:0200 e:000199 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/bundle.rb:32 [FINISH]
c:0028 p:---- s:0194 e:000193 CFUNC :each_key
c:0027 p:0023 s:0190 e:000189 METHOD /opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/set.rb:328
c:0026 p:0160 s:0185 E:0003e0 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/bundle.rb:31
c:0025 p:0047 s:0167 e:000166 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:84
c:0024 p:0014 s:0159 e:000158 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:66 [FINISH]
c:0023 p:---- s:0154 e:000153 CFUNC :reverse_each
c:0022 p:0035 s:0150 e:000149 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65
c:0021 p:0441 s:0142 e:000141 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:182
c:0020 p:0068 s:0120 e:000119 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:59
c:0019 p:0034 s:0114 e:000113 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:337
c:0018 p:0141 s:0104 e:000103 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:43
c:0017 p:0020 s:0095 e:000091 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/cached_environment.rb:44
c:0016 p:0034 s:0087 e:000086 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/base.rb:81
c:0015 p:0023 s:0079 e:000078 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/base.rb:88
c:0014 p:0009 s:0068 e:000067 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/manifest.rb:125
c:0013 p:0020 s:0065 e:000064 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24
c:0012 p:0003 s:0058 e:000057 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_obje [FINISH]
c:0011 p:---- s:0055 e:000054 CFUNC :synchronize
c:0010 p:0016 s:0051 e:000050 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_obje
c:0009 p:0004 s:0047 e:000046 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:19
c:0008 p:0023 s:0042 e:000041 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/promise.rb:563
c:0007 p:0008 s:0036 e:000035 METHOD /opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.
c:0006 p:0047 s:0028 e:000027 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor. [FINISH]
c:0005 p:---- s:0022 e:000021 CFUNC :loop
c:0004 p:0005 s:0018 e:000017 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor. [FINISH]
c:0003 p:---- s:0015 e:000014 CFUNC :catch
c:0002 p:0020 s:0010 e:000009 BLOCK /opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor. [FINISH]
c:0001 p:---- s:0003 e:000002 (none) [FINISH]
-- Ruby level backtrace information ----------------------------------------
/opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `block in create_worker'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `catch'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `block (2 levels) in create_worker'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `loop'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:352:in `block (3 levels) in create_worker'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:363:in `run_task'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/promise.rb:563:in `block in realize'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:19:in `execute'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:41:in `block in synchronize'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in `block in execute'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/manifest.rb:125:in `block (2 levels) in find'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/base.rb:88:in `find_all_linked_assets'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/base.rb:81:in `find_asset'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/cached_environment.rb:44:in `load'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:43:in `load'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:337:in `fetch_asset_from_dependency_cache'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:59:in `block in load'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:182:in `load_from_unloaded'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `call_processors'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `reverse_each'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:84:in `call_processor'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/bundle.rb:31:in `call'
/opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/set.rb:328:in `each'
/opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/set.rb:328:in `each_key'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/bundle.rb:32:in `block in call'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/cached_environment.rb:44:in `load'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:43:in `load'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:337:in `fetch_asset_from_dependency_cache'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:59:in `block in load'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:182:in `load_from_unloaded'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `call_processors'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `reverse_each'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:84:in `call_processor'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/bundle.rb:27:in `call'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/cached_environment.rb:44:in `load'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:43:in `load'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:337:in `fetch_asset_from_dependency_cache'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:59:in `block in load'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:182:in `load_from_unloaded'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `call_processors'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `reverse_each'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:84:in `call_processor'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:33:in `call'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:22:in `block in <class:CompositeProcessor>'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `call_processors'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `reverse_each'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:84:in `call_processor'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sassc-rails-2.1.2/lib/sassc/rails/template.rb:39:in `call'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sprockets-4.0.2/lib/sprockets/utils.rb:138:in `module_include'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sassc-rails-2.1.2/lib/sassc/rails/template.rb:40:in `block in call'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sassc-2.4.0/lib/sassc/engine.rb:25:in `render'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sassc-2.4.0/lib/sassc/native/native_context_api.rb:18:in `make_data_context'
/opt/homebrew/lib/ruby/gems/2.7.0/gems/sassc-2.4.0/lib/sassc/native/native_context_api.rb:18:in `_make_data_context'
-- Other runtime information -----------------------------------------------
* Loaded script: bin/rails
* Loaded features:
0 enumerator.so
1 thread.rb
2 rational.so
3 complex.so
4 ruby2_keywords.rb
5 /opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/arm64-darwin20/enc/encdb.bundle
6 /opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/arm64-darwin20/enc/trans/transdb.bundle
7 /opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/arm64-darwin20/rbconfig.rb
8 /opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/rubygems/compatibility.rb
9 /opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/rubygems/defaults.rb
10 /opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/rubygems/deprecate.rb
11 /opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/rubygems/errors.rb
12 /opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/rubygems/version.rb
13 /opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/rubygems/requirement.rb
14 /opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/rubygems/platform.rb
15 /opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/rubygems/basic_specification.rb
16 /opt/homebrew/Cellar/ruby/2.7.2/lib/ruby/2.7.0/rubygems/stub_specification.rb
(...)
There's ton more stuff than that in the dump, this is just the beginning and hopefully relevant part
Might be related to this ffi issue https://github.com/ffi/ffi/issues/800
Any idea how to overcome this issue?
The issue linked above seems to have been solved, likely solving this one.
Don't we need to update fyi dependency to latest version?
I have the same problem on Mac M1
Is there any update on this?
https://github.com/ffi/ffi/issues/800
This works for me https://github.com/ffi/ffi/issues/800#issuecomment-1025309396