rubygitherokutimeoutpush

Timeout when pushing to Heroku


Hi I'm getting compiler timeouts while pushing to heroku....I don't really understand why, since i had no changes on my gems and had previously pushed successfully to heroku....

Here is the log :

-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-1.9.3
-----> Installing dependencies using Bundler version 1.2.0.pre
       Running: bundle install --without development:test --path vendor/bundle --binstubs bin/
       Fetching gem metadata from https://rubygems.org/........
/app/slug-compiler/lib/utils.rb:65:in `block (2 levels) in spawn': command='/app/slug-compiler/lib/../buildpacks/ruby/bin/compile /tmp
/build_2z19s0hxp0vh2 /app/tmp/repo.git/.cache' exit_status=0 out='' at=timeout elapsed=578.1850752830505 (Utils::TimeoutError)
        from /app/slug-compiler/lib/utils.rb:51:in `loop'
        from /app/slug-compiler/lib/utils.rb:51:in `block in spawn'
        from /app/slug-compiler/lib/utils.rb:47:in `popen'
        from /app/slug-compiler/lib/utils.rb:47:in `spawn'
        from /app/slug-compiler/lib/buildpack.rb:38:in `block in compile'
        from /app/slug-compiler/lib/buildpack.rb:36:in `fork'
        from /app/slug-compiler/lib/buildpack.rb:36:in `compile'
        from /app/slug-compiler/lib/slug.rb:451:in `block in run_buildpack'
        from /app/slug-compiler/lib/utils.rb:120:in `log'
        from /app/slug-compiler/lib/slug.rb:689:in `log'
        from /app/slug-compiler/lib/slug.rb:450:in `run_buildpack'
        from /app/slug-compiler/lib/slug.rb:110:in `block (2 levels) in compile'
        from /app/slug-compiler/lib/utils.rb:101:in `block in timeout'
        from /usr/local/lib/ruby/1.9.1/timeout.rb:58:in `timeout'
        from /app/slug-compiler/lib/utils.rb:101:in `rescue in timeout'
        from /app/slug-compiler/lib/utils.rb:96:in `timeout'
        from /app/slug-compiler/lib/slug.rb:99:in `block in compile'
        from /app/slug-compiler/lib/utils.rb:120:in `log'
        from /app/slug-compiler/lib/slug.rb:689:in `log'
        from /app/slug-compiler/lib/slug.rb:98:in `compile'
        from /app/slug-compiler/bin/slugc:85:in `block in <main>'
        from /app/slug-compiler/lib/slug.rb:459:in `block in lock'
        from /app/slug-compiler/lib/repo_lock.rb:44:in `call'
        from /app/slug-compiler/lib/repo_lock.rb:44:in `run'
        from /app/slug-compiler/lib/slug.rb:459:in `lock'
        from /app/slug-compiler/bin/slugc:66:in `<main>'
 !     Heroku push rejected, failed to compile Ruby/rails app

To git@heroku.com:mysite.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:mysite.git'

It seems that this is somewhat related to my gems file, since if i run heroku run bundle update it also stalls

My gem file source 'https://rubygems.org'

ruby '1.9.3'
gem 'rails', '3.2.5'
gem 'heroku', '~> 2.26.6'
gem "paperclip", " ~> 3.0"

gem 'jquery-rails', '2.0.1'
gem 'bootstrap-sass', '2.0.0'
gem 'bcrypt-ruby', '3.0.1'
gem 'faker', '1.0.1'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.6'
gem 'prototype-rails'

group :development, :test do
  gem 'sqlite3', '1.3.5'
  gem 'rspec-rails', '2.10.0'
  gem 'guard-rspec', '0.5.5'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.4'
end

group :test do
  gem 'capybara', '1.1.2'
  gem 'factory_girl_rails', '1.4.0'
  gem 'cucumber-rails', '1.2.1', :require => false
  gem 'database_cleaner', '0.7.0'
  gem 'guard-spork', '0.3.2'  
  gem 'spork', '0.9.0'
  gem 'launchy', '2.1.0'
  # gem 'rb-fsevent', '0.9.1', :require => false
  # gem 'growl', '1.0.3'
end

group :production do
  gem 'pg'
  gem 'thin'
end

there is a very similar post here at SO : Heroku push failing, perhaps timeout from rubygems, and it pointed to a single gem...But it doesn't clarify how can we find the breaking gem...Any ideas?

EDIT

This seems to be a problem with the pg Gem. I've discovered it by commenting my non-static (without a version specified) one by one. If i don't include the pg gem, the push gets done.

I should have checked what was my previous gems versions with the command

heroku run gem query --local > heroku_gems.txt

But since i didn't now i'm doomed to find the breaking version by hand :-S

EDIT 2

I tried to install some previous version of pg, like version 0.12.2, but still this isn't working...


Solution

  • After a whole day, and noticing there were some SSL problems with Heroku servers, i noticed i had the configuration config.force_ssl = true on my production.rb file.

    So i just tried, and put config.force_ssl = false, and voilá, I'm back to life again!

    Well, afterwards i've put it to true again, and still managed to publish again...

    Guess this was an heroku thing