Nattoを読み込むとrails&unicorn環境だとAPIコントローラでSegmentation faultする

最近起きた現象

Ruby: 2.3.0

 

RailsをUnicornとNginxで動かしていたWebアプリに形態素解析を導入したくて、Nattoを使ってOkapiBM25のgem作っていた。

ところが、それをインストールしたらSegmentation faultが起きた。

bm25ライブラリの中でrequire ‘natto’としているのがダメみたい。

試しにこれを削除するとエラーは起きず

 

ちなみに現象はAPI用のコントローラーでのみ起きる。

ethon-0.11.0/lib/ethon/curls/ここでエラー。

Railsサーバーでは起きない。

APIでのみ。

タスクでrequireしても問題ない。

gemが悪いのかと思いnattoの中身をrequireできる空のファイルに書き換えたがそれでも起こった。

 

とりあえず、gem ‘bm25’, require: false

で自動実行しないようにして対策。

結局原因はわかってないのであとで調査しないとね。