sass / sassc-rails

Integrate SassC-Ruby with Rails!
MIT License
707 stars 104 forks source link

Upgrade sassc to avoid SIGABRT (code 134) in rake task #171

Open eprothro opened 2 years ago

eprothro commented 2 years ago

We are getting the following exception in CI during bundler operations. It appears this may be due to an sassc issue. Forcing the sassc version to latest appears to fix the issue for us.

Should sassc-rails issues a new release with updated sassc version so others don't have to run into this?

/home/runner/work/system-manager-web/system-manager-web/vendor/bundle/ruby/2.7.0/gems/ffi-1.12.2/lib/ffi/library.rb:112: [BUG] Illegal instruction at 0x00007f2bc6f3c730
ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0056 p:---- s:0284 e:000283 CFUNC  :open
c:0055 p:0025 s:0278 e:000277 BLOCK  /home/runner/work/system-manager-web/system-manager-web/vendor/bundle/ruby/2.7.0/gems/ffi-1.12.2/lib/ffi/library.rb:112 [FINISH]
c:0054 p:---- s:0269 e:000268 CFUNC  :each
c:0053 p:0126 s:0265 e:000264 BLOCK  /home/runner/work/system-manager-web/system-manager-web/vendor/bundle/ruby/2.7.0/gems/ffi-1.12.2/lib/ffi/library.rb:109 [FINISH]
c:0052 p:---- s:0258 e:000257 CFUNC  :map
c:0051 p:0078 s:0254 e:000253 METHOD /home/runner/work/system-manager-web/system-manager-web/vendor/bundle/ruby/2.7.0/gems/ffi-1.12.2/lib/ffi/library.rb:99
c:0050 p:0082 s:0247 e:000246 CLASS  /home/runner/work/system-manager-web/system-manager-web/vendor/bundle/ruby/2.7.0/gems/sassc-2.2.1/lib/sassc/native.rb:11
c:0049 p:0007 s:0243 e:000242 CLASS  /home/runner/work/system-manager-web/system-manager-web/vendor/bundle/ruby/2.7.0/gems/sassc-2.2.1/lib/sassc/native.rb:6
c:0048 p:00[13](https://github.com/eprothro/system-manager-web/runs/5518118847?check_suite_focus=true#step:6:13) s:0240 e:000239 TOP    /home/runner/work/system-manager-web/system-manager-web/vendor/bundle/ruby/2.7.0/gems/sassc-2.2.1/lib/sassc/native.rb:5 [FINISH]
c:0047 p:---- s:0237 e:000236 CFUNC  :require_relative
c:0046 p:0019 s:0232 e:000231 TOP    /home/runner/work/system-manager-web/system-manager-web/vendor/bundle/ruby/2.7.0/gems/sassc-2.2.1/lib/sassc.rb:31 [FINISH]
c:0045 p:---- s:0229 e:000228 CFUNC  :require
c:0044 p:0007 s:0224 e:000223 BLOCK  /home/runner/work/system-manager-web/system-manager-web/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.6/lib/active_support/de
c:0043 p:0068 s:0221 e:000220 METHOD /home/runner/work/system-manager-web/system-manager-web/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.6/lib/active_support/de
c:0042 p:0010 s:02[14](https://github.com/eprothro/system-manager-web/runs/5518118847?check_suite_focus=true#step:6:14) e:000213 METHOD /home/runner/work/system-manager-web/system-manager-web/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.6/lib/active_support/de
c:0041 p:0011 s:0208 e:000207 TOP    /home/runner/work/system-manager-web/system-manager-web/vendor/bundle/ruby/2.7.0/gems/sassc-rails-2.1.2/lib/sassc/rails.rb:5 [FINISH]
c:0040 p:---- s:0205 e:000204 CFUNC  :require_relative
c:0039 p:0005 s:0200 e:000199 TOP    /home/runner/work/system-manager-web/system-manager-web/vendor/bundle/ruby/2.7.0/gems/sassc-rails-2.1.2/lib/sassc-rails.rb:3 [FINISH]
c:0038 p:---- s:0197 e:000196 CFUNC  :require
c:0037 p:0032 s:0192 e:000191 BLOCK  /opt/hostedtoolcache/Ruby/2.7.4/x64/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler/runtime.rb:81 [FINISH]
c:0036 p:---- s:0187 e:000186 CFUNC  :each
c:0035 p:0042 s:0183 e:000182 BLOCK  /opt/hostedtoolcache/Ruby/2.7.4/x64/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler/runtime.rb:76 [FINISH]
c:0034 p:---- s:0176 e:000175 CFUNC  :each
c:0033 p:0026 s:0172 e:000171 METHOD /opt/hostedtoolcache/Ruby/2.7.4/x64/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler/runtime.rb:65
c:0032 p:0013 s:0167 e:000166 METHOD /opt/hostedtoolcache/Ruby/2.7.4/x64/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler.rb:114
c:0031 p:0084 s:0162 e:000161 TOP    /home/runner/work/system-manager-web/system-manager-web/config/application.rb:18 [FINISH]
c:0030 p:---- s:0[15](https://github.com/eprothro/system-manager-web/runs/5518118847?check_suite_focus=true#step:6:15)9 e:000158 CFUNC  :require_relative
c:00[29](https://github.com/eprothro/system-manager-web/runs/5518118847?check_suite_focus=true#step:6:29) p:0005 s:0154 e:000153 TOP    /home/runner/work/system-manager-web/system-manager-web/Rakefile:4 [FINISH]

<Truncated for brevity>
eprothro commented 2 years ago

FYI forcing sassc to an updated version solved this problem.

gem "sassc",                        "~> 2.4"
johnnyshields commented 1 year ago

FYI I'm maintaining dartsass-sprockets which is a fork of this gem. You can try it and see if your issue is resolved; it uses a different engine (Dart Sass) under-the-hood, so these FFI issues should go away.

creiterer04 commented 11 months ago

FYI I'm maintaining dartsass-sprockets which is a fork of this gem. You can try it and see if your issue is resolved; it uses a different engine (Dart Sass) under-the-hood, so these FFI issues should go away.

your dartsass-sprockets doesn't compile with bootstrap 5.3 and Rails 7.1, so I wouldn't recommend it.

johnnyshields commented 11 months ago

@creiterer04 You can raise a ticket to dartsass-sprockets with details and I'll take a look. The compile errors should be trivial, and may in fact be due to Bootstrap's SASS using syntax which is not compliant with the latest Dart SASS. Myself and others are using dartsass successfully with Bootstrap today.

SassC is dead--the SASS maintainers are no longer supporting it. I put dartsass-sprockets out there to help folks, but if it doesn't work for you, to each his/her own.