Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ruby interop tests failing #20471

Closed
markdroth opened this issue Oct 3, 2019 · 9 comments
Closed

ruby interop tests failing #20471

markdroth opened this issue Oct 3, 2019 · 9 comments
Assignees
Labels
disposition/BUILDNURSE For all buildnurse related build/test failures and flakes kind/bug lang/ruby priority/P1

Comments

@markdroth
Copy link
Member

https://source.cloud.google.com/results/invocations/7d29e2c6-51d6-4a63-9320-bcb4b2c36ef4/targets/github%2Fgrpc%2Finterop_test/tests;group=tests;test=cloud_to_cloud:aspnetcore:ruby_server:cancel_after_begin:tls;row=1

There are a large number of test failures, and they all involve ruby as either the client or the server.

@jtattermusch
Copy link
Contributor

Looks like this could be is because of google-protobuf 3.10 gem was just pushed.
(not good because the gem is supposed to be backward compatible).

@rafi-kamal

@jtattermusch
Copy link
Contributor

Interop tests are failing on master at 100% rate.

@jtattermusch
Copy link
Contributor

@rafi-kamal I believe there was a non-backwards-compatible change (needs to be rolled back?)

/usr/local/rvm/gems/ruby-2.5.3/gems/google-protobuf-3.10.0-x86_64-linux/lib/google/protobuf.rb:61:in `infer_package': undefined method `size' for nil:NilClass (NoMethodError)
	from /usr/local/rvm/gems/ruby-2.5.3/gems/google-protobuf-3.10.0-x86_64-linux/lib/google/protobuf.rb:109:in `fixup_descriptor'
	from /var/local/git/grpc/src/ruby/pb/src/proto/grpc/testing/test_pb.rb:9:in `add_file'
	from /var/local/git/grpc/src/ruby/pb/src/proto/grpc/testing/test_pb.rb:9:in `block in <top (required)>'
	from /var/local/git/grpc/src/ruby/pb/src/proto/grpc/testing/test_pb.rb:8:in `instance_eval'
	from /var/local/git/grpc/src/ruby/pb/src/proto/grpc/testing/test_pb.rb:8:in `build'
	from /var/local/git/grpc/src/ruby/pb/src/proto/grpc/testing/test_pb.rb:8:in `<top (required)>'
	from /usr/local/rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	from /usr/local/rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	from /var/local/git/grpc/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb:23:in `<top (required)>'
	from src/ruby/pb/test/client.rb:42:in `require_relative'
	from src/ruby/pb/test/client.rb:42:in `<main>'

@rafi-kamal
Copy link
Contributor

@haberman @TeBoring do you know the root cause of the failure? I'll see if 3.10.0 can be rolled back.

@haberman
Copy link
Contributor

haberman commented Oct 4, 2019

@jtattermusch That's not a backward-incompatible change (I put a lot of work into making it backward-compatible), it just looks like a bug. How can I reproduce it?

@rafi-kamal
Copy link
Contributor

rafi-kamal commented Oct 4, 2019

I've yanked the gem.

➜   sudo gem yank google-protobuf -v 3.10.0 
Yanking gem from https://rubygems.org...
Successfully deleted gem: google-protobuf (3.10.0)
➜  sudo gem yank google-protobuf -v 3.10.0 -p universal-darwin
Yanking gem from https://rubygems.org...
Successfully deleted gem: google-protobuf (3.10.0-universal-darwin)
➜ ....

The versions now show up as yanked in rubygems.org.

@jtattermusch
Copy link
Contributor

seems fixed on master.

@rafi-kamal
Copy link
Contributor

@jtattermusch do you know what the root cause is or how can we reproduce the issue? We would like to release Ruby 3.10 again after fixing the bug.

@apolcyn
Copy link
Contributor

apolcyn commented Oct 8, 2019

I haven't verified this myself but this should be reproducable by checking out the grpc github repo and trying to load the same ruby-generated protos that this test client tried to load.

E.g. something like:

> git clone https://github.com/grpc/grpc.git
> cd grpc && ruby src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb

Let me know if that doesn't work.

Thanks for addressing quickly btw.

@lock lock bot locked as resolved and limited conversation to collaborators Jan 6, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
disposition/BUILDNURSE For all buildnurse related build/test failures and flakes kind/bug lang/ruby priority/P1
Projects
None yet
Development

No branches or pull requests

5 participants