10

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

K2xL
  • 9,730
  • 18
  • 64
  • 101
  • Seeing same thing on my end, except my app did eventually compile and launch and seems to be working fine (I guess my errors didn't cause it to exceed the 15 minute timeout). This is my first push since https://status.heroku.com/incidents/596 . . . wonder if they fubar'd something? Have you created a ticket with Heroku yet? No significant changes with my app so I don't believe I broke anything. – bcb Mar 09 '14 at 19:58
  • @bcb What I ended up doing was precompiling assets locally then pushing. – K2xL Mar 27 '14 at 02:17

3 Answers3

37

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!

bcb
  • 939
  • 1
  • 8
  • 18
7

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.

Jeremy
  • 1,029
  • 10
  • 18
2

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
Weston Ganger
  • 6,324
  • 4
  • 41
  • 39