OS X 10.13.3 exposes bad fork() issue
まだ誰も着手していません。
評価
調査の方向性
まず、OS X 10.13.3 で require 'vips' の失敗を、OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES を設定した場合と設定しない場合の両方で再現します。fork の失敗が ruby-vips、ffi、libvips のいずれに属するのかを追跡します。担当するコンポーネントを特定し、安全な修正または文書化された回避策を提供できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
After updating to OS X 10.13.3, I received the following error trying to require 'vips':
objc[25602]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called.
objc[25602]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
Some googling took me to this post, which explains that the error comes from “incorrect code that happened to work most of the time in the past.” I have no way of knowing whether the issue is in ruby-vips or ffior libvips itself, and I don't really have the time or knowledge to track it down. Using one of that page's suggested workarounds – setting OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES in the environment – allowed me to load ruby-vips without issue and get on with my work, though I realize I'm just asking OS X to hang later if it encounters a deadlock instead of crashing the process now.
I'm reporting it here so there's both an issue to track and a concise explanation and workaround for anyone else who happens to google this error in a vips context.
- 主要言語
- Ruby
- スター
- 903
- フォーク
- 64
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
libvips/ruby-vips のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
-
bug
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
libvips/ruby-vips の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
rubys/roundhouse#444 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
sclorg/s2i-ruby-container#656 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
request
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
endoflife-date/endoflife.date#11277 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
yegor256/rubocop-elegant#92 ·