【エラー解消メモ】[BUG] Segmentation fault
エラー
ローカルではRSpecが通るのに、CircleCI上で落ちてしまう。
環境
Rails 6.0.3
Dockerのimageは以下のとおり
jobs: build: docker: - image: circleci/ruby:2.7.2-node-browsers-legacy
エラー内容
今まで遭遇したことのないSegmentation fault
エラー文をダウンロードして見てみる。
..*..................../home/circleci/repo/vendor/bundle/ruby/2.7.0/gems/sassc-2.4.0/lib/sassc/engine.rb:43: [BUG] Segmentation fault at 0x0000000000000000 ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
sassc
が問題のよう。
公式のissue
を見てみると、同じエラーの人がいて、解決方法も載っていました。
segfault on 2.3.0 · Issue #197 · sass/sassc-ruby · GitHub
Same here
at sassc-2.3.0/lib/sassc/engine.rb:43: [BUG] Segmentation fault at 0x0000000000000000 ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
解決方法
以下を追加
Rails.application.config.assets.configure do |env| env.export_concurrent = false end
やっと通った
原因
sprocketsとwebpackerのコンパイルが並行して行われているため、問題が起こる…らしいので、先の解決方法のコードで並行処理をしないように設定する。
正直、よくわからない