Friday, 23 August 2013

Ruby AWS SDK breaks when caching classes

Ruby AWS SDK breaks when caching classes

I'm having a headache trying to figure this out. Everytime i try to deploy
my app into productio i get this error:
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/core/service_interface.rb:24:in
`module_eval': undefined method `each' for nil:NilClass (NoMethodError)
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service/client/xml.rb:29:in
`<module:XML>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service/client/xml.rb:19:in
`<class:Client>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service/client/xml.rb:16:in
`<class:SimpleEmailService>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service/client/xml.rb:15:in
`<module:AWS>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service/client/xml.rb:14:in
`<top (required)>'
from (eval):1:in `configure_client'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/core/client.rb:484:in
`module_eval'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/core/client.rb:484:in
`configure_client'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/core/configured_client_methods.rb:27:in
`configure_client'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service/client.rb:32:in
`<class:Client>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service/client.rb:18:in
`<class:SimpleEmailService>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service/client.rb:15:in
`<module:AWS>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service/client.rb:14:in
`<top (required)>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service/errors.rb:20:in
`<module:Errors>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service/errors.rb:18:in
`<class:SimpleEmailService>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service/errors.rb:15:in
`<module:AWS>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service/errors.rb:14:in
`<top (required)>'
from (eval):1:in `included'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/core/service_interface.rb:24:in
`module_eval'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/core/service_interface.rb:24:in
`included'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service.rb:146:in
`include'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service.rb:146:in
`<class:SimpleEmailService>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service.rb:136:in
`<module:AWS>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/simple_email_service.rb:17:in
`<top (required)>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/aws-sdk-1.3.9/lib/aws/rails.rb:157:in
`block in add_action_mailer_delivery_method'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:36:in
`instance_eval'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:36:in
`execute_hook'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:43:in
`block in run_load_hooks'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:42:in
`each'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:42:in
`run_load_hooks'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/actionmailer-3.2.13/lib/action_mailer/base.rb:746:in
`<class:Base>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/actionmailer-3.2.13/lib/action_mailer/base.rb:326:in
`<module:ActionMailer>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/actionmailer-3.2.13/lib/action_mailer/base.rb:11:in
`<top (required)>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/inflector/methods.rb:230:in
`const_get'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/inflector/methods.rb:230:in
`block in constantize'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/inflector/methods.rb:229:in
`each'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/inflector/methods.rb:229:in
`constantize'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/core_ext/string/inflections.rb:54:in
`constantize'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/devise-3.0.0/app/mailers/devise/mailer.rb:1:in
`<top (required)>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in
`require'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in
`block in require'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in
`load_dependency'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in
`require'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:359:in
`require_or_load'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:313:in
`depend_on'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:225:in
`require_dependency'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/engine.rb:439:in
`block (2 levels) in eager_load!'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/engine.rb:438:in
`each'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/engine.rb:438:in
`block in eager_load!'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/engine.rb:436:in
`each'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/engine.rb:436:in
`eager_load!'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/application/railties.rb:8:in
`each'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/application/railties.rb:8:in
`all'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/engine.rb:434:in
`eager_load!'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/application/finisher.rb:53:in
`block in <module:Finisher>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/initializable.rb:30:in
`instance_exec'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/initializable.rb:30:in
`run'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/initializable.rb:55:in
`block in run_initializers'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/initializable.rb:54:in
`each'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/initializable.rb:54:in
`run_initializers'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/application.rb:136:in
`initialize!'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/railtie/configurable.rb:30:in
`method_missing'
from /Users/Rafael/Dev/Nuveo/StoresEngine/config/environment.rb:5:in `<top
(required)>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in
`require'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in
`block in require'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in
`load_dependency'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in
`require'
from /Users/Rafael/Dev/Nuveo/StoresEngine/config.ru:3:in `block in <main>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/rack-1.4.5/lib/rack/builder.rb:51:in
`instance_eval'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/rack-1.4.5/lib/rack/builder.rb:51:in
`initialize'
from /Users/Rafael/Dev/Nuveo/StoresEngine/config.ru:in `new'
from /Users/Rafael/Dev/Nuveo/StoresEngine/config.ru:in `<main>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/rack-1.4.5/lib/rack/builder.rb:40:in
`eval'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/rack-1.4.5/lib/rack/builder.rb:40:in
`parse_file'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/rack-1.4.5/lib/rack/server.rb:200:in
`app'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/commands/server.rb:46:in
`app'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/rack-1.4.5/lib/rack/server.rb:304:in
`wrapped_app'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/rack-1.4.5/lib/rack/server.rb:254:in
`start'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/commands/server.rb:70:in
`start'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/commands.rb:55:in
`block in <top (required)>'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/commands.rb:50:in
`tap'
from
/Users/Rafael/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/commands.rb:50:in
`<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
But if i disable the config.cache_classes setting it to false, the error
wont show up anymore. But there is no way that im leaving cache_classes =
false into production.
Can someone help me with this?
Many thanks

No comments:

Post a Comment