168 votes

Erreur de déploiement Heroku H10 (App crashed)

J'ai une application RoR qui fonctionne sur mon ordinateur local, mais lorsque je l'envoie à heroku, elle se plante. Le journal des erreurs donne une erreur H10 et dit :

    2012-11-21T15:26:47+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.2/lib/new_relic/control/instance_methods.rb:95:in `start_agent'
    2012-11-21T15:26:48+00:00 heroku[web.1]: State changed from starting to crashed
    2012-11-21T15:26:48+00:00 heroku[web.1]: Process exited with status 1
    2012-11-21T15:26:59+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:27:00+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:30:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:30:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:30:59+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:31:19+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:31:19+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:32:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:32:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=

Edit :

2012-11-22T10:00:58+00:00 app[web.1]: 
2012-11-22T10:00:59+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno=web.1 queue=0 wait=0ms connect=1ms service=26ms status=200 bytes=0

Quelqu'un a-t-il déjà été confronté à ce problème et sait-il ce qui peut en être la cause ? Je ne trouve pas de solution.

Gracias.

0voto

M Donde Points 1

J'ai rencontré le même problème lors du déploiement sur Heroku (crash de l'application). Les journaux n'indiquaient pas l'origine du problème. La console Heroku a affiché une erreur de syntaxe dans le code d'une parenthèse supplémentaire. Étonnamment, je n'ai pas eu de problème sur les rails locaux lors de l'exécution de l'application et je l'ai donc manqué. Après correction et git push vers Heroku, l'application a commencé à fonctionner sur Heroku !

0voto

Neville Dabreo Points 49

J'ai mis à jour mes paramètres de app.set('ip_address', process.env.IP || '127.0.0.1' ) ;

à

app.set('ip_address', process.env.IP || '0.0.0.0' ) ;

que j'ai modifié pour l'hébergement Openshift

0voto

Ahmed Elkoussy Points 885

J'ai eu le même problème lorsque j'ai commencé à utiliser Puma dans heroku, comme prévu. leur guide ce problème a été résolu lorsque j'ai commenté la ligne du port indiquée ci-dessous

# port        ENV['PORT']     || 3000

Ainsi, la désactivation de la ligne ci-dessus dans le fichier puma.rb du répertoire config a résolu le problème.

workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['RAILS_MAX_THREADS'] || 5)
threads threads_count, threads_count

preload_app!

rackup      DefaultRackup
# port        ENV['PORT']     || 3000
environment ENV['RACK_ENV'] || 'production'

on_worker_boot do
  # Worker specific setup for Rails 4.1+
  # See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot
  ActiveRecord::Base.establish_connection
end

0voto

GilbertS Points 46

Dans mon cas, j'effectuais git push heroku master quand je ne suis pas sur la branche master. J'ai dû aller sur la branche master d'abord, fusionner le code avec mon autre branche et ensuite git pushed.

0voto

shrgrl Points 55

J'ai également rencontré la même erreur. L'ajout d'un .gitignore à mon projet a résolu mon problème.

Mon .gitignore est ici :

# Node build artifacts
node_modules
npm-debug.log

# Local development
*.env
*.dev
.DS_Store

# Docker
Dockerfile
docker-compose.yml

Et j'ai changé listen() fonction ;

app.listen(5000, function() {
console.log("Server running on port 5000...");
});

Je l'ai changé en ;

    const PORT = process.env.PORT || 5000

...

    app.listen(PORT, function() {
    console.log("Server running on port 5000...");
    });

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X