Bugs item #28844, was opened at 2011-01-09 17:24
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=575&aid=28844&group_id=126

Category: #gem and #require methods
Group: v1.3.x
Status: Open
Resolution: None
Priority: 3
Submitted By: Erik Hollensbe (erikh)
Assigned to: Eric Hodel (drbrain)
Summary: rubygems plugins, 1.9 and circular requires

Initial Comment:
I apologize in advance if this is confusing.

I'm not entirely sure if this is gem_prelude's fault or rubygems's or even ruby 
proper's fault, but here goes:

http://www.gem-testers.org/gems/rubygems-test/v/0.2.1/test_results/2

If you carefully examine the stack trace, you'll see that the rdoc plugin is 
being pulled in, then hanna is being pulled in. What happens in hanna is that 
rubygems is pulled in, ergo our problem. This is all done in from a rake 
process spawned by rubygems-test which uses open4 which in 1.9 uses threads, so 
threading may be a part of the issue here.

This issue does not exhibit in 1.8, but it uses fork there. I was unable to 
test in RG 1.4 because of the obvious.

I was able to fix this in rubygems-test 0.2.1 for the 'gem test' provider. The 
commit below is the fix.

https://github.com/rubygems/rubygems-test/commit/72b0e136889fcd2509bb040de3fe9220c4b8bc13

You can see that I abuse autoload there to ensure that any rubygems 
dependencies (and YAML to be safe)  are only loaded once. This is because of 
the above issue. These patches fix it but not for rdoc and (I presume) other 
plugins.

What probably needs to happen is some beyond-the-call-of-duty $:/$" inspection 
before plugin load runs or to somehow load plugins with autoload (I don't think 
this is possible though). Obviously I'm deferring to your experience.

Please feel free to tell me where to stick this bug report if it does not 
belong here, I'm just convinced after the discrete repros that it at least gets 
close to starting in rubygems.

----------------------------------------------------------------------

Comment By: Ryan Davis (zenspider)
Date: 2011-06-07 16:50

Message:
Hi!

Believe it or not, we're moving to github's issue tracker! The 
pressure to move has been loud and clear, but for the longest time 
it didn't support the way we worked. Now that it has freeform 
labels it can support our workflow adequately. There is just one 
problem: Your bug is here and we don't want to lose you!

What we'd like you to do is fairly painless and should only take a 
few minutes:

Please file the _exact_ same ticket on github and provide a link 
back to this crufty old ticket so we can refer to any previous 
discussion that occurred. Once the new ticket is made, put a 
forwarding link to it here and close this ticket out. In a couple 
weeks, we'll track down the old tickets that are still open and 
decide what to do with them.

We could have done this fairly automatically, but we really want 
you to do it so you're attached to the ticket and we can still 
communicate with you and keep a record of it.

https://github.com/rubygems/rubygems/issues

Thanks,

The RubyGems Team

----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=575&aid=28844&group_id=126
_______________________________________________
Rubygems-developers mailing list
http://rubyforge.org/projects/rubygems
Rubygems-developers@rubyforge.org
http://rubyforge.org/mailman/listinfo/rubygems-developers

Reply via email to