質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

2940閲覧

unicornが立ち上がらず。。。

退会済みユーザー

退会済みユーザー

総合スコア0

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

2クリップ

投稿2018/01/31 05:02

ローカル環境にてunicornを起動すると、以下のような警告文と共にサーバーが立ち上がりません。。。

objc[37898]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called. objc[37898]: +[__NSPlaceholderDictionary 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. E, [2018-01-31T13:54:27.733432 #37897] ERROR -- : reaped #<Process::Status: pid 37899 SIGABRT (signal 6)> worker=0 I, [2018-01-31T13:54:27.733702 #37897] INFO -- : worker=0 spawning... I, [2018-01-31T13:54:27.736879 #37900] INFO -- : worker=0 spawned pid=37900 I, [2018-01-31T13:54:27.737760 #37900] INFO -- : Refreshing Gem list ^CI, [2018-01-31T13:54:28.578002 #37897] INFO -- : reaped #<Process::Status: pid 37900 exit 0> worker=0 I, [2018-01-31T13:54:28.578713 #37897] INFO -- : master complete

原因が全くわかりません。。。

どなたか助言いただけますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

下記サイトに対応方法が記述されているようです。
https://stackoverflow.com/questions/46591470/unicorn-with-ruby-2-4-1-causing-weird-crash

下記抜粋です

As a workaround until this is fixed in Ruby (or worked around in Unicorn/Puma), you can add the following environment variable before starting the Ruby process: OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

投稿2018/01/31 07:36

hogeratta

総合スコア63

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/02/06 02:35

アドバイスありがとうございます! 合わせて、レスポンスが遅くなり申し訳ございません。 こちらですが、どちらのファイルに追記したらよろしいでしょうか? 英語の解読ができず。。。申し訳ございません。。
hogeratta

2018/02/06 04:33 編集

こんにちは、 Rubyの実行前に環境変数をセットしておくとのことですので Mac のローカル環境でSHELLを変更していなければ ~/.bash_profile の一番下に下記を記述しておけばログイン時に環境変数がセットされるので動くと思います。 export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
hogeratta

2018/02/06 04:36

なお、追記してすぐに確認したいのでしたら Terminalで source ~/.bash_profile を実行すれば設定が適応されるので rails の実行が出来ると思います。
退会済みユーザー

退会済みユーザー

2018/02/06 04:36

ご丁寧にありがとうございます! しかしながら、 $vi ~/.bash_profile  上記を追記 $source ~/.bash_profil  再起動 上記のように行ってみましたが、改善されずでした。。。 これは私が問題でしょうか?
hogeratta

2018/02/06 04:42 編集

echo $OBJC_DISABLE_INITIALIZE_FORK_SAFETY を実行すると YES と表示されますか? また、OSは macOS High sierra ですよね? XCode、CommandLineTools のバージョンは最新ですか? Ruby、 Railsのバージョンはいくつですか?
退会済みユーザー

退会済みユーザー

2018/02/06 05:01

Yesが出ないですね・・・ バージョンは以下になります。 ・OS macOS High sierra ・xcode Version 9.1 (9B55) ・ruby 2.3.0 ・rails 4.2 でございます
hogeratta

2018/02/06 05:09 編集

YESが表示されていないのでしたら環境変数がセットされていないようですね。 SHELL は bash ですか? 別の SHELL にしていたら .xxxx_profile は別のファイル名になります。 Terminalから直接 $ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES を実行して、 $ echo $OBJC_DISABLE_INITIALIZE_FORK_SAFETY YES と表示されてから同じTerminalで unicorn を起動するとどうでしょうか?
退会済みユーザー

退会済みユーザー

2018/02/06 06:39

丁寧にありがとうございます! ちなみにshellですが sh-3.2# でした
hogeratta

2018/02/06 07:40

うまく実行出来たのでしょうか? そのプロンプトだと zsh っぽいですね(rootで実行してるようですが・・) echo $SHELL を実行して /usr/local/bin/zsh とか表示されたら ~/.zshrc か ~/.zsh_profile に export 文を追記すれば動くと思います。
退会済みユーザー

退会済みユーザー

2018/02/06 07:54

なんども申し訳ございません。。。 $ echo $SHELL => /bin/bash $ echo $OBJC_DISABLE_INITIALIZE_FORK_SAFETY => bashのファイルに記入しないといけない様ですかね・・
hogeratta

2018/02/09 07:25

時間が空いてしまってすいません。 前にも書きましたが Terminal から直接下記を実行しても unicorn は起動しないのでしょうか? cd railsのプロジェクトディレクトリ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES bundle exec rails s ↑bundler を使用しているなら
guest

0

ベストアンサー

mac osのバージョンを更新したら直りました!

unicornとOSのバージョン依存などがあるのでしょうか...?

少しまた調べたいと思います。

投稿2018/03/28 01:01

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問