Ruby не работает с ошибкой при использовании nokogiri - PullRequest
1 голос
/ 30 августа 2011

Я пытаюсь настроить другого разработчика в своем приложении и столкнулся с проблемой Ruby, которая кажется очень низкого уровня.Приложение отлично работает на моем компьютере, но не на других разработчиках.

Nokogiri используется Sunspot для индексации поиска.

Ruby был установлен RVM (как для меня, так и для другого разработчика).).Мы пробовали разные патчи Ruby 1.9.2 и разные версии nokogiri.

Я подозреваю, что проблемы со сборкой Ruby.Может ли эта проблема быть связана с окружающей средой?Как вы решаете проблемы, подобные этой?

При запуске "rake sunspot: solr: start" nokogiri не работает в Ruby со следующими ошибками:


** EDIT **

Мы остановились на nokogiri 1.4.7 (чтобы учесть некоторые исправления ошибок) и получили сообщение об ошибке «нарушение многопоточности в rb_gc ()» ниже.Мы получаем эту ошибку при простой загрузке сервера с помощью "rails s".Я оставлю след с нокогири 1.4.4 только для того, чтобы помочь в расследовании.


Это в Нокогири 1.4.4:

Users/fredyates/.rvm/gems/ruby-1.9.2-p290/gems/nokogiri-1.4.4/lib/nokogiri/nokogiri.bundle: [BUG] Segmentation fault
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.0]

-- control frame ----------
c:0034 p:-542802226 s:0105 b:0105 l:000104 d:000104 TOP   
c:0033 p:---- s:0103 b:0103 l:000102 d:000102 CFUNC  :require
c:0032 p:0186 s:0099 b:0099 l:000098 d:000098 TOP    /Users/fredyates/.rvm/gems/ruby-1.9.2-p290/gems/nokogiri-1.4.4/lib/nokogiri.rb:13
c:0031 p:---- s:0097 b:0097 l:000096 d:000096 FINISH
c:0030 p:---- s:0095 b:0095 l:000094 d:000094 CFUNC  :require

...

-- C level backtrace information -------------------------------------------

[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

В нокогири 1.4.7:

[BUG] нарушение многопоточности на rb_gc () (null)

zsh: отменить rake sunspot: solr: start

Мне,это похоже на проблемы с Ruby.

nokogiri -v (для меня):

---
warnings: []
nokogiri: 1.4.7
ruby:
  version: 1.9.2
  platform: x86_64-darwin10.7.4
  description: ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.4]
  engine: ruby
libxml:
  binding: extension
  compiled: 2.7.8
  loaded: 2.7.8

nokogiri -v (для другого разработчика)

--- 
warnings: []
nokogiri: 1.4.7
ruby: 
  version: 1.9.2
  platform: x86_64-darwin10.7.0
  description: ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.0]
  engine: ruby
libxml: 
  binding: extension
  compiled: 2.7.8
  loaded: 2.7.8

Ответы [ 2 ]

0 голосов
/ 30 ноября 2011

Это, вероятно, опубликовано в комментарии Алекса о 32-битных и 64-битных, но запуск gem pristine nokogiri решил это для меня.

0 голосов
/ 22 ноября 2011

Я столкнулся с подобной (и досадной) проблемой некоторое время назад. Вы можете попробовать использовать набор гемов rvm, чтобы увидеть, поможет ли это. Насколько я помню, мне нужно было обнулить rvm и переустановить («rvm implode» выполнит сброс).

Это также может быть проблемой 32-битной или 64-битной компиляции. Если это на Snow Leopard или Lion Mac, они могут попробовать добавить ARCH_FLAGS = "- arch x86_64" в свой файл .bash_login или эквивалентный (при условии, что это еще не определено).

...