0

最新のrvm、最新のrubyを使用していて、データベースを処理するさまざまな処理を実行すると、mysql2とsqlite3の両方でランダムなセグメンテーション違反が発生します。

#Ruby Version
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.0.0]

#Ruby Location
$ which ruby
/Users/mikedevita/.rvm/rubies/ruby-1.9.3-p194/bin/ruby

#RVM Version
-> rvm -v
rvm 1.15.8 (master) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

gemsetを削除して再インストールしようとしましたが、これと同様のエラーが発生します(これが最後です)。

➜ rails g devise:install
/Users/mikedevita/.rvm/gems/ruby-1.9.3-p194@callcenter/gems/sqlite3-1.3.6/lib/sqlite3/sqlite3_native.bundle: [BUG] Segmentation fault
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

ちょうど気づいたのですが、正しいrvmの場所から実行されていますが、その下にruby 1.8.7と表示されていますか?

私はzshとoh-my-zshを使用しています。したがって、ここに私のPATH設定に関連する私の.zshrcの一部があります。

# Customize to your needs...
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/sbin

# Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
# Load RVM function
PATH=$PATH:$HOME/.rvm/bin

#MySQL
PATH=$PATH:"/usr/local/Cellar/mysql/5.5.25a/bin"

アップデート1

sqlite3https://gist.github.com/5717423dbc37286761e1でより大きなセグメンテーション違反メッセージが表示されるようになりまし

4

1 に答える 1

2

2つの可能性があります:

  1. あなたはルビーを使用しませんでした:

    rvm use 1.9.3@callcenter
    
  2. clangを使用してrubyをビルドします-これは[BUG] Segmentation faultエラーを生成することが知られています。

gnuのgcc-4.2を使用してrubyを再コンパイルします(rvm requirements手順を読んでください)。

rvm reinstall 1.9.3
rvm 1.9.3@gloabal,1.9.3,1.9.3@callcenter do rvm gemset pristine
于 2012-08-29T19:57:21.027 に答える