LoginSignup
0
0

More than 5 years have passed since last update.

Mac OSのApacheでRedmineいれようとしたら[~~~~ fork() was called.]とかいって怒られたときの対処法

Last updated at Posted at 2019-04-16

大目標

MacOS High Sierraで社内Redmineを立てる

今回のミニマム目標

Apacheのエラーログに出てきた下記エラーコードの解決

objc[1195]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called.

解決方法

/System/Library/LaunchDaemons/org.apache.httpd.plist に、
下記の変数を追加

<key>EnvironmentVariables</key>
<dict>
  <key>OBJC_DISABLE_INITIALIZE_FORK_SAFETY</key>
  <string>YES</string>
</dict>

自分のorg.apache.httpd.plistファイルにはすでに<key>EnvironmentVariables</key>が用意されていたので、内に追加するだけでした。

そのあとは、

sudo apachectl restart

してあげれば、OKです。

経緯

may have been in progress in another thread when fork() was called.をそのままググると
https://qiita.com/ybiquitous/items/b43ffd2389e66a3a1c32
にヒットしました。これ、どこに貼るんだろう?

変数?環境変数かな? ~/.bash_profileかな??
解決されず

うちのHigh Sierra死んでるのかな?と諦めかけたときに
https://github.com/phusion/passenger/issues/1986
この記事をよくよく読み込むと

Set the OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES env var to the apache launchd plist (requires disabling SIP)

なるほど、to the apache launchd plistね。

書き方がわからなかったので、さらに
https://github.com/apache/whimsy/blob/master/MACOSX.md
をチェック。なるほど、こう書くのか。

思い当たる
/System/Library/LaunchDaemons/org.apache.httpd.plist に追記して解決!!

という流れでした。めでたしめでたし。。

おまけ

High Sierra以降で起こるバグのようです。
Mojaveでは解決されているのかな?

10年前にリリースされた化石のようなMacを社内サーバー化したので、真偽は知れず。(Mojaveにアップグレードできない)

0
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
0
0