ArgumentError when starting Unicorn on Heroku
Switched my RoR (3.1.3, 1.9.2, Cedar Platform) app from Thin to Unicorn (4.6.2). It ran fine in development (Mac OSX), but when deploying to production on Heroku, it fails with the following messages: Starting process with command `bundle exec unicorn start -p 6069 -c ./config/unicorn.rb` /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:634:in `parse_rackup_file': rackup file (start) not readable (ArgumentError) from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:77:in `reload' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:68:in `initialize' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in `new' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in `initialize' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `new' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `top (required)' from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `load' from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `main' Process exited with status 1 State changed from starting to crashed config.ru: require ::File.expand_path('../config/environment', __FILE__) run NoveltyStats::Application Procfile: web: bundle exec unicorn start -p $PORT -c ./config/unicorn.rb sidekiq: bundle exec sidekiq -c 10 unicorn.rb: worker_processes Integer(ENV[WEB_CONCURRENCY] || 3) timeout 15 preload_app true before_fork do |server, worker| Signal.trap 'TERM' do puts 'Unicorn master intercepting TERM and sending myself QUIT instead' Process.kill 'QUIT', Process.pid end defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! end after_fork do |server, worker| Signal.trap 'TERM' do puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to sent QUIT' end defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection end I have no idea where to even begin to troubleshoot this problem. Any thoughts? -- -- You received this message because you are subscribed to the Google Groups Heroku group. To unsubscribe from this group, send email to heroku+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/heroku?hl=en_US?hl=en --- You received this message because you are subscribed to the Google Groups Heroku Community group. To unsubscribe from this group and stop receiving emails from it, send an email to heroku+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: ArgumentError when starting Unicorn on Heroku
On Sat, May 25, 2013 at 2:33 AM, Jack Royal-Gordon jac...@pobox.com wrote: Switched my RoR (3.1.3, 1.9.2, Cedar Platform) app from Thin to Unicorn (4.6.2). It ran fine in development (Mac OSX), but when deploying to production on Heroku, it fails with the following messages: Starting process with command `bundle exec unicorn start -p 6069 -c ./config/unicorn.rb` /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:634:in `parse_rackup_file': rackup file (start) not readable (ArgumentError) from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:77:in `reload' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:68:in `initialize' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in `new' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in `initialize' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `new' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `top (required)' from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `load' from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `main' Process exited with status 1 State changed from starting to crashed config.ru: require ::File.expand_path('../config/environment', __FILE__) run NoveltyStats::Application Procfile: web: bundle exec unicorn start -p $PORT -c ./config/unicorn.rb sidekiq: bundle exec sidekiq -c 10 unicorn.rb: worker_processes Integer(ENV[WEB_CONCURRENCY] || 3) timeout 15 preload_app true before_fork do |server, worker| Signal.trap 'TERM' do puts 'Unicorn master intercepting TERM and sending myself QUIT instead' Process.kill 'QUIT', Process.pid end defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! end after_fork do |server, worker| Signal.trap 'TERM' do puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to sent QUIT' end defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection end I have no idea where to even begin to troubleshoot this problem. Any thoughts? Well that sounds pretty bizarre. The way I'd go about solving this would be to us 'heroku run bash' and start poking around. Although the error message you see above can have multiple causes (says the web, I just ran some searching), the gist of your problem sounds like it could have to do with paths that may be different between Heroku and your personal computer (although there can be numerous other causes). -- -- You received this message because you are subscribed to the Google Groups Heroku group. To unsubscribe from this group, send email to heroku+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/heroku?hl=en_US?hl=en --- You received this message because you are subscribed to the Google Groups Heroku Community group. To unsubscribe from this group and stop receiving emails from it, send an email to heroku+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: ArgumentError when starting Unicorn on Heroku
Does that command run locally as is? It's likely that you have a global unicorn in /etc/init.d or something like that which supports those start commands (like this one: https://gist.github.com/jaygooby/504875). Unicorn by itself takes port and config via -p and -c. See the example in Procfile here: https://devcenter.heroku.com/articles/rails-unicorn Hope this helps. On Sat, May 25, 2013 at 7:18 PM, Daniel Farina dan...@heroku.com wrote: On Sat, May 25, 2013 at 2:33 AM, Jack Royal-Gordon jac...@pobox.com wrote: Switched my RoR (3.1.3, 1.9.2, Cedar Platform) app from Thin to Unicorn (4.6.2). It ran fine in development (Mac OSX), but when deploying to production on Heroku, it fails with the following messages: Starting process with command `bundle exec unicorn start -p 6069 -c ./config/unicorn.rb` /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:634:in `parse_rackup_file': rackup file (start) not readable (ArgumentError) from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:77:in `reload' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:68:in `initialize' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in `new' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in `initialize' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `new' from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `top (required)' from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `load' from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `main' Process exited with status 1 State changed from starting to crashed config.ru: require ::File.expand_path('../config/environment', __FILE__) run NoveltyStats::Application Procfile: web: bundle exec unicorn start -p $PORT -c ./config/unicorn.rb sidekiq: bundle exec sidekiq -c 10 unicorn.rb: worker_processes Integer(ENV[WEB_CONCURRENCY] || 3) timeout 15 preload_app true before_fork do |server, worker| Signal.trap 'TERM' do puts 'Unicorn master intercepting TERM and sending myself QUIT instead' Process.kill 'QUIT', Process.pid end defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! end after_fork do |server, worker| Signal.trap 'TERM' do puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to sent QUIT' end defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection end I have no idea where to even begin to troubleshoot this problem. Any thoughts? Well that sounds pretty bizarre. The way I'd go about solving this would be to us 'heroku run bash' and start poking around. Although the error message you see above can have multiple causes (says the web, I just ran some searching), the gist of your problem sounds like it could have to do with paths that may be different between Heroku and your personal computer (although there can be numerous other causes). -- -- You received this message because you are subscribed to the Google Groups Heroku group. To unsubscribe from this group, send email to heroku+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/heroku?hl=en_US?hl=en --- You received this message because you are subscribed to the Google Groups Heroku Community group. To unsubscribe from this group and stop receiving emails from it, send an email to heroku+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- dB. | Moscow - Geneva - Seattle - New York dblock.org http://www.dblock.org - @dblockdotorghttp://twitter.com/#!/dblockdotorg - artsy.net -- -- You received this message because you are subscribed to the Google Groups Heroku group. To unsubscribe from this group, send email to heroku+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/heroku?hl=en_US?hl=en --- You received this message because you are subscribed to the Google Groups Heroku Community group. To unsubscribe from this group and stop receiving emails from it, send an email to heroku+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.