sonatype / nexus-ruby-support

26 stars 7 forks source link

dependency fetch issue #25

Closed flyinprogrammer closed 11 years ago

flyinprogrammer commented 11 years ago

This only exists with: ruby-2.0.0-p195 Rubygems 2.0.3 (3 months ago) Bundler 1.35 (release date: April 4, 2013)

[09:05:30][Step 2/3] Fetching gem metadata from http://mvn-repo/gems/..Unfortunately, a fatal error has occurred. Please see the Bundler
[09:05:30][Step 2/3] troubleshooting documentation at http://bit.ly/bundler-issues. Thanks!
[09:05:30][Step 2/3] /home/build/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/dependency.rb:45:in `initialize': dependency name must be a String, was ["RubyInline"] (ArgumentError)
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/fetcher.rb:273:in `new'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/fetcher.rb:273:in `well_formed_dependency'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/fetcher.rb:248:in `block (2 levels) in fetch_dependency_remote_specs'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/fetcher.rb:247:in `map'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/fetcher.rb:247:in `block in fetch_dependency_remote_specs'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/fetcher.rb:246:in `map'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/fetcher.rb:246:in `fetch_dependency_remote_specs'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/fetcher.rb:151:in `fetch_remote_specs'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/fetcher.rb:154:in `fetch_remote_specs'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/fetcher.rb:106:in `specs'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/source/rubygems.rb:235:in `block in remote_specs'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/source/rubygems.rb:235:in `each'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/source/rubygems.rb:235:in `remote_specs'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/source/rubygems.rb:163:in `fetch_specs'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/source/rubygems.rb:67:in `specs'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/definition.rb:192:in `block (2 levels) in index'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/definition.rb:189:in `each'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/definition.rb:189:in `block in index'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/index.rb:9:in `build'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/definition.rb:185:in `index'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/definition.rb:179:in `resolve'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/definition.rb:114:in `specs'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/definition.rb:109:in `resolve_remotely!'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/installer.rb:83:in `run'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/installer.rb:14:in `install'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/cli.rb:247:in `install'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/vendor/thor/task.rb:27:in `run'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/vendor/thor/invocation.rb:120:in `invoke_task'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/vendor/thor.rb:344:in `dispatch'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/vendor/thor/base.rb:434:in `start'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/bin/bundle:20:in `block in <top (required)>'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/friendly_errors.rb:3:in `with_friendly_errors'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/bin/bundle:20:in `<top (required)>'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/bin/bundle:23:in `load'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@global/bin/bundle:23:in `<main>'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@automation/bin/ruby_noexec_wrapper:14:in `eval'
[09:05:30][Step 2/3]    from /home/build/.rvm/gems/ruby-2.0.0-p195@automation/bin/ruby_noexec_wrapper:14:in `<main>'
[09:05:30][Step 2/3] Process exited with code 1

This just popped up yesterday when we built and installed the latest nexus-ruby-plugin. Prior to that 2.0.0 was working. So I'm officially confused.

flyinprogrammer commented 11 years ago

So v1.8.25 of rubygems (for 1.9.3) is here: https://github.com/rubygems/rubygems/blob/v1.8.25/lib/rubygems/dependency.rb#L35

And v2.0.3 of rubygems (for 2.0.0) is here: https://github.com/rubygems/rubygems/blob/v2.0.3/lib/rubygems/dependency.rb#L38

But what's weird is that, the rubygems 2.0.3 dependency code hasn't changed in 5 months, and the combination of the 2.0.3 + 2.0.0-p195 was working up until yesterday; so my first guess that the marshaling was somehow broken between 1.9.3 and 2.0.0 cannot be true. So, we are going to try and find what version of the plugin we were running prior to yesterday so we can do a diff to find the defect -- mr. rhodes is on it.

flyinprogrammer commented 11 years ago

https://github.com/sonatype/nexus-ruby-support/commit/e141922023bdf26fcb23b07926dd927e97adfe06

This has to be the commit; because it's the only thing that would have an impact... because it's really the only thing that has changed. I have meetings and what not this morning; i'll work with tyler to get my machine configured to dev on; and then i'll trace this down.

mkristian commented 11 years ago

could please give me you Gemfile which you used to produce that error ?

flyinprogrammer commented 11 years ago

http://puu.sh/33Jz0/4c068450e4.png

hasn't changed in 3 weeks.

mkristian commented 11 years ago

thanx for the Gemfile. the following gist (hopefully) shows the problematic gem: https://gist.github.com/mkristian/5677789

so the memcache-client-1.6.3.gem has a dependency to '["RubyLine"]' the [" and "] are part of that gemname. and that gemname looks causes the problem with newer ruby/rubygems/bundler versions. looking at https://rubygems.org/gems/memcache-client/versions/1.6.3 the name is displayed in a correct form. so the fix I am going to implement is fix the name in a similar manner as the website is doing.

mkristian commented 11 years ago

please reopen the issue if it remains a problem. on my side the offending ["RubyLine"] is gone.

flyinprogrammer commented 11 years ago

perfect - I'll test this as soon as I can

flyinprogrammer commented 11 years ago

this is definitely fixed! thank you so much!