This project is archived and is in readonly mode.
activesupport 1.4.4 not checking for nil object properly?
Reported by Jeff | July 1st, 2008 @ 08:52 PM | in 2.x
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.
Comments and changes to this ticket
-
josh October 5th, 2008 @ 03:15 PM
- State changed from new to wontfix
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
<h2 style="font-size: 14px">Tickets have moved to Github</h2>
The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>