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