[Ruby] rdoc S.T.B.

Daevid Vincent daevid at daevid.com
Thu Apr 26 16:28:56 PDT 2007


locutus ~ # ps ax | grep rdoc
12182 pts/0    R+    12:52 /usr/bin/ruby18 /usr/bin/rdoc --ri-system

locutus ~ # strace -p 12182  
...snip an infinite loop of this...
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_SETMASK, [], NULL)      = 0
sigprocmask(SIG_SETMASK, [], NULL)      = 0
sigprocmask(SIG_SETMASK, [], NULL)      = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_SETMASK, [], NULL)      = 0
sigprocmask(SIG_SETMASK, [], NULL)      = 0
sigprocmask(SIG_SETMASK, [], NULL)      = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL, [])        = 0
sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
Process 12182 detached
locutus ~ #  

And the CTRL+C resulted in:

RDoc failure in
gems/1.8/gems/rails-1.1.6/lib/rails_generator/generators/components/controll
er/templates/controller.rb at or around line 10 column 4

Before reporting this, could you check that the file
you're documenting compiles cleanly--RDoc is not a
full Ruby parser, and gets confused easily if fed
invalid programs.

The internal error was:

/usr/lib/ruby/1.8/rdoc/parsers/parse_rb.rb:368:in `column': Interrupt
        from /usr/lib/ruby/1.8/rdoc/parsers/parse_rb.rb:481:in `char_no'
        from /usr/lib/ruby/1.8/rdoc/parsers/parse_rb.rb:534:in `token'
        from /usr/lib/ruby/1.8/rdoc/parsers/parse_rb.rb:1468:in `get_tk'

locutus ruby # cat -n
gems/1.8/gems/rails-1.1.6/lib/rails_generator/generators/components/controll
er/templates/controller.rb
     1  class <%= class_name %>Controller < ApplicationController
     2  <% if options[:scaffold] -%>
     3    scaffold :<%= singular_name %>
     4  <% end -%>
     5  <% for action in actions -%>
     6
     7    def <%= action %>
     8    end
     9  <% end -%>
    10  end


> -----Original Message-----
> From: ruby-bounces at zenspider.com 
> [mailto:ruby-bounces at zenspider.com] On Behalf Of Aaron Patterson
> Sent: Wednesday, April 25, 2007 4:53 PM
> To: Seattle Ruby Brigade!
> Subject: Re: [Ruby] rdoc S.T.B.
> 
> On 4/25/07, Daevid Vincent <daevid at daevid.com> wrote:
> >
> > Thanks Aaron for the reply.
> >
> > Nope.
> > I read "blah blah blah blah strace blah blah pid blah blah"... ;-p
> >
> > I'm not a low-level guru like that.
> > Could you tell me what/how to do that,
> > and I'd be happy to provide that output.
> 
> 
> Ummmm....  Find the pid for the process you're running, then 
> to 'strace -p
> your pid here'.  Or just do 'strace your process here'.
> 
> Either way, you should probably take a look at the man page 
> for strace.
> You'll get lots of output, but at least you'll see where your 
> process is
> stuck.
> 
> -- 
> Aaron Patterson
> http://tenderlovemaking.com/



More information about the Ruby mailing list