wake-up-neo.com

Heroku-Bereitstellungsfehler H10 (App abgestürzt)

Ich habe eine RoR-App auf meinem lokalen Computer, aber wenn ich sie an heroku schicke, stürzt sie ab. Das Fehlerprotokoll gibt einen Fehler H10 & sagt:

    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=

Bearbeiten:

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

Hat jemand dies schon einmal gehabt und wissen, was das Problem verursachen könnte? Ich kann keine Lösung finden.

Vielen Dank.

112
bskool

Ich bin auf den gleichen Fehler gestoßen, App stürzte auf Heroku ab (lief in dev einwandfrei), aber Fehlerprotokolle auf Heroku enthielten keine Hinweise. Ich habe andere Antworten auf dieser Seite gelesen und brach aus, nachdem ich gesehen hatte, dass die App neu aufgebaut wurde. Ich dachte mir, ich könnte vielleicht in die Heroku-Konsole steigen und mich umsehen. Ich habe es getan und sogar die Konsole ist abgestürzt, aber diesmal hat es mir gesagt, warum. Es war eine obskure Variable, die ich während einer Sitzung zur Fehlersuche zuvor gelöscht hatte. Ich sage nicht, dass Sie auf dasselbe Problem stoßen werden, aber ich habe mehr Informationen gefunden, als ich versuchte, durch die Konsole zu gehen. Hoffe das hilft.

$ heroku run Rails console
241
ntimba20

Ich hatte das gleiche Problem. Die Protokolle gaben mir auch keine Hinweise ... Also habe ich die Dynos herunterskaliert und wieder hochgefahren. Dies löste das Problem für mich:

heroku ps:scale web=0

Warten ein paar Sekunden ...

heroku ps:scale web=1
35
Hunter
$heroku run Rails console 

Dies ist die beste Option, da Sie einen Fehler in Ihrem Terminal erhalten, der viel detaillierter ist als der Fehler "App abgestürzt" in Ihren Heroku-Protokollen.

18
EricSchulz
$ heroku restart

hat mir geholfen, meinen Dyno wieder zum Laufen zu bringen. Ich bin neu bei Heroku, aber ich bin froh, dass ich es jetzt weiß.

15
Kyle Kwon

das passierte mir, als ich am falschen Port zuhörte

Ich habe mein listen () in "process.env.PORT" geändert:

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

anstatt 

http.listen(5000, function(){
  console.log('listening on *:5000');
});
11
newshorts

Hatte heute Abend dasselbe Problem. Nicht ein sehr hilfreicher Fehler, also habe ich versucht, in der Konsole auszuführen

heroku run Rails c

es schlug fehl und gab mir einen viel hilfreichen Fehler. Ich hatte es versäumt, einen Methodenaufruf in der Produktion zu löschen. Nachdem ich das behoben hatte, funktionierte die App gut.

10
Gregory

Ich löste dieses Problem, indem ich zu Git wechselte:

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

dann Push to Heroku:

git Push heroku

dann rake db: auf Heroku migrieren:

heroku run rake db:migrate
5
Frank C Jones

Ich habe es geschafft, meine .gitignore-Datei nicht einzuschließen -> die das Heroku bricht. #doh

Hier ist eine funktionierende .gitignore-Datei

/.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

Um eine .gitignore-Datei zu erstellen, navigieren Sie im Terminal zu Ihrem Apps-Verzeichnis und verwenden Sie den folgenden Befehl

touch .gitignore

Dann können Sie es in einem Texteditor öffnen und den obigen Code einfügen.

2
Joe Mellin

Ich habe diesen gleichen H10-App-Fehler in Heroku bekommen. Ich klickte in der Heroku-Benutzeroberfläche auf 'restart all dynos' und das Problem wurde behoben.

2
tomb

In meinem Fall habe ich ENV-Variablen in meiner App verwendet, aber in heroku config wurde dies nicht festgelegt. 

die Heroku-Konsole hat einen richtigen Fehler ausgegeben:

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

Stellen Sie dann die ENV-Konfiguration ein

heroku config:set AWS_ACCESS_KEY_ID='key'

Starten Sie das Heroku neu 

heroku restart

es klappt!!

2
devudilip

Ich habe den gleichen Fehler wie "app crashed" erhalten und die Heroku-App-Protokolle zeigen nicht viele Informationen zu den Fehlern der msg-Gründe an. Dann habe ich die Dynos in Heroku neu gestartet, und dann wurde der Fehler angezeigt, dass eine zusätzliche geschweifte Klammer in einer der index.js-Dateien in meinem Setup angegeben wurde. Das Problem wurde behoben, sobald es entfernt und die App auf Heroku erneut bereitgestellt wurde.

Ich hoffe, dies wird für jemanden hilfreich sein, der das gleiche Problem hat.

1
Praveen

Die Wurzel des Problems war, dass ich keine Datenbank hatte. Um das Problem zu beheben, habe ich zuerst meine lokale Datenbank exportiert:

$ 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 

Dann importiert es in Heroku:

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

Die in diesen Beispielen zu ersetzenden Variablen sind: mypassword, myuser, mydb & http://site.tld/mydb.dump. Beachten Sie, dass ich den Speicherauszug auf einen temporären Server hochladen musste.

Um alle meine Probleme zu lösen, schrieb ich eine kurze Anleitung zum Bereitstellen von Enki bei Heroku, , die hier zu finden ist.

1
bskool

Sehen Sie, wenn Sie bekommen 

bash: bin/Rails: No such file or directory

in logs während des laufenden Befehls (heroku logs -t), wenn ja, dann bitte Ausführen

bundle exec rake Rails:update

Überschreiben Sie Ihre Dateien nicht. Am Ende wird dieser Befehl erstellt

  create  bin
  create  bin/bundle
  create  bin/Rails
  create  bin/rake

Schieben Sie diese Dateien in das Heroku und Sie sind fertig.

1
Saqib R.

Nachdem ich die gesamte Liste der Antworten durchgegangen war, bin ich auf diese Website gestoßen: https://status.heroku.com/ , die den aktuellen Status/die Vorfälle bei Heroku angibt. Es ist immer sicher auf Zwischenfälle zu prüfen, bevor Sie Ihren Kopf gegen die Wand schlagen. Für mich war es der angehängte Vorfallbericht, der unter dem oben genannten Link veröffentlicht wurde, der den Fehler verursacht hat.

 SERVER INCIDENT UPDATE

1
PallavBakshi

Ich hatte das gleiche Problem, ich tat folgendes 

heroku run Rails c

Es hat einen Syntaxfehler und ein fehlendes Komma innerhalb eines Controllers festgestellt, der Parameter zulässt. Wie oben erwähnt, enthielten die Heroku-Protokolle keine ausreichenden Informationen, um das Problem zu lösen. 

Ich habe die Anwendung auf Heroku bisher nicht abgestürzt. 

1
Ben Strachan

Seien Sie beim Kopieren und Einfügen von Code sehr vorsichtig. Wenn Sie einen Block in eine Datei einfügen, wird er manchmal falsch formatiert und führt zu einem Fehler. 

Ich habe dieses Problem schon einmal gehabt und diesen Fehler erhalten: Unerwarteter TIDENTIFIER erwartet Keyword_end

0
Matt Perejda

Ich hatte H10 mit Heroku und Node aufgrund eines falschen Namens der Hauptcodedatei. package.json bearbeiten:

{

  ...

  "main": "correct_file_name.js",

  ...

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

Oder benennen Sie die Datei um.

0
ariel

Hatte dasselbe Problem. für mich war es ein Fehler in before_action-Filtern (wegen leerer DB) Überprüfen Sie Ihre before_action-Filter, vielleicht werfen sie ungehemmte Ausnahmen. 

0
sphinx96

Ich hatte das gleiche Problem (derselbe Fehler bei Heroku, der auf dem lokalen Computer arbeitet) und ich habe alle hier aufgeführten Lösungen ausprobiert, einschließlich heroku run Rails console, Die ohne Fehlermeldungen lief. Ich habe ein paar Mal heroku run rake db:migrate und heroku run rake db:migrate:reset ausprobiert. Nichts davon löste das Problem. Beim Durchlaufen einiger Dateien, die in der Produktion verwendet werden, jedoch nicht in der dev-Umgebung, habe ich in der Datei puma.rb einige Leerzeichen gefunden, die der Täter sind. Ich hoffe, dass dies jemandem hilft, der das gleiche Problem hat

  ActiveRecord::Base.establish_connection
  End

zu

  ActiveRecord::Base.establish_connection
end
0
Rahul Madhavan

Ich bin heute auf das gleiche Problem gestoßen. Ich habe heroku run rake db:migrate gemacht, obwohl ich das Modell zuvor migriert habe und die App nicht abstürzt.

0
Tu H.

Wenn Sie Node verwenden, können Sie versuchen, den Befehl "Befehl" direkt in der Konsole auszuführen. In meinem Fall führe ich eine kantige Anwendung aus, also habe ich Folgendes versucht:

heroku run npm start

Dies zeigte mir den genauen Fehler beim Start der Anwendung.

0
Victor Vargas

Ich habe meine Einstellungen von App.set ('ip_address', process.env.IP || '127.0.0.1' ) aktualisiert.

zu 

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

was ich für Openshift Hosting geändert habe

0
Neville Dabreo

Ich hatte dieses Problem, als ich versuchte, Rails in einem Unterverzeichnis und nicht in / auszuführen. Ich hatte zum Beispiel eine Angular/Node/Gulp-App in /client und eine Rails-App in /server, aber beide waren im selben Git-Repo, sodass ich Änderungen über das Front-End und das Back-End verfolgen konnte. Ich habe diesen Fehler erhalten, als ich versuchte, sie bei Heroku bereitzustellen. Für alle, die dieses Problem haben, ist hier ein benutzerdefiniertes Buildpack, mit dem Rails in einem Unterverzeichnis ausgeführt werden kann.

https://github.com/aarongray/heroku-buildpack-Ruby

0
Aaron Gray

Ich hatte das gleiche Problem, als ich anfing, Puma in Heroku zu verwenden, wie auf ihrem Leitfaden Seite. Dieses Problem wurde gelöst, als ich die unten gezeigte Portlinie kommentierte

# port        ENV['PORT']     || 3000

Durch Deaktivieren der obigen Zeile in der Datei puma.rb im Verzeichnis config wurde das Problem behoben

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
0
Ahmed Elkoussy

Bei der Bereitstellung auf Heroku bin ich auf dasselbe Problem gestoßen (App-Absturz). Protokolle zeigten nicht an, was das Problem sein könnte. Die Heroku-Konsole zeigte einen Syntaxfehler im Code einer zusätzlichen Klammer an. Überraschenderweise hatte ich bei der Ausführung der App kein Problem mit Local Rails und verpasste es daher. Nach Korrektur und Git Push to Heroku begann die App mit Heroku!

0
M Donde

In meinem Fall brach die Procfile, die ich verwendete, alles. Heroku sucht nach Procfile und wendet seine Einstellungen beim Starten der App an. Die von mir verwendeten Dev-Einstellungen waren für den Prod-Server offensichtlich nicht sinnvoll. Ich musste es in Procfile.dev umbenennen und alles begann normal zu funktionieren.

0
The Whiz of Oz