jqr/heroku_san

Broken Rake tasks with 4.3.1

markoa opened this issue · 3 comments

Hi,

I've discovered this while investigating a problem for a couple of users of Semaphore. So in CI the symptom is that running rake db:setup hangs forever.

Running strace showed that the process was waiting to read something.

Hitting Ctrl-C on it gave this output:

$ bundle exec rake db:setup
^Crake aborted!

/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/api.rb:38:in ``'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/api.rb:38:in `block in auth_token'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/api.rb:38:in `auth_token'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/api.rb:7:in `initialize'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/stage.rb:15:in `new'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/stage.rb:15:in `initialize'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/configuration.rb:25:in `new'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/configuration.rb:25:in `block in stages'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/configuration.rb:24:in `each'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/configuration.rb:24:in `inject'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/configuration.rb:24:in `stages'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/project.rb:15:in `stages'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/project.rb:27:in `all'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/tasks.rb:12:in `<top (required)>'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in `load'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in `block in load'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in `load'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/railtie.rb:6:in `block in <class:Railtie>'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/railtie.rb:201:in `instance_exec'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/railtie.rb:201:in `block in run_tasks_blocks'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/railtie.rb:201:in `each'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/railtie.rb:201:in `run_tasks_blocks'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/application.rb:243:in `block in run_tasks_blocks'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine/railties.rb:17:in `each'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine/railties.rb:17:in `each'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/application.rb:243:in `run_tasks_blocks'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine.rb:446:in `load_tasks'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/railtie/configurable.rb:30:in `method_missing'
/home/user/123/Rakefile:6:in `<top (required)>'
(See full trace by running task with --trace)
user@81f99b800aaac9514b7340f9a61de16f5facbcde:~/123$ /usr/local/heroku/lib/heroku/cli.rb:30:in ``': Broken pipe (Errno::EPIPE)
    from /usr/local/heroku/lib/heroku/cli.rb:30:in `rescue in start'
    from /usr/local/heroku/lib/heroku/cli.rb:19:in `start'
    from /usr/local/heroku/bin/heroku:24:in `<main>'
^C

Going back one version "solves" the problem.

It is trying to log into Heroku. You need to set 'HEROKU_API_KEY' in your
environment.

 # heroku auth:token

will display the key for you. Then you need to securely add that to the
semaphore configuration.

On Saturday, October 26, 2013, Marko Anastasov wrote:

Hi,

I've discovered this while investigating a problem for a couple of users
of Semaphore. So in CI the symptom is that running rake db:setup hangs
forever.

Running strace showed that the process was waiting to read something.

Hitting Ctrl-C on it gave this output:

$ bundle exec rake db:setup
^Crake aborted!

/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/api.rb:38:in ' /home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/api.rb:38:in block in auth_token'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/api.rb:38:in auth_token' /home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/api.rb:7:in initialize'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/stage.rb:15:in new' /home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/stage.rb:15:in initialize'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/configuration.rb:25:in new' /home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/configuration.rb:25:in block in stages'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/configuration.rb:24:in each' /home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/configuration.rb:24:in inject'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/configuration.rb:24:in stages' /home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/project.rb:15:in stages'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/project.rb:27:in all' /home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/heroku_san/tasks.rb:12:in <top (required)>'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in load' /home/user/123/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in block in load'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:213:in load_dependency' /home/user/123/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in load'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/heroku_san-4.3.1/lib/railtie.rb:6:in block in <class:Railtie>' /home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/railtie.rb:201:in instance_exec'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/railtie.rb:201:in block in run_tasks_blocks' /home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/railtie.rb:201:in each'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/railtie.rb:201:in run_tasks_blocks' /home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/application.rb:243:in block in run_tasks_blocks'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine/railties.rb:17:in each' /home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine/railties.rb:17:in each'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/application.rb:243:in run_tasks_blocks' /home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine.rb:446:in load_tasks'
/home/user/123/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/railtie/configurable.rb:30:in method_missing' /home/user/123/Rakefile:6:in <top (required)>'
(See full trace by running task with --trace)
user@81f99b800aaac9514b7340f9a61de16f5facbcde:~/123$ /usr/local/heroku/lib/heroku/cli.rb:30:in': Broken pipe (Errno::EPIPE) from /usr/local/heroku/lib/heroku/cli.rb:30:in rescue in start'
from /usr/local/heroku/lib/heroku/cli.rb:19:instart' from /usr/local/heroku/bin/heroku:24:in

'
^C

Going back one version "solves" the problem.


Reply to this email directly or view it on GitHubhttps://github.com//issues/156
.

ken@bitwrangler.com | (808) 722-6142 (c)

Cool, thanks for the info. I suppose this was not required before so people didn't expect it, which made me report it.

I think it's a regression bug. I've received a couple of reports now since
I released the update. It's gone to the top of my priority queue

On Mon, Oct 28, 2013 at 9:27 AM, Marko Anastasov
notifications@github.comwrote:

Cool, thanks for the info. I suppose this was not required before so
people didn't expect it, which made me report it.


Reply to this email directly or view it on GitHubhttps://github.com//issues/156#issuecomment-27227743
.

ken@bitwrangler.com | (808) 722-6142 (c)