Erreur de déploiement Heroku H10 (l'application s'est écrasée)

J'ai une application RoR qui fonctionne sur mon ordinateur local, mais quand je l'envoie à heroku, elle se bloque. Le journal des erreurs donne une erreur H10 & 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=

Modifier:

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à eu cela et sait ce qui pourrait causer le problème? Je ne peux pas trouver une solution.

Merci.

107
demandé sur bskool 2012-11-21 19:45:49

24 réponses

J'ai rencontré la même erreur ci-dessus, l'application plantait sur heroku (fonctionnant bien dans dev) mais les journaux d'erreurs sur heroku ne révélaient aucun indice. J'ai lu d'autres réponses sur cette page et j'ai éclaté en sueur après avoir vu " reconstruire l'application."Je me suis dit que je pourrais peut-être entrer dans la console heroku et regarder autour de moi. Je l'ai fait et même la console s'est écrasé, mais cette fois, il m'a dit pourquoi. C'était une variable obscure que j'ai oublié de supprimer lors d'une session de dépannage quelques heures plus tôt. Je ne dis pas que vous exécuter dans le même problème, mais j'ai trouvé plus d'info quand j'ai essayé de passer par la console. Espérons que cette aide.

    $heroku run rails console
219
répondu ntimba20 2014-06-09 03:23:37

J'avais le même problème. Les journaux ne me donnaient aucun indice non plus. J'ai donc réduit et réduit les dynos. Cela a résolu le problème pour moi:

heroku ps:scale web=0

J'ai attendu quelques secondes...

heroku ps:scale web=1
34
répondu Hunter 2016-01-12 16:43:41
$heroku run rails console 

C'est la meilleure option car elle vous donnera une erreur dans votre terminal qui sera beaucoup plus détaillée que l'erreur 'app crashed' dans vos journaux Heroku.

18
répondu EricSchulz 2014-06-30 21:43:06
$ heroku restart

M'a aidé à faire fonctionner mon dyno à nouveau. Je suis nouveau à Heroku mais content de savoir maintenant.

14
répondu Kyle Kwon 2016-07-06 10:02:39

Cela m'est arrivé quand j'écoutais sur le mauvais port

J'ai changé mon listen () "de processus.env.PORT" donc:

http.listen((process.env.PORT || 5000), function(){
  console.log('listening on *:5000');
});

Au Lieu de

http.listen(5000, function(){
  console.log('listening on *:5000');
});
10
répondu newshorts 2015-07-06 21:49:29

A eu le MÊME PROBLÈME Ce soir. Pas une erreur très utile donc j'ai essayé de courir dans la console

heroku run rails c

Il a échoué et m'a donné une erreur beaucoup plus utile. J'avais négligé de supprimer un appel de méthode en production. Une fois que j'ai corrigé cela, l'application a bien fonctionné.

10
répondu Gregory 2016-04-14 03:04:46

J'ai résolu ce problème en poussant vers Git:

git add .
git commit -am "some text"
git push

Puis poussez vers Heroku:

git push heroku

Puis rake db: migrer sur Heroku:

heroku run rake db:migrate
5
répondu Frank C Jones 2014-06-01 07:28:22

J'ai réussi à ne pas inclure mon .fichier gitignore - > qui brise heroku. # doh

Voici un travail .fichier gitignore

/.bundle
/vendor/bundle/
/vendor/ruby/


db/*.sqlite3
/db/*.sqlite3-journal
/log/*
/tmp/*


**.war
*.rbc
*.sassc
.redcar/
.sass-cache
/config/config.yml
/config/database.yml
/coverage.data
/coverage/
/db/*.javadb/
/db/*.sqlite3
/doc/api/
/doc/app/
/doc/features.html
/doc/specs.html
/public/cache
/public/stylesheets/compiled
/public/system/*
/spec/tmp/*
/cache
/capybara*
/capybara-*.html
/gems
/specifications
rerun.txt
pickle-email-*.html
.zeus.sock

**.orig

.DS_Store

/nbproject/

.idea

/*.tmproj

**.swp

.env
.powenv

Pour créer un .fichier gitignore, dans terminal accédez au répertoire de vos applications et utilisez la commande suivante

touch .gitignore

Ensuite, vous pouvez l'ouvrir dans un éditeur de texte et y mettre le code ci-dessus.

2
répondu Joe Mellin 2014-09-17 17:32:11

Je recevais cette même erreur de l'application H10 dans Heroku. J'ai cliqué sur 'redémarrer tous les dynos' dans l'interface heroku, et le problème a été résolu.

2
répondu tomb 2016-02-04 19:30:46

Dans mon cas, j'utilisais des variables ENV dans mon application, mais elle n'était pas définie dans heroku config.

La console Heroku a donné une erreur appropriée:

heroku console
`validate_options': Missing required arguments: aws_access_key_id, aws_secret_access_key (ArgumentError)

Ensuite, définissez la configuration ENV

heroku config:set AWS_ACCESS_KEY_ID='key'

Redémarrez le Heroku

heroku restart

Ça marche!!

2
répondu devudilip 2017-06-20 19:24:50

Voir si vous obtenez

bash: bin/rails: No such file or directory

Dans les journaux pendant l'exécution de la commande (Heroku logs-t) si oui, exécutez

bundle exec rake rails:update

Ne pas écraser vos fichiers, à la fin cette commande va créer

  create  bin
  create  bin/bundle
  create  bin/rails
  create  bin/rake

Poussez ces fichiers à heroku et vous avez terminé.

1
répondu Saqib R. 2015-06-10 08:41:47

La racine du problème auquel je faisais face était due à ne pas avoir de base de données. Pour résoudre le problème, j'ai d'abord exporté ma base de données locale:

$ heroku addons:add heroku-postgresql:dev 
$ heroku addons:add pgbackups
$ PGPASSWORD=mypassword pg_dump -Fc --no-acl --no-owner -h localhost -U myuser mydb > mydb.dump 

Puis importé dans Heroku:

$ heroku pgbackups:restore DATABASE 'http://site.tld/mydb.dump'

Les variables à remplacer dans ces exemples sont: mypassword, myuser, mydb & http://site.tld/mydb.dump. Notez que j'ai dû télécharger le vidage sur un serveur temporaire.

Résoudre tous mes problèmes j'ai écrit un guide rapide sur la façon de déployer ENKI à Heroku, qui peut être trouvé ici.

1
répondu bskool 2015-10-30 14:57:44

J'ai eu la même erreur ci-dessus que "app s'est écrasé" et les journaux de l'application heroku ne montrent pas beaucoup d'informations liées aux raisons de l'Erreur msg. Ensuite, j'ai redémarré les dynos dans heroku, puis il a montré l'erreur en disant Accolade supplémentaire dans l'un des index.fichiers js dans ma configuration. Le problème a été corrigé une fois qu'il est supprimé et redéployé l'application sur heroku.

J'espère que cela sera utile à quelqu'un confronté au même problème.

1
répondu Praveen 2017-09-06 04:48:20

J'ai eu le même problème, j'ai fait ce qui suit

heroku run rails c

Il a identifié une erreur de syntaxe et une virgule manquante dans un contrôleur autorisé params. Comme mentionné ci-dessus, les journaux Heroku ne fournissaient pas suffisamment d'informations pour résoudre le problème.

Je n'ai pas vu le message de l'application écrasé sur Heroku précédemment.

1
répondu Ben Strachan 2018-10-06 11:36:34

, j'ai rencontré le même problème aujourd'hui. J'ai fait heroku run rake db:migrate Bien que j'ai migré le modèle avant, et l'application ne plante pas.

0
répondu Tu H. 2012-12-11 05:20:50

Soyez très prudent de copier et coller du code. Parfois, lorsque vous ajoutez un bloc dans un fichier, il est mal formaté et génère une erreur.

J'ai déjà eu ce problème et j'ai eu cette erreur: tidentifier inattendu, attendant keyword_end

0
répondu Matt Perejda 2014-10-02 02:07:42

Avait le même problème. pour moi, c'était une erreur dans les filtres before_action (parce que dB vide) Vérifiez vos filtres before_action, peut-être qu'ils jettent des exeptions non bloquées.

0
répondu sphinx96 2015-06-30 10:05:43

J'ai eu ce problème en essayant D'exécuter Rails dans un sous-répertoire, et non dans /. Par exemple, J'avais L'application Angular/Node/Gulp en cours d'exécution dans /client et une application Rails en cours d'exécution dans /server, mais les deux étaient dans le même repo git, donc je pouvais suivre les changements à travers le frontal et le back end. J'ai eu cette erreur en essayant de les déployer à Heroku. Pour toute autre personne ayant ce problème, Voici un buildpack personnalisé qui permettra D'exécuter des Rails dans un répertoire.

Https://github.com/aarongray/heroku-buildpack-ruby

0
répondu Aaron Gray 2015-07-13 22:20:27

J'ai eu le même problème (même erreur sur heroku, travaillant sur une machine locale) et j'ai essayé toutes les solutions listées ici, y compris heroku run rails console qui a couru sans messages d'erreur. J'ai essayé heroku run rake db:migrate et heroku run rake db:migrate:reset Quelques fois. Rien de tout cela a résolu le problème. En parcourant certains fichiers utilisés en production mais pas dans l'environnement de développement, j'ai trouvé des espaces dans le puma.fichier rb pour être le coupable. Espérons que cela aide quelqu'un qui a le même problème. Changer cela a fonctionné

  ActiveRecord::Base.establish_connection
  End

À

  ActiveRecord::Base.establish_connection
end
0
répondu Rahul Madhavan 2015-12-12 15:59:18

J'ai rencontré le même problème lors du déploiement sur Heroku (crash de l'application). Les journaux n'indiquaient pas quel pourrait être le problème. Heroku console affiché erreur de syntaxe dans le code d'un support supplémentaire. Étonnamment, je n'ai pas un problème local rails lors de l'exécution de l'application et donc raté. Après correction et git push à Heroku, l'application a commencé à travailler sur Heroku!

0
répondu M Donde 2016-11-18 15:29:16

J'ai mis à jour mes paramètres à partir de App.set('ip_address", processus.env.IP|| '127.0.0.1');

À

App.set('ip_address", processus.env.IP|| '0.0.0.0');

Que j'ai changé pour l'hébergement Openshift

0
répondu Neville Dabreo 2017-06-12 16:06:41

J'ai eu H10 avec Heroku et Node en raison du mauvais nom du fichier de code principal. Modifier package.json:

{

  ...

  "main": "correct_file_name.js",

  ...

  "scripts": {
    "start": "node correct_file_name.js"
  }
}

Ou renommez le fichier.

0
répondu ariel 2017-11-28 03:11:13

Dans mon cas, le Procfile que j'ai utilisé cassait tout. Heroku Recherche Procfile et applique ses paramètres lors du lancement de l'application - il est clair que les paramètres de développement que j'ai utilisés n'avaient aucun sens pour le serveur prod. J'ai dû le renommer en Procfile.dev et tout a commencé à fonctionner normalement.

0
répondu The Whiz of Oz 2018-06-22 15:33:53