#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/>