2012-03-17 11 views
12

मैं एक मैक ओएस का उपयोग कर रहा हूं जिसमें हिम तेंदुए 10.6.8 और आरवीएम 1.10.3 चल रहा है, रूबी 1.9.3-पी 125, रेल 3.2.2 और आरएसपीसी-रेल-2.8.1 पर रूबी। मैं ठीक से स्थापित किया है और सभी जवाहरात कॉन्फ़िगर किया गया है, लेकिन जब टर्मिनल विंडो में मैं rake spec आदेश चला मैं निम्नलिखित मिल:"[BUG] सेगमेंटेशन गलती" को कैसे हल करें?

$ rake spec 
/<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/yard-0.7.5/lib/yard/cli/command.rb:10: [BUG] Segmentation fault 
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin10.8.0] 

-- Control frame information ----------------------------------------------- 
c:0045 p:0011 s:0136 b:0136 l:000135 d:000135 CLASS /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/yard-0.7.5/lib/yard/cli/command.rb:10 
c:0044 p:0011 s:0134 b:0134 l:000133 d:000133 CLASS /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/yard-0.7.5/lib/yard/cli/command.rb:4 
c:0043 p:0021 s:0132 b:0132 l:000131 d:000131 TOP /<ABSOLUT_PATH>/.rvm/gems/ruby- 
1.9.3-p125/gems/yard-0.7.5/lib/yard/cli/command.rb:3 
c:0033 p:0220 s:0104 b:0104 l:0020f0 d:0020f0 TOP /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/yard-0.7.5/lib/yard.rb:57 
c:0032 p:---- s:0101 b:0101 l:000100 d:000100 FINISH 
c:0031 p:---- s:0099 b:0099 l:000098 d:000098 CFUNC :require 
c:0030 p:0026 s:0095 b:0095 l:000380 d:000470 BLOCK /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:68 
c:0029 p:---- s:0092 b:0092 l:000091 d:000091 FINISH 
c:0028 p:---- s:0090 b:0090 l:000089 d:000089 CFUNC :each 
c:0027 p:0091 s:0087 b:0087 l:000380 d:000408 BLOCK /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:66 
c:0026 p:---- s:0081 b:0081 l:000080 d:000080 FINISH 
c:0025 p:---- s:0079 b:0079 l:000078 d:000078 CFUNC :each 
c:0024 p:0046 s:0076 b:0076 l:000380 d:000380 METHOD /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:55 
c:0023 p:0021 s:0072 b:0072 l:0004e0 d:0004e0 METHOD /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler.rb:118 
c:0022 p:0089 s:0068 b:0068 l:000548 d:000548 TOP /<ABSOLUT_PATH>/Sites/<APPLICATION_NAME>/config/application.rb:7 
c:0021 p:---- s:0066 b:0066 l:000065 d:000065 FINISH 
c:0020 p:---- s:0064 b:0064 l:000063 d:000063 CFUNC :require 
c:0019 p:0026 s:0060 b:0060 l:0005a8 d:0005a8 TOP /<ABSOLUT_PATH>/Sites/<APPLICATION_NAME>/config/environment.rb:2 
c:0018 p:---- s:0058 b:0058 l:000057 d:000057 FINISH 
c:0017 p:---- s:0056 b:0056 l:000055 d:000055 CFUNC :require 
c:0016 p:0058 s:0052 b:0052 l:000608 d:000608 TOP /<ABSOLUT_PATH>/Sites/<APPLICATION_NAME>/spec/spec_helper.rb:3 
c:0015 p:---- s:0050 b:0050 l:000049 d:000049 FINISH 
c:0014 p:---- s:0048 b:0048 l:000047 d:000047 CFUNC :require 
c:0013 p:0011 s:0044 b:0044 l:000668 d:000668 TOP /<ABSOLUT_PATH>/Sites/<APPLICATION_NAME>/spec/controllers/users_controller_spec.rb:1 
c:0012 p:---- s:0042 b:0042 l:000041 d:000041 FINISH 
c:0011 p:---- s:0040 b:0040 l:000039 d:000039 CFUNC :load 
c:0010 p:0025 s:0036 b:0036 l:0006c8 d:000730 BLOCK /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698 
c:0009 p:---- s:0033 b:0033 l:000032 d:000032 FINISH 
c:0008 p:---- s:0031 b:0031 l:000030 d:000030 CFUNC :map 
c:0007 p:0023 s:0028 b:0028 l:0006c8 d:0006c8 METHOD /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698 
c:0006 p:0074 s:0025 b:0025 l:0007a8 d:0007a8 METHOD /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:22 
c:0005 p:0055 s:0020 b:0020 l:000820 d:000820 METHOD /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80 
c:0004 p:0101 s:0014 b:0014 l:0008a8 d:0008a8 METHOD /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69 
c:0003 p:0021 s:0007 b:0006 l:001788 d:000908 BLOCK /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10 
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH 
c:0001 p:0000 s:0002 b:0002 l:002388 d:002388 TOP 

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

    See Crash Report log file under ~/Library/Logs/CrashReporter or 
    /Library/Logs/CrashReporter, for the more detail of. 

-- Other runtime information ----------------------------------------------- 

* Loaded script: /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/bin/rspec 

* Loaded features: 

    0 enumerator.so 
    1 /<ABSOLUT_PATH>/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/x86_64-darwin10.8.0/enc/encdb.bundle 
    2 /<ABSOLUT_PATH>/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/x86_64-darwin10.8.0/enc/trans/transdb.bundle 
    3 /<ABSOLUT_PATH>/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/defaults.rb 
    ... 

[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 

rake aborted! 
/<ABSOLUT_PATH>/.rvm/rubies/ruby-1.9.3-p125/bin/ruby -S rspec ./spec/controllers/users_controller_spec.rb ... failed 

मैं इस मुद्दे को कैसे हल कर सकते हैं?

नोट: मैं ने कहा कि समस्या होता है कभी कभी, बेतरतीब ढंग से!


मेरी Gemfile में मेरे पास है:

... 

group :development, :test do 
    gem "rspec-rails" 
    gem 'webrat' 
end 

group :test do 
    gem 'factory_girl_rails' 
    gem 'cucumber-rails' 
    gem 'turn', :require => false 
end 

... 

उत्तर

4

संपादित सूचना आप अब तक प्रदान की है के आधार पर, ऐसा लगता है जैसे आप रूबी 1.9.3 में एक बग मिल गया है। मैं अनुशंसा करता हूं कि आप रूबी कोर टीम को इसकी रिपोर्ट करें।

जब तक यह बग ठीक नहीं हो जाता है, तो आपको इसके चारों ओर एक रास्ता मिलना चाहिए। इसके चारों ओर एक रास्ता खोजने के लिए, आपको इसके बारे में अधिक जानकारी मिलनी चाहिए कि यह क्या करता है और इसे ट्रिगर नहीं करता है।

आपके द्वारा पोस्ट किए गए स्टैक ट्रेस में, यह लाइन 68 की बंडलर/रनटाइम की तरह दिखता है। आरबी को यार्ड मणि की आवश्यकता होती है। रूबी 1.9.3 का उपयोग करके, आईआरबी या एक साधारण परीक्षण स्क्रिप्ट से, यार्ड मणि की आवश्यकता है। क्या यह त्रुटि ट्रिगर करता है? यदि नहीं, तो उस विधि पर जाएं जो "असली" "बंडलर" (बंडलर.आरबी, लाइन 118) में कॉल कर रहा है। टेस्ट स्क्रिप्ट से, उस विधि को कॉल करने का प्रयास करें (जो कुछ भी है)। क्या यह त्रुटि ट्रिगर करता है? ...और इसी तरह।

सौभाग्य से, जब आप रूबी रत्न स्थापित करते हैं, तो स्रोत कोड "रत्न" निर्देशिका में उपलब्ध होता है, और आप इसका अध्ययन और संशोधन कर सकते हैं। समस्याओं के आसपास काम करने से पहले मुझे अपने रत्नों के स्रोत कोड को "हैक" करना पड़ा था (जब तक मणि के एक निश्चित संस्करण को जारी नहीं किया जाता)।

+1

Btw, मैं सिर्फ इस मणि को स्थापित कर रहा हूँ तो मैं स्रोत कोड को देखो और लाइन जहाँ आपके segfault से आया देख सकते हैं। –

+0

मैंने नोट किया कि समस्या कभी-कभी, यादृच्छिक रूप से होती है। – Backo

+0

मैंने अभी "यार्ड" के लिए स्रोत कोड देखा है ... यह देखना मुश्किल है कि आपके त्रुटि संदेश को किस पंक्ति से संदर्भित किया जा सकता है। सोच रहा है ... –

5

मेरे पास एक ही समस्या है, आरएसपीईसी चलाते समय यार्ड से संबंधित यादृच्छिक क्रैश।

मुझे एक और पोस्ट मिली जिसने मेरे लिए मुद्दा तय किया। हटाया 'pry-doc' निर्भरता।

StackOverflow Post

संबंधित मुद्दे