2012-03-12 43 views
2

我一直在很難得到rails 3.2與mysql2一起工作。
我正在運行OSX 10.6,MySQL 5.1.37在MySQL2/Ruby 1.9.3/Rails 3.2上的分割錯誤

我收到了這個可愛的堆棧跟蹤。

HunterMBP:v hunter$ bundle exec rake db:create 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle: [BUG] Segmentation fault 
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin10.8.0] 

-- Control frame information ----------------------------------------------- 
c:0033 p:-543968548 s:0099 b:0099 l:000098 d:000098 TOP 
c:0032 p:---- s:0097 b:0097 l:000096 d:000096 CFUNC :require 
c:0031 p:0107 s:0093 b:0093 l:000092 d:000092 TOP /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/mysql2-0.3.2/lib/mysql2.rb:8 
c:0030 p:---- s:0091 b:0091 l:000090 d:000090 FINISH 
c:0029 p:---- s:0089 b:0089 l:000088 d:000088 CFUNC :require 
c:0028 p:0026 s:0085 b:0085 l:000065 d:000084 BLOCK /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:68 
c:0027 p:---- s:0082 b:0082 l:000081 d:000081 FINISH 
c:0026 p:---- s:0080 b:0080 l:000079 d:000079 CFUNC :each 
c:0025 p:0091 s:0077 b:0077 l:000065 d:000076 BLOCK /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:66 
c:0024 p:---- s:0071 b:0071 l:000070 d:000070 FINISH 
c:0023 p:---- s:0069 b:0069 l:000068 d:000068 CFUNC :each 
c:0022 p:0046 s:0066 b:0066 l:000065 d:000065 METHOD /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:55 
c:0021 p:0021 s:0062 b:0062 l:000061 d:000061 METHOD /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler.rb:118 
c:0020 p:0137 s:0058 b:0058 l:000057 d:000057 TOP /Users/hunter/Workspace/Projects/Visionare/config/application.rb:13 
c:0019 p:---- s:0056 b:0056 l:000055 d:000055 FINISH 
c:0018 p:---- s:0054 b:0054 l:000053 d:000053 CFUNC :require 
c:0017 p:0026 s:0050 b:0050 l:000049 d:000049 TOP /Users/hunter/Workspace/Projects/Visionare/Rakefile:5 
c:0016 p:---- s:0048 b:0048 l:000047 d:000047 FINISH 
c:0015 p:---- s:0046 b:0046 l:000045 d:000045 CFUNC :load 
c:0014 p:0013 s:0042 b:0042 l:000041 d:000041 METHOD /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25 
c:0013 p:0274 s:0038 b:0038 l:000037 d:000037 METHOD /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:501 
c:0012 p:0009 s:0033 b:0033 l:000026 d:000032 BLOCK /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:82 
c:0011 p:0009 s:0031 b:0031 l:000030 d:000030 METHOD /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:133 
c:0010 p:0011 s:0027 b:0027 l:000026 d:000026 METHOD /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:81 
c:0009 p:0019 s:0024 b:0024 l:000017 d:000023 BLOCK /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:65 
c:0008 p:0009 s:0022 b:0022 l:000021 d:000021 METHOD /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:133 
c:0007 p:0011 s:0018 b:0018 l:000017 d:000017 METHOD /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:63 
c:0006 p:0060 s:0015 b:0015 l:000014 d:000014 TOP /Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/bin/rake:33 
c:0005 p:---- s:0013 b:0013 l:000012 d:000012 FINISH 
c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC :load 
c:0003 p:0127 s:0007 b:0007 l:002398 d:001e70 EVAL /Users/hunter/.rvm/gems/ruby-1.9.3-p125/bin/rake:19 
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH 
c:0001 p:0000 s:0002 b:0002 l:002398 d:002398 TOP 

-- Ruby level backtrace information ---------------------------------------- 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/bin/rake:19:in `<main>' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/bin/rake:19:in `load' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:65:in `block in run' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:81:in `load_rakefile' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:82:in `block in load_rakefile' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:501:in `raw_load_rakefile' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load_rakefile' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load' 
/Users/hunter/Workspace/Projects/Visionare/Rakefile:5:in `<top (required)>' 
/Users/hunter/Workspace/Projects/Visionare/Rakefile:5:in `require' 
/Users/hunter/Workspace/Projects/Visionare/config/application.rb:13:in `<top (required)>' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler.rb:118:in `require' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:55:in `require' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:55:in `each' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:66:in `block in require' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:66:in `each' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:68:in `block (2 levels) in require' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:68:in `require' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/mysql2-0.3.2/lib/mysql2.rb:8:in `<top (required)>' 
/Users/hunter/.rvm/gems/ruby-1.9.3-p125/gems/mysql2-0.3.2/lib/mysql2.rb:8:in `require' 

的Gemfile看起來是這樣的:

source 'https://rubygems.org' 
gem 'rails', '3.2.2' 
#gem 'json' 
gem "mysql2" 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
end 
gem 'jquery-rails' 
gem "rspec-rails", ">= 2.8.1", :group => [:development, :test] 
gem "factory_girl_rails", ">= 1.7.0", :group => :test 
gem "email_spec", ">= 1.2.1", :group => :test 
gem "cucumber-rails", ">= 1.3.0", :group => :test 
gem "capybara", ">= 1.1.2", :group => :test 
gem "database_cleaner", ">= 0.7.1", :group => :test 
gem "launchy", ">= 2.0.5", :group => :test 
gem "devise", ">= 2.0.4" 

我有軌3.2和紅寶石1.9.3

捆綁安裝成功生成此列表。

Using rake (0.9.2.2) 
Using i18n (0.6.0) 
Using multi_json (1.1.0) 
Using activesupport (3.2.2) 
Using builder (3.0.0) 
Using activemodel (3.2.2) 
Using erubis (2.7.0) 
Using journey (1.0.3) 
Using rack (1.4.1) 
Using rack-cache (1.2) 
Using rack-test (0.6.1) 
Using hike (1.2.1) 
Using tilt (1.3.3) 
Using sprockets (2.1.2) 
Using actionpack (3.2.2) 
Using mime-types (1.17.2) 
Using polyglot (0.3.3) 
Using treetop (1.4.10) 
Using mail (2.4.3) 
Using actionmailer (3.2.2) 
Using arel (3.0.2) 
Using tzinfo (0.3.32) 
Using activerecord (3.2.2) 
Using activeresource (3.2.2) 
Using addressable (2.2.7) 
Using bcrypt-ruby (3.0.1) 
Using nokogiri (1.5.2) 
Using ffi (1.0.11) 
Using childprocess (0.3.1) 
Using rubyzip (0.9.6.1) 
Using selenium-webdriver (2.20.0) 
Using xpath (0.1.4) 
Using capybara (1.1.2) 
Using coffee-script-source (1.2.0) 
Using execjs (1.3.0) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.2) 
Using json (1.6.5) 
Using rdoc (3.12) 
Using thor (0.14.6) 
Using railties (3.2.2) 
Using coffee-rails (3.2.2) 
Using diff-lcs (1.1.3) 
Using gherkin (2.9.0) 
Using term-ansicolor (1.0.7) 
Using cucumber (1.1.9) 
Using cucumber-rails (1.3.0) 
Using database_cleaner (0.7.1) 
Using orm_adapter (0.0.6) 
Using warden (1.1.1) 
Using devise (2.0.4) 
Using rspec-core (2.8.0) 
Using rspec-expectations (2.8.0) 
Using rspec-mocks (2.8.0) 
Using rspec (2.8.0) 
Using email_spec (1.2.1) 
Using factory_girl (2.6.3) 
Using factory_girl_rails (1.7.0) 
Using jquery-rails (2.0.1) 
Using launchy (2.0.5) 
Using mysql2 (0.3.2) 
Using bundler (1.1.0) 
Using rails (3.2.2) 
Using rspec-rails (2.8.1) 
Using sass (3.1.15) 
Using sass-rails (3.2.4) 
Using uglifier (1.2.3) 
+1

你有哪個XCode版本? > 4.1?你如何安裝mysql? – nolith 2012-03-12 13:33:22

+0

我不確定,這是在我的家用筆記本電腦上,我現在正在工作。我可以告訴你,一個用ruby 1.8.7和mysql2 gem工作良好的rails 3.1項目。另外我讀到,mysql2的活動記錄支持被帶入本地庫?這是如何影響mysql2 gem的使用的? – motoprog 2012-03-12 13:45:05

+0

我還沒有用雪豹測試過它,但在Lion上有很多gem問題(尤其是數據庫驅動程序)。這是由於XCode> 4.1引入了新的C編譯器。如果你用'homebrew'安裝了mysql服務器,你可以嘗試使用[這些指令](http://abisso.org/2012/03/failed-to-allocate-memory/)。 – nolith 2012-03-12 13:52:10

回答

0

我有很多Ruby 1.9.3p125的段錯誤錯誤,你有沒有試過用Ruby 1.9.3p0來運行?在遇到這類問題之後,我回到了它。如果p0有效,那麼在紅寶石跟蹤器上提出問題單。

1

嘗試

rvm reset 

我有類似的bug

+0

根據文檔,這將重置默認rvm。這有什麼幫助? https://rvm.io//rubies/default/ – 2012-06-26 20:52:51

0

開始紅寶石之前執行以下命令:

export RUBYOPT="-r openssl" 
1

我已經遇到了此問題以及和我的搜索長大這個線程。

在我特殊的情況下,我得到了分段錯誤,但只有當更新語句發佈到數據庫時。

注意到迄今竟然證明它正在修復它,並很好地成爲一個IT人我只讀過手冊一旦我和谷歌不能拿出一個答案。

使用mysql-2.8.1-86-mingw32的文件提到了以下

警告有關不兼容版本的MySQL

混合版本的MySQL會產生段故障。

針對不同版本的 運行此gem的二進制版本MySQL共享庫libMySQL.dll將生成分段錯誤 並終止您的應用程序。

使面色更深入,我發現「二進制版本內置的MySQL對5.0.83」 但是我運行5.1.37 -_-所以我甲醚將不得不尋找一個更新的API或降級我的MySQL數據庫服務器看看是否能解決問題。

我還沒有解決這個問題,但這可能對您沒有用處,但由於我沒有在其他文章中看到這個提及,我以爲我應該分享我的「啓示錄」。

更新: 嗯好吧,我決定更新MySQL的API,他們已經做了一些關鍵的改變,現在至少它在啓動時拋出一個錯誤,如果它不兼容。 「 」不正確的MySQL客戶端庫版本!此gem編譯爲6.0.0,但客戶端庫爲5.1.37。(RuntimeError)「 6.0.0讓我不知道,但確定在mysql網站上,但嘿沒有提及6.0.0在mysql網站上

確定我的開發環境有點過時,但哪裏會我得到的客戶端版本,最後一個問題6 NVM:http://dev.mysql.com/downloads/connector/c/

Anonther更新: 好看起來thaty fixt它至少對我來說 確保您連接器/ C的版本匹配什麼mysql的API是建立? 。 我安裝了6.0.0,沒有更多的分割錯誤。 它沒有意義,你仍然可以得到6.0.0,因爲當前是6.0.2,但是這裏是鏈接http://mirror.services.wisc.edu/mysql/Downloads/Connector-C/ 或者你安裝裝配連接器的匹配版本(不必須符合您DBSERVER優化版本)

3
rvm reset 

,然後運行

bundle install 

幫我解決這個問題:)

0

上面的錯誤主要是由於ruby和rails的升級。當我將ruby版本升級到2.0和rails版本到4.0時,我遇到了這個問題。使用舊版本的項目面臨這種類型的問題,因爲這些寶石是由舊版本的ruby編譯的。它首先顯示了mysql2的錯誤,並繼續爲其他寶石繼續。解決方法是卸載導致錯誤的寶石並將其安裝回去。順便說一下,gem的編譯版本中的不匹配得到糾正,現在它會起作用。

您需要重複導致問題的所有gem進程,直到您能夠運行服務器。

0

我有這個問題,並修復它rbenv rehash