2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Rails】carrierwaveで画像アップロードするとクラッシュした

Posted at

環境

MacOS
Rails 6.1.3
carrierwave
rmagic

Problem

いつものように画像をアップロードして登録しようとするとおびただしい数のエラーが表示されてrails serverが落ちました。railsでクラッシュしたのは初めてです。

...
/Users/xxx/Projects/xxx/vendor/bundle/ruby/3.0.0/gems/carrierwave-2.2.1/lib/carrierwave/processing/rmagick.rb:352: [BUG] Segmentation fault at 0x000000000000332e
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin19]

-- 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 -----------------------------------------------
...
[IMPORTANT]
Don't forget to include the Crash Report log file under
DiagnosticReports directory in bug reports.

rmagickでエラーが出てるので画像をリサイズする工程でうまく行ってないみたいです。

Solve

原因には心当たりがありました。
最近「brew upgrade」を実行した際に「imagemagick@6」がアップデートされたのです。
rmagickとimagemagickは関係しています。
恐らくimagemagickのアップデートの影響だと思われます。試行錯誤した結果以下で落ち着きました。

# 6系を削除して7系を入れます
brew uninstall imagemagick@6
brew install imagemagick

# 一応gemも総入れ替えしました
rm Gemfile.lock
rm -rf vendor/bundle/
bundle install

6系じゃないと動かない的な記事を見ましたが、今や7系でもちゃんと動くみたいです。
これで今まで通り画像をアップロードしてリサイズする事ができるようになりました。
バージョンアップで今回のようなことが起きないようにバージョンを固定したほうが良いかもしれないですね。

# アップデートされないようにフリーズしておきます
brew pin imagemagick

Summary

かなりハマったのでどなたかの助けになれたなら幸いです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?