ruby-protobuf
ruby-protobuf copied to clipboard
Inspect crashes
Calling .inspect on a message crashes.
NoMethodError: undefined method `name' for #<:field::fieldproxy:0x0000000182eb50> 18:13:57.917176 15969 qanat.rb:72: /home/onespot/.bundle/ruby/1.9.1/gems/ruby_protobuf-0.4.0/lib/protobuf/message/message.rb:349:in `block in each_field' /home/onespot/.bundle/ruby/1.9.1/gems/ruby_protobuf-0.4.0/lib/protobuf/message/message.rb:348:in `each' /home/onespot/.bundle/ruby/1.9.1/gems/ruby_protobuf-0.4.0/lib/protobuf/message/message.rb:348:in `each_field' /home/onespot/.bundle/ruby/1.9.1/gems/ruby_protobuf-0.4.0/lib/protobuf/message/message.rb:221:in `inspect' /home/onespot/.bundle/ruby/1.9.1/gems/ruby_protobuf-0.4.0/lib/protobuf/message/message.rb:201:in `block in inspect' /home/onespot/.bundle/ruby/1.9.1/gems/ruby_protobuf-0.4.0/lib/protobuf/message/message.rb:227:in `call' /home/onespot/.bundle/ruby/1.9.1/gems/ruby_protobuf-0.4.0/lib/protobuf/message/message.rb:227:in `block in inspect' /home/onespot/.bundle/ruby/1.9.1/gems/ruby_protobuf-0.4.0/lib/protobuf/message/message.rb:350:in `block in each_field' /home/onespot/.bundle/ruby/1.9.1/gems/ruby_protobuf-0.4.0/lib/protobuf/message/message.rb:348:in `each' /home/onespot/.bundle/ruby/1.9.1/gems/ruby_protobuf-0.4.0/lib/protobuf/message/message.rb:348:in `each_field' /home/onespot/.bundle/ruby/1.9.1/gems/ruby_protobuf-0.4.0/lib/protobuf/message/message.rb:221:in `inspect'
to_s doesn't work either:
NoMethodError: undefined method `initialized?' for #<Protobuf::Field::FieldProxy:0x0000000182de68>
I couldn't reproduce this problem. But I found suspicious codes in Message class. Please try this patch: http://gist.github.com/322461
If the patch can't fix the problem, please show me a reproduction test case.