rails のサーバー立ち上げようとしたらセグフォした件
Railsでセグフォした
rails s ができません。mysql2-0.5.1/lib/mysql2/client.rb:90: [BUG] Segmentationエラー
いやいや、RailsでSegmentation Fault
ってそんなわけないでしょ??????????
お。??まじやんwwwwwwwwwwwそんなことある????wwwwwwwって感じでした
以下質問文引用
開発中に突然warning: already initialized constant FileUtils::RUBYエラーが出てしまい、ruby、railsを再インストールしました。 そうしたところSegmentation fault at 0x00000000000000と出てしまっています。 どうもmysqlとの紐付けがうまく行ってないのかと思いますが、原因不明です。 rails sをしてもサーバーを起動させることができないでいます。 どなたかご助言をいただけますと幸いです。
ふむふむ。よくわからんがエラー前に何かしたんじゃないの????という感じですねw
ただ話を聞いていると特に何もしていないっぽかったのでよくわからんという感じです。w
...エラー文
vendor/bundle/ruby/2.4.0/gems/mysql2-0.5.1/lib/mysql2/client.rb:90: [BUG] Segmentation fault at 0x00000000000000 ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16] -- Crash Report log information -------------------------------------------- See Crash Report log file under the one of following: * ~/Library/Logs/DiagnosticReports * /Library/Logs/DiagnosticReports for more details. Don't forget to include the above Crash Report log file in bug reports. -- Control frame information ----------------------------------------------- c:0043 p:---- s:0315 e:000314 CFUNC :connect c:0042 p:0688 s:0303 e:000302 METHOD /Users/___/Desktop/lance_note/vendor/bundle/ruby/2.4.0/gems/mysql2-0.5.1/lib/mysql2/client.rb:90 [FINISH] c:0041 p:---- s:0289 e:000288 CFUNC :new
ほぉ?なんかgems
の下のmysql2の中のファイルで死んでるっぽいですね?。
とはいえ直前まで動いてたらしいし動くでしょ、普通w
たまたま該当の質問者と知り合いだったので連絡をしつつ解決した経緯について触れたいと思います。
なんとなく現状のMysqlやRailsの疎通を確認したかったので
$ rails s $ rails c $ rials db:console $ rails db:migrate:status
などのRailsコマンドを叩いてもらうと rails c
だけがうまく通るみたいです。
Rails本体はうまく動いてるっぽいですね。RailsとDBを繋げようとすると◯ぬ。
$ mysql -u root; $ show databases; $ use sample_db; $ show tables;
のようなMysql自体へのアクセスやSelectクエリなどは問題なく動くみたいです。
RailsとMysql繋げようとするとセグフォする?????????!w
この時mysql2のgemのバージョンの問題かと思って
0.5.1 0.5.2
などに変えたりしてもエラーが発生してました。
などを試してみたりしてもらっても変わらん。 なるほどよくわかrん
結論
...mysql2のGemのVersionもう一個下げてみますか?と思い。
0.4.10
に下げてみてもらったところ、解決されたようです。
うーん謎いですね。特にISSUEなどになってるわけでもないので特定の環境下にて再現されるものなのかもしれません。 ただ、 rails puma segmentation fault ってググってもあんまりヒットしなかったのでとりあえず書いてみました。
何かわかる人いたら教えてください。