46892


現在、macOS High Sierra上でruby 2.4.1p111を入れ、その上でrailsを動かしています。  
その環境でkuromoji-rubyというgemを入れ、`Kuromoji::Core.new.tokenize("")`と打ったところ、

[code]

    objc[16283]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called.
    objc[16283]: +[__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.
    
[/code]

というエラーがでました。

そこで調べたところ、このエラーはgemの問題ではなく、MacOS上のruby特有の汎用的なエラーであること、また解決方法としてはOBJC_DISABLE_INITIALIZE_FORK_SAFETYという環境変数をyesで設定すれば良いと書いてありました。  
そこで試して見ましたが、エラーは改善されませんでした。

どのようにすれば、このエラーを取り除くことが出来るでしょうか？ご回答よろしくお願いします。

また実行時のコマンドの詳細を以下に書かせて頂きます。

[code]

    $echo $OBJC_DISABLE_INITIALIZE_FORK_SAFETY
    yes
    $OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES bin/rails c
    irb(main):001:0> Kuromoji::Core.new.tokenize("")
    objc[16283]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called.
    objc[16283]: +[__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.
    
[/code]


CC BY-SA 4.0
2018-07-24T01:51:35.413
46886
2018-07-24T04:50:03.027
15186
question
ruby macos
__NSPlaceholderDictionary initialize~というエラーが出て、railsがクラッシュする。


すみません、Macを再起動したらエラーが出なくなりました。  
お騒がせしました。


CC BY-SA 4.0
2018-07-24T04:50:03.027
46892
2018-07-24T04:50:03.027
15186
46886
answer