This SystemStackError  is driving me crazy. It only takes place when
testing with WEBrick - I can't reproduce it with any tests. It is
caused by calling the "missing" id method (base.rb:2435) on my
ActiveRecord class.

WEBrick and my tests are running as the same user, with a `ulimit -s`
of 10240. Plus the query works sometimes so I don't think this
matters.

Here's the trace:

/usr/lib/ruby/1.8/set.rb:93:in `empty?'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
attribute_methods.rb:64:in `generated_methods?'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
attribute_methods.rb:237:in `method_missing'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
attribute_methods.rb:245:in `method_missing'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:2435:in `hash'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
association_preload.rb:13:in `uniq'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
association_preload.rb:13:in `preload_associations'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:1343:in `find_every'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:536:in `find'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
association_preload.rb:254:in `find_associated_records'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
association_preload.rb:154:in `preload_has_many_association'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
association_preload.rb:40:in `send'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
association_preload.rb:40:in `preload_one_association'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
association_preload.rb:38:in `each'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
association_preload.rb:38:in `preload_one_association'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
association_preload.rb:17:in `preload_associations'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
association_preload.rb:16:in `preload_associations'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
association_preload.rb:16:in `each'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
association_preload.rb:16:in `preload_associations'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:1343:in `find_every'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:536:in `find'
app/models/package.rb:29:in `search'


The thing is, sometimes it works -at first. And usually results in the
trace ending before Set.empty?
at:
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
attribute_methods.rb:64:in

Here's the relevant parts of my code:

class Package < ActiveRecord::Base
  has_many :deliveries,  #,:select=>'id, user, host, delivered,
region_id, package_id',
                  :include=>:region,
                  :dependent=>:delete_all

 def self.search(criteria)
   raise ArgumentError, 'argument must be of type SearchCriteria'
unless criteria.is_a\
?(SearchCriteria)
    clause = build_search_where_clause(criteria)
    find(:all, :include=>[:deliveries], :conditions=>clause)
 end
end

class Delivery < ActiveRecord::Base
  belongs_to :package
  belongs_to :region
end

class Region < ActiveRecord::Base
  has_many :deliveries
end

Looking at the SQL output, the exception is occurring after
the :deliveries relation is queried.
At first I though it was because I left out the id field from the
has_many :deliveries, :select=>'...'
But I commented it out and still no luck.

Any suggestions/ideas are greatly appreciated.






--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to