lsegal / yard

YARD is a Ruby Documentation tool. The Y stands for "Yay!"
http://yardoc.org
MIT License
1.95k stars 398 forks source link

Ruby 1.9.2: NoMethodError: undefined method `parameters' for s(:var_ref, s(:ident, "include")):YARD::Parser::Ruby::ReferenceNode #377

Closed ncri closed 13 years ago

ncri commented 13 years ago

Stack trace: /Users/nico/.rvm/gems/ruby-1.9.2-p0/gems/yard-0.7.2/lib/yard/handlers/ruby/mixin_handler.rb:8:inblock in ' /Users/nico/.rvm/gems/ruby-1.9.2-p0/gems/yard-0.7.2/lib/yard/handlers/processor.rb:128:in block (2 levels) in process' /Users/nico/.rvm/gems/ruby-1.9.2-p0/gems/yard-0.7.2/lib/yard/handlers/processor.rb:126:ineach' /Users/nico/.rvm/gems/ruby-1.9.2-p0/gems/yard-0.7.2/lib/yard/handlers/processor.rb:126:in block in process' /Users/nico/.rvm/gems/ruby-1.9.2-p0/gems/yard-0.7.2/lib/yard/handlers/processor.rb:125:ineach' /Users/nico/.rvm/gems/ruby-1.9.2-p0/gems/yard-0.7.2/lib/yard/handlers/processor.rb:125:in each_with_index'

lsegal commented 13 years ago

Can you try this on the latest 1.9.2? p290 is the latest, I don't remember p0 working very well. Also, can you provide some steps (and code) to reproduce this bug?

ncri commented 13 years ago

Okay, this is what I get with p290:

/Users/nico/.rvm/gems/ruby-1.9.2-p290/gems/yard-0.7.2/lib/yard.rb:38: [BUG] Bus Error ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.0.0]

-- control frame ---------- c:0011 p:---- s:0034 b:0034 l:000033 d:000033 CFUNC :callcc c:0010 p:0080 s:0031 b:0031 l:0022d0 d:0022d0 TOP /Users/nico/.rvm/gems/ruby-1.9.2-p290/gems/yard-0.7.2/lib/yard.rb:38 c:0009 p:---- s:0028 b:0028 l:000027 d:000027 FINISH c:0008 p:---- s:0026 b:0026 l:000025 d:000025 CFUNC :require c:0007 p:0053 s:0022 b:0022 l:002358 d:002358 METHOD /Users/nico/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36 c:0006 p:0028 s:0015 b:0015 l:001008 d:001008 TOP /Users/nico/.rvm/gems/ruby-1.9.2-p290/gems/yard-0.7.2/bin/yardoc:2 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:0022e8 d:001bb0 EVAL /Users/nico/.rvm/gems/ruby-1.9.2-p290/bin/yardoc:19 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH

c:0001 p:0000 s:0002 b:0002 l:0022e8 d:0022e8 TOP

-- Ruby level backtrace information ---------------------------------------- /Users/nico/.rvm/gems/ruby-1.9.2-p290/bin/yardoc:19:in <main>' /Users/nico/.rvm/gems/ruby-1.9.2-p290/bin/yardoc:19:inload' /Users/nico/.rvm/gems/ruby-1.9.2-p290/gems/yard-0.7.2/bin/yardoc:2:in <top (required)>' /Users/nico/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:inrequire' /Users/nico/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require' /Users/nico/.rvm/gems/ruby-1.9.2-p290/gems/yard-0.7.2/lib/yard.rb:38:in<top (required)>' /Users/nico/.rvm/gems/ruby-1.9.2-p290/gems/yard-0.7.2/lib/yard.rb:38:in `callcc'

-- C level backtrace information ------------------------------------------- 0 libruby.1.9.1.dylib 0x0000000104ae151e rb_vm_bugreport + 110 1 libruby.1.9.1.dylib 0x00000001049d5533 report_bug + 259 2 libruby.1.9.1.dylib 0x00000001049d56a1 rb_bug + 161 3 libruby.1.9.1.dylib 0x0000000104a77fb2 sigbus + 18 4 libsystem_c.dylib 0x00007fff8e0b2cfa _sigtramp + 26 5 ??? 0x00007fff6459ad20 0x0 + 140734876986656

[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

Abort trap: 6

lsegal commented 13 years ago

That seems to be an unrelated OSX/XCode4.2 issue described here: http://redmine.ruby-lang.org/issues/4651

It seems you either need to use 1.9.3 (ruby-head in rvm) or downgrade to XCode 4.0.2 for the time being and recompile your 1.9.2.

ncri commented 13 years ago

Well, okay, I guess I will wait for it to be patched and then continue testing this.

lsegal commented 13 years ago

Can you list the code you used to reproduce the error in p0?

ncri commented 13 years ago

I just typed yardoc in my rails app.

ncri commented 13 years ago

Okay, sorry fixed that, there was more output in the error I missed copy'n pasting the trace. There was a lonely include in one of my helpers floating around. I didn't cause any trouble when using the app, so I didn't see it. yardoc complained about it though. ;-)

Okay, now I get many warnings, for example:

[warn]: Unknown tag @raises in file yardoc/ruby/1.9.1/gems/pg-0.11.0/ext/pg.c near line [warn]: in YARD::Handlers::Ruby::ClassHandler: Undocumentable superclass (class was added without superclass) [warn]: in file 'yardoc/ruby/1.9.1/gems/json-1.5.3/tools/fuzz.rb':85:

85: class MyState < JSON.state

and

[warn]: in YARD::Handlers::Ruby::MixinHandler: Undocumentable mixin: YARD::Parser::UndocumentableError for class [warn]: in file 'yardoc/ruby/1.9.1/gems/yard-0.7.2/templates/default/root/html/setup.rb':1:

1: include T('default/module/html')

And also errors:

[error]: Unhandled exception in YARD::Handlers::Ruby::ExceptionHandler: [error]: in yardoc/ruby/1.9.1/gems/dalli-1.0.5/test/test_session_store.rb:50:

50: def rescue_action(e) raise end

[error]: NoMethodError: undefined method parameters' for s(:var_ref, s(:ident, "raise")):YARD::Parser::Ruby::ReferenceNode [error]: Stack trace: /Users/nico/Rails/yousty/yardoc/ruby/1.9.1/gems/yard-0.7.2/lib/yard/handlers/ruby/exception_handler.rb:11:inblock in class:ExceptionHandler' /Users/nico/Rails/yousty/yardoc/ruby/1.9.1/gems/yard-0.7.2/lib/yard/handlers/processor.rb:128:in block (2 levels) in process' /Users/nico/Rails/yousty/yardoc/ruby/1.9.1/gems/yard-0.7.2/lib/yard/handlers/processor.rb:126:ineach' /Users/nico/Rails/yousty/yardoc/ruby/1.9.1/gems/yard-0.7.2/lib/yard/handlers/processor.rb:126:in block in process' /Users/nico/Rails/yousty/yardoc/ruby/1.9.1/gems/yard-0.7.2/lib/yard/handlers/processor.rb:125:ineach' /Users/nico/Rails/yousty/yardoc/ruby/1.9.1/gems/yard-0.7.2/lib/yard/handlers/processor.rb:125:in `each_with_index'

and:

[error]: Unhandled exception in YARD::Handlers::Ruby::MethodHandler: [error]: in yardoc/ruby/1.9.1/gems/aws-ses-0.4.3/lib/aws/ses/send_email.rb:52:

52: def send_email(options = {})

[error]: NoMethodError: undefined method split' for nil:NilClass [error]: Stack trace: /Users/nico/Rails/yousty/yardoc/ruby/1.9.1/gems/yard-0.7.2/lib/yard/tags/default_factory.rb:111:inextract_types_and_name_from_text' /Users/nico/Rails/yousty/yardoc/ruby/1.9.1/gems/yard-0.7.2/lib/yard/tags/default_factory.rb:58:in parse_tag_with_types_name_and_default' /Users/nico/Rails/yousty/yardoc/ruby/1.9.1/gems/yard-0.7.2/lib/yard/tags/default_factory.rb:70:inparse_tag_with_options' /Users/nico/Rails/yousty/yardoc/ruby/1.9.1/gems/yard-0.7.2/lib/yard/tags/library.rb:149:in send_to_factory' /Users/nico/Rails/yousty/yardoc/ruby/1.9.1/gems/yard-0.7.2/lib/yard/tags/library.rb:132:inoption_tag' /Users/nico/Rails/yousty/yardoc/ruby/1.9.1/gems/yard-0.7.2/lib/yard/docstring.rb:171:in `create_tag'

I guess I can't do much about those? Seem gem related.

ncri commented 13 years ago

Basically I get a HUGE list of warnings about syntax errors, sprinkled with some errors...

ncri commented 13 years ago

Ah, actaully I think yardoc is not supposed to document my gems, wonder whats going on.

ncri commented 13 years ago

weird, installing the yard gem with bundler creates a yardoc folder in my app including all my gems!

ncri commented 13 years ago

I cant bundle anymore without the yardoc folder beeing created - although i uninstalled yardoc an all the hidden folders. What's going on? How can I fix this?

ncri commented 13 years ago

I must have somehow accidentally changed bundler's bundle path while playing with yardoc. Fixed it.

lsegal commented 13 years ago

I'd still need to see a minimal working example that reproduces the bug. Can you take stuff out of your User class until the bug stops happening and then post that code (the code prior to it starting to work)? You can remove any private implementation stuff if it has no effect on the issue. The smaller the class, the better, in fact.

lsegal commented 13 years ago

Cleaning out issues for the 0.7.3 release, so I will close this issue for now. If you can provide steps to reproduce, please reopen this issue. Thanks!

ncri commented 13 years ago

Sure, thx! I will most likely look into it at some point again, its just currently not so pressing for our project.