2015-06-30 6 views
2

Я использую ruby ​​1.9.3 в приложении для рельсов. Я успешно установил ruby ​​с помощью rbenv и gcc 4.2 на OSX Yosemite и смог установить зависимости с помощью bundler.Ошибка сегментации на рубине, установленном с rbenv

При попытке установить базу данных, я получаю следующее сообщение об ошибке:

bundle exec rake db:setup 
foo already exists 
foo_test already exists 
ruby(31773,0x7fff79ac7300) malloc: *** error for object 0x7fe00a8c0dc8: incorrect checksum for freed object - object was probably modified after being freed. 
*** set a breakpoint in malloc_error_break to debug 
[1] 31773 abort  bundle exec rake db:setup 

После первого раза я получаю другое сообщение об ошибке:

$ bundle exec rake db:setup 
-- create_table("foo", {:force=>true}) 
    -> 0.0241s 
... 
-- create_table("bar", {:force=>true}) 
    -> 0.0241s 
/Users/jedi/code/foo/.bundle/ruby/1.9.1/gems/activerecord-3.2.18/lib/active_record/migration.rb:601: [BUG] Segmentation fault 
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-darwin14.3.0] 

-- Control frame information ----------------------------------------------- 
c:0062 p:0012 s:0220 b:0220 l:000219 d:000219 METHOD /Users/jedi/code/foo/.bundle/ruby/1.9.1/gems/activerecord-3.2.18/lib/active_record/migration.rb:601 
c:0061 p:0071 s:0216 b:0214 l:000195 d:000213 BLOCK /Users/jedi/code/foo/.bundle/ruby/1.9.1/gems/activerecord-3.2.18/lib/active_record/migration.rb:461 
c:0060 p:0005 s:0212 b:0212 l:000201 d:000211 BLOCK /Users/jedi/code/foo/.bundle/ruby/1.9.1/gems/activerecord-3.2.18/lib/active_record/migration.rb:438 
... 
-- Ruby level backtrace information ---------------------------------------- 
/Users/jedi/code/foo/.bundle/ruby/1.9.1/bin/rake:23:in `<main>' 
/Users/jedi/code/foo/.bundle/ruby/1.9.1/bin/rake:23:in `load' 
... 
[NOTE] 
You may have encountered a bug in the Ruby interpreter or extension libraries. 
Bug reports are welcome. 
For details: http://www.ruby-lang.org/bugreport.html 

Я пытался обновить до рубинового 2.0.0 и компиляция ruby ​​с использованием clang, но всегда получала то же самое. Есть идеи?

+1

Также попытался установить рубин с rvm. Те же результаты. – juanedi

+0

Вы используете ruby ​​1.9.3p484, можете ли вы попробовать свой код с ruby ​​1.9.3p551? Действительно ли ваш код работает на другой ОС? Например, вы можете установить ubuntu в виртуальную коробку, используя брандмауэр для ее проверки. – jiop

+0

Уже пробовал исправить уровень патча, и это не помогло. Это приложение работает хорошо даже на других компьютерах OSX Yosemite. Благодаря! – juanedi

ответ

1

Это было вызвано неправильной версией zeromq, установленной на компьютере. Мы использовали драгоценный камень, который нацелился на zeromq 3, но имел версию 4.

Я пришел к такому выводу после некоторого бинарного поиска, удаляя и добавляя зависимости из Gemfile. Ухудшение работы zeromq выполнило эту работу.

Для меня это все еще mistery, почему сообщение об ошибке настолько вводит в заблуждение, но проблема решена.

 Смежные вопросы

  • Нет связанных вопросов^_^