[Rubygems-developers] getting an error using mongrel that might be gem related

Kevin Clark kevin.clark at gmail.com
Wed Nov 14 01:03:12 EST 2007


This error is caused by a bad require in environment.rb:

http://groups.google.com/group/rubyonrails-core/browse_thread/thread/e1cb5d99ff0313c5

On Nov 13, 2007 9:46 PM, Stephen Bannasch
<stephen.bannasch at deanbrook.org> wrote:
> At 6:03 PM -0800 11/13/07, Eric Hodel wrote:
> >
> >Nothing in this stack trace points to RubyGems.
>
> The crash appears to be happening in GemPlugin::Manager.instance.load (but of course things are not always as they appear).
>
> Here's where I am now:
>
> I have a breakpoint on lines 231 and 232 (I added line 232) in a mongrel script . I never get to line 232. The problem seems to occur in GemPlugin::Manager.instance.load. I don't think it's an obvious bug in the Gem code. I expect there is some gem that is screwed up in some way that the causes GemPlugin::Manager.instance.load to blow up.
>
> [226, 235] in /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel/configurator.rb
>    226          ops[:excludes].each do |plugin|
>    227            load_settings[plugin] = GemPlugin::EXCLUDE
>    228          end
>    229        end
>    230
> => 231        GemPlugin::Manager.instance.load(load_settings)
>    232        puts "after looading plugins ..."
>    233      end
>    234
>    235
>
> here the stack:
>
> (rdb:1) where
> --> #0 /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel/configurator.rb:231 in 'load_plugins'
>     #1 /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/mongrel_rails:117 in 'cloaker_'
>     #2 /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel/configurator.rb:149 in 'call'
>     #3 /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/mongrel_rails:99 in 'cloaker_'
>     #4 /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel/configurator.rb:50 in 'call'
>     #5 /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/mongrel_rails:84 in 'new'
>     #6 /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/mongrel_rails:84 in 'run'
>     #7 /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel/command.rb:212 in 'run'
>     #8 /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/mongrel_rails:281
>     #9 /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:488 in 'load'
>     #10 /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:488 in 'load'
>     #11 /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/commands/servers/mongrel.rb:60
>     #12 /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27 in 'require'
>     #13 /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495 in 'require'
>     #14 /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495 in 'require'
>     #15 /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/commands/server.rb:39
>     #16 /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27 in 'require'
>     #17 ./script/server.rb:3
>
> and here's the stacktrace from the error:
>
> (rdb:1) cont
> Exiting
> /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/commands/servers/mongrel.rb:15: warning: already initialized constant OPTIONS
> /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/commands/servers/mongrel.rb:18: undefined method `options' for []:Array (NoMethodError)
>         from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `gem_original_require'
>         from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `require'
>         from /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:in `require'
>         from /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:342:in `new_constants_in'
>         from /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:in `require'
>         from /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/commands/server.rb:39
>         from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
>         from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
>         from ./script/server.rb:3
>         from /usr/local/lib/ruby/gems/1.8/gems/ruby-debug-0.9.3/bin/rdebug:136:in `debug_load'
>         from /usr/local/lib/ruby/gems/1.8/gems/ruby-debug-0.9.3/bin/rdebug:136
>         from /usr/local/bin/rdebug:16:in `load'
>         from /usr/local/bin/rdebug:16
>
> ---------------------------------------
>
> Here's what I found tracing GemPlugin::Manager.instance.load:
>
> I setup this conditional break at line 115 (gems.length == 315):
>
> b /usr/local/lib/ruby/gems/1.8/gems/gem_plugin-0.2.3/lib/gem_plugin.rb:115 if gem.name == "daemons"
>
> /usr/local/lib/ruby/gems/1.8/gems/gem_plugin-0.2.3/lib/gem_plugin.rb:115 check = needs.dup
> [110, 119] in /usr/local/lib/ruby/gems/1.8/gems/gem_plugin-0.2.3/lib/gem_plugin.rb
>    110        needs = needs.merge({"gem_plugin" => INCLUDE})
>    111
>    112        gems.each do |path, gem|
>    113          # don't load gems more than once
>    114          next if @gems.has_key? gem.name
> => 115          check = needs.dup
>    116
>    117          # rolls through the depends and inverts anything it finds
>    118          gem.dependencies.each do |dep|
>    119            # this will fail if a gem is depended more than once
>
> On the 10th pass through the conditional break at 115. I get the next two startup messages displayed:
>
> (rdb:1) cont
> ** Rails loaded.
> ** Loading any Rails specific GemPlugins
> Breakpoint 1 at /usr/local/lib/ruby/gems/1.8/gems/gem_plugin-0.2.3/lib/gem_plugin.rb:115
>
> But after four more times through the conditional break at 115 I get back to the error described above:
>
> I still need to do more work to complete tracing the path to the error.
>
> _______________________________________________
> Rubygems-developers mailing list
> Rubygems-developers at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rubygems-developers
>



-- 
Kevin Clark
http://glu.ttono.us


More information about the Rubygems-developers mailing list