[MacRuby] #1240: Seg fault requiring Sinatra Module
MacRuby
ruby-noreply at macosforge.org
Sat Apr 23 00:59:59 PDT 2011
#1240: Seg fault requiring Sinatra Module
-------------------------------------+--------------------------------------
Reporter: adam_kenger@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: blocker | Milestone:
Component: MacRuby | Keywords: sinatra module segmentation fault
-------------------------------------+--------------------------------------
Comment(by lsansonetti@…):
Called from:
{{{
def self.register(*extensions, &block) #:nodoc:
added_methods = extensions.map {|m| m.public_instance_methods
}.flatten
Delegator.delegate(*added_methods)
super(*extensions, &block)
end
}}}
Because #send is part of the methods to delegate, it creates a recursive
call.
Reduction:
{{{
$ ./miniruby -e "module M; end; p M.public_instance_methods"
[:to_plist, :Complex, :Rational, :enum_for, :to_enum, :object_id, :__id__,
:define_singleton_method, :public_method, :method, :extend,
:respond_to_missing?, :respond_to?, :public_send, :send, :__send__,
:instance_exec, :instance_eval, :__callee__, :__method__, :tap, :is_a?,
:kind_of?, :instance_of?, :instance_variable_defined?,
:instance_variable_set, :instance_variable_get, :instance_variables,
:public_methods, :private_methods, :protected_methods, :singleton_methods,
:methods, :inspect, :to_s, :untrusted?, :untrust, :trust, :frozen?,
:freeze, :untaint, :tainted?, :taint, :__type__, :dup, :clone, :<=>,
:eql?, :!~, :=~, :===, :nil?, :!=, :!, :==, :equal?]
$ ruby1.9 -e "module M; end; p M.public_instance_methods"
[]
}}}
--
Ticket URL: <http://www.macruby.org/trac/ticket/1240#comment:3>
MacRuby <http://macruby.org/>
More information about the macruby-tickets
mailing list