Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

This project is archived and is in readonly mode.

activesupport 1.4.4 not checking for nil object properly?

#529

I received the following error when trying to start webrick:

/var/lib/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:376:in `new_constants_in': You have a nil object when you didn't expect it! (NoMethodError)

You might have expected an instance of Array.

The error occurred while evaluating nil.empty? from /var/lib/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:202:in `load_file'

dependencies.rb:376 says the following:

if defined?(watch_frames) && ! watch_frames.empty?

I'm not sure what this code is attempting to do in context, but it seems plausible that the author actually meant something like:

if watch_frames != nil && ! watch_frames.empty?

defined?() when called in the previous way can return a non-empty string which will pass the first test but the variable being tested can still be set to nil, thus the method call on a nil object throws an exception.

Reported by Jeff · July 1st, 2008 @ 08:52 PM

State: wontfix
Milestone: 2.x
Assigned to: nobody
Importance: none

Activity

  1. josh
    josh
    • State changed from new to wontfix

    October 5th, 2008 @ 03:15 PM