K2xL
K2xL

Reputation: 10290

Heroku: Error encountered while saving cache

Everything works fine locally, but when pushing to Heroku:

   Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/bc1b787c8640c68bf42fc69efbef227d36428060/_carousel.scssc: can't dump anonymous class #<Class:0x007f2583f02288>
   Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/bc1b787c8640c68bf42fc69efbef227d36428060/_hero-unit.scssc: can't dump anonymous class #<Class:0x007f2583f02288>
   Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/bc1b787c8640c68bf42fc69efbef227d36428060/_utilities.scssc: can't dump anonymous class #<Class:0x007f2583f02288>
   Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/5b1569a9810eac207f22942f2921f0820863a2d6/exams.css.scssc: can't dump anonymous class #<Class:0x007f2583f02288>
   Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/5b1569a9810eac207f22942f2921f0820863a2d6/home.css.scssc: can't dump anonymous class #<Class:0x007f2583f02288>
   Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/5b1569a9810eac207f22942f2921f0820863a2d6/lessons.css.scssc: can't dump anonymous class #<Class:0x007f2583f02288>
   Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/5b1569a9810eac207f22942f2921f0820863a2d6/questions.css.scssc: can't dump anonymous class #<Class:0x007f2583f02288>
   Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/5b1569a9810eac207f22942f2921f0820863a2d6/scaffolds.css.scssc: can't dump anonymous class #<Class:0x007f2583f02288>
   Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/5b1569a9810eac207f22942f2921f0820863a2d6/sections.css.scssc: can't dump anonymous class #<Class:0x007f2583f02288>

Eventually I get:

   Warning. Error encountered while saving cache /tmp/build_ccaceaf0-2d8f-4d84-8284-9f5fcb7ced3f/tmp/cache/sass/6b13061e65d1f1cd905accb7f7211a333a70c956/sections.css.scssc: can't dump anonymous class #<Class:0x007f02dbceaa88>
   DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /tmp/build_ccaceaf0-2d8f-4d84-8284-9f5fcb7ced3f/Rakefile:7)
   DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /tmp/build_ccaceaf0-2d8f-4d84-8284-9f5fcb7ced3f/Rakefile:7)

 !     Timed out compiling Ruby app (15 minutes)
 !     See https://devcenter.heroku.com/articles/slug-compiler#time-limit

I've only pasted a fraction of the number of times this appears.

My gemfile:

ruby '2.0.0'
gem 'rails', '3.2.11'
group :assets do
  gem 'sass-rails' #,   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
gem 'bootstrap-sass'#, '2.3.2.0'
gem 'cancan'
gem 'devise'
gem 'figaro'
gem 'haml-rails'
gem 'mongoid'
gem 'rolify'
gem 'simple_form'
gem 'thin'
gem 'country_select'
group :development do
  gem 'better_errors'
  gem 'binding_of_caller', :platforms=>[:mri_19, :rbx]
  gem 'guard-bundler'
  gem 'guard-rails'
  gem 'guard-rspec'
  gem 'html2haml'
  gem 'quiet_assets'
  gem 'rb-fchange', :require=>false
  gem 'rb-fsevent', :require=>false
  gem 'rb-inotify', :require=>false
  gem "switch_user"
end
group :development, :test do
  gem 'factory_girl_rails'
  gem 'rspec-rails'
end
group :test do
  gem 'database_cleaner'
  gem 'email_spec'
  gem 'mongoid-rspec'
end
gem "ckeditor"
#gem "binding_of_caller"
gem "mongoid-paperclip", :require => "mongoid_paperclip", :git=>'https://github.com/meskyanichi/mongoid-paperclip'
gem 'aws-sdk', '~> 1.3.4'
gem "flat-ui-rails"
gem 'stripe', :git => 'https://github.com/stripe/stripe-ruby'
gem "mongoid_slug", "~> 2.0.1"

My production.rb file has the following properties enabled

  config.cache_classes = true

  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true

  config.serve_static_assets = true

  config.assets.compress = true
  config.assets.compile = false

  config.assets.digest = true
  config.assets.initialize_on_precompile = false

My rails version is Rails 3.2.11

Upvotes: 10

Views: 8295

Answers (3)

Weston Ganger
Weston Ganger

Reputation: 6712

First you might want to update

bundle update sass-rails
bundle update sass

Then the more critical part (make sure you uninstall the sass version in your Gemfile.lock)

gem uninstall sass
bundle install

Upvotes: 2

Jeremy
Jeremy

Reputation: 1029

This is a known bug in Sass 3.3.0, the Sprockets importer is unserialized and so un-cacheable causing this error. For the bug report see this. Without the caching, Sass compiles excruciatingly slow which leads to the timeout on heroku servers.

Upvotes: 7

bcb
bcb

Reputation: 939

This is related to the recent upgrade of the sass gem to 3.3.0. The sass gem is a dependency of a couple of other sass gems, so even if you don't have it in your Gemfile, it is probably getting loaded. Do a "bundle show" locally and on Heroku and I'm fairly sure you'll see they are different versions (sass was upgraded to 3.3.0 just a couple days ago).

Add:

gem 'sass', '3.2.13'

to your Gemfile and that should fix things for you. Then go submit an issue on github for this gem.

Hope this helps, it worked for me!

Upvotes: 37

Related Questions