HerokuデプロイメントエラーH10(アプリがクラッシュしました)


135

ローカルコンピューターでRoRアプリが動作していますが、herokuに送信するとクラッシュします。エラーログはエラーH10を示し、次のように述べています。

    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=

編集:

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

誰かがこれを以前に経験したことがあり、何が問題を引き起こしているのか知っていますか?解決策が見つかりません。

ありがとう。


数か月前に同じエラーが発生しました。新しいHEROKUアプリを始めたばかりです。あなたはダイノプールでダイノを壊したようです。
Rustem

残念ながら、これで私の問題は解決しませんでした。
bskool 2012年

Herokuで、またはアプリでNew Relicを構成するために必要なことはありますか?(NewRelicはサーバーとアプリの監視ソフトウェアなので、表示されているのはNewRelicが "アプリがクラッシュした"と言って起動している可能性があります)。また、別のSO投稿があります -回答の手順を参照してください。
トムハリソン

返信のタリソンをありがとう。私はまだこの問題を乗り越えられないようです。あなたが投稿したリンクに関して、Heroku gemは非推奨であり、SQLite3からPostgreSQLに既に移行していることを指摘しておきます。
bskool 2012年

これを試してください:heroku config:add BUILDPACK_URL = github.com/joelcogen/heroku-buildpack-rails-unicorn-nginx
ChuckJHardy

回答:


292

上記と同じエラーが発生しました。アプリはherokuでクラッシュしましたが(devで正常に実行されています)、herokuのエラーログでは手掛かりが明らかになりませんでした。このページで他の回答を読んで、「アプリの再構築」を見た後、すぐに気付きました。herokuのコンソールに行って見回すことができると思いました。私はそうしました、そしてコンソールさえクラッシュしました、しかし今回はそれが私に理由を教えてくれました。それは、トラブルシューティングセッションの数時間前に削除するのを忘れていた、あいまいな変数でした。同じ問題が発生するとは言っていませんが、コンソールを試してみたところ、詳しい情報が見つかりました。お役に立てれば。

$ heroku run rails console

24
これは素晴らしい答えで、herokuログに詳細が欠けていたときに役に立ちました。ありがとう。
ミカ

8
ただ言いたかったのですが、この問題が再び発生しました。グーグルでこの回答を見つけ、賛成票を投じたところ、問題が再び解決しました。@ user3721026に感謝します。このコメントが表示される場合は、upvoteしてください答え、再び私がすることができないので:P
mraaroncruz

1
私がこの答えを見つけたときと同じ汗をかいた、完璧!
クレイグマクガフ2014

3
私はpythonで同じ問題を抱えていましたが、代わりにここで偶然見つけました。それに相当するのは「$ heroku run python manage.py shell」で、何が問題だったかすぐにわかりました。
dlb8685 14年

11
heroku restart問題を特定するのに役立ちました。マイbinフォルダが欠落していました。
Steve

44

私は同じ問題を抱えていました。丸太も私に手掛かりを与えていませんでした。だから私はダイノをスケールダウンし、スケールアップしました。これは私にとって問題を解決しました:

heroku ps:scale web=0

数秒待った...

heroku ps:scale web=1

3
AKA "restart" :)ありがとう!
AD

21
heroku restart私のために働いた解決策でした、そして私は(舞台裏で)これは同様のトリックだと思います 再起動は、すべてのdynoを停止し、新たに開始することで実装されます。
Jochem Schulenklopper

1
これは、最新のスタック(heroku-18)にアップグレードした後に起こりました。これを実行すると、完全に機能しました!
robe007

21
$heroku run rails console 

これは、Herokuログの「アプリがクラッシュした」エラーよりもはるかに詳細なエラーをターミナルに表示するため、最適なオプションです。


1
これは答えではないようです。質問を強化する方法の単なる提案。このためには、コメントセクションを使用する必要があります。
Kamiccolo 2014年

3
これが正解です。ただし、上記と同じ stackoverflow.com/a/24113266/376680
mraaroncruz

1
コマンドが何をするのかを説明しているので、ntimba20の回答と比べて何が説明されていないのかがわかります。
bartoindahouse 2016年

18
$ heroku restart

dynoを再び実行できるようにしました。Herokuは初めてですが、今知ってよかったです。


14

これは私が間違ったポートで聞いていたときに起こりました

listen()を "process.env.PORT"に変更しました。

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

の代わりに

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

11

今晩も同じ問題がありました。あまり役に立たないエラーなので、コンソールで実行してみました

heroku run rails c

失敗し、はるかに役立つエラーが表示されました。本番環境でメソッド呼び出しを削除することを怠っていました。修正すると、アプリは正常に動作しました。


これで完了です。私は、ローカルおよびHerokuの上のRubyの異なるバージョンを使用していた、そしてそれはその結果ましたSyntaxError。ログは多くの情報を提供しませんでしたが、提供しましrails cた。
マシューホワイト

私にとっての問題は、Mailというモデル/テーブルを作成したことです。これはローカルでは問題なく機能しましたが、このモデルでActionMailerを使用しようとしていると考えていたため、Herokuでジョブの競合が発生しました。herokuコンソールを実行すると、H10アプリのクラッシュエラーの根本を特定できる詳細なエラーが発生しました
Zack Weiner

おかげで私の問題は解決しました。最終的に、実際のエラースーパークラスの不一致が発生し、ファビコンに関連するものは何もない
Mauro

5

私はGitにプッシュすることでこの問題を解決しました:

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

次にHerokuにプッシュします。

git push heroku

次に、Herokuでdb:migrateを実行します。

heroku run rake db:migrate

9
それがどのように違いを生むかはわかりません。しかし、それがあなたのためにうまくいったことを嬉しく思います:)
bskool

私はアプリの名前を変更してこの問題が発生し、heroku run rake db:migrateを実行しました。それは機能します:)
Richlewis

2
これは、heroku dbに移行するものがあるためです
Manny Quintanilla

3

私はなんとか.gitignoreファイルを含めないようにしました-> herokuを壊します。#doh

これが作業中の.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

.gitignoreファイルを作成するには、ターミナルでアプリのディレクトリに移動し、次のコマンドを使用します

touch .gitignore

次に、それをテキストエディターで開き、上記のコードを挿入します。


3

私の場合、アプリでENV変数を使用していましたが、heroku構成で設定されていませんでした。

herokuコンソールは適切なエラーを出しました:

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

次にENV設定を設定します

heroku config:set AWS_ACCESS_KEY_ID='key'

Herokuを再起動します。

heroku restart

できます!!


2

Herokuでこれと同じH10アプリのクラッシュエラーが発生しました。herokuインターフェースの「restart all dynos」をクリックして問題を解決しました。


1
私も全く同じ問題を抱えていました。Railsコンソールにエラーは表示されませんでした。アプリのログにエラーはありません。コマンドラインから再起動してみて、0に縮小してからバックアップしてみました。何もうまくいきませんでした。機能した唯一のことは、Herokuにログインして、右上のドロップダウンで[すべてのdynoを再起動]をクリックしたことです。ご協力いただきありがとうございます!
ウィルテュー

2

H10メインコードファイルの名前が間違っているため、HerokuとNode を使用していました。編集package.json

{

  ...

  "main": "correct_file_name.js",

  ...

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

または、ファイルの名前を変更します。


1

あなたが得るかどうかを確認してください

bash: bin/rails: No such file or directory

実行中にログに(heroku logs -t)コマンドが表示された場合は、実行してください。

bundle exec rake rails:update

ファイルを上書きしないでください。最終的に、このコマンドによって作成されます

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

これらのファイルをherokuにプッシュすれば完了です。


1

私が直面していた問題の根本は、データベースがないことが原因でした。この問題を解決するには、まずローカルデータベースをエクスポートしました。

$ 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 

次に、それをHerokuにインポートしました。

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

:これらの例で交換する変数はmypasswordmyusermydbhttp://site.tld/mydb.dump。ダンプを一時サーバーにアップロードする必要があったことに注意してください。

すべての問題を解決するEnkiをHerokuにデプロイする方法についてのクイックガイドを作成しました


1

上記の「アプリがクラッシュしました」と同じエラーが発生し、herokuアプリのログにエラーメッセージの理由に関連する多くの情報が表示されません。次に、herokuでdynoを再起動すると、セットアップのindex.jsファイルの1つに中括弧が追加されているというエラーが表示されました。この問題は、アプリケーションを削除してherokuに再デプロイすると修正されました。

これが同じ問題に直面している人に役立つことを願っています。


1

:回答のリスト全体を通過した後、私はこのウェブサイトにつまずいたhttps://status.heroku.com/ Herokuので、現在のステータス/インシデントを詳しく説明します。頭を壁にぶつける前に、インシデントをチェックするのは常に安全です。私にとって、エラーを引き起こしたのは、上記のリンクで公開された添付のインシデントレポートでした。

サーバーインシデントの更新


1

私の場合、Procfile私が使用したものはすべてを壊していました。HerokuはProcfile、アプリを起動するときにその設定を探して適用します。明らかに、私が使用した開発設定は、prodサーバーには意味がありませんでした。名前を変更する必要がProcfile.devあり、すべてが正常に動作し始めました。


1

私は同じ問題を抱えていました、私は次のことをしました

heroku run rails c

コントローラの許可されたパラメータ内に構文エラーとコンマの欠落を識別しました。上記のように、Herokuログは問題を解決するための十分な情報を提供しませんでした。

以前、Herokuでアプリケーションがクラッシュしたというメッセージを見たことがありません。


私の場合、uninitialized constantHerokuにローカルに存在しないエラーがありました。それでも解決する必要がありますが、正常に機能するデプロイメントを元に戻すことができました。
Steve Meisner

1

Nodeを使用している場合は、コンソールでserveコマンドを直接実行してみてください。私の場合、私は角度アプリケーションを実行しているので、私は試してみました:

heroku run npm start

これにより、アプリケーションの起動時の正確なエラーがわかりました。


1

@Ahmed Elkoussyの場合と同様に、問題をPumaサーバーまでたどりましたが、puma.rbファイルの次の行をコメント化するだけで解決しました。

# pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }


0

今日も同じ問題に遭遇しました。私がやったheroku run rake db:migrate私は前モデルを移行しても、アプリがクラッシュしません。


0

コードのコピーと貼り付けには十分注意してください。場合によっては、ファイルにブロックを追加すると、ブロックが正しくフォーマットされず、エラーが発生することがあります。

以前にこの問題があり、このエラーが発生しました:予期しないtIDENTIFIER、keyword_endが必要です


理解せずにコードをコピーして貼り付けることはカーゴカルトプログラミングと呼ばれ、少し「フォーマット」するよりもはるかに多くの問題を引き起こします
David Meister

0

同じ問題がありました。私にとってそれはbefore_actionフィルターのエラーでした(空のDBのため)before_actionフィルターを確認してください。おそらく、それらは取り残された例外をスローします。


0

Railsをではなく、サブディレクトリで実行しようとすると、この問題が発生しました/。たとえば、Angular / Node / Gulpアプリを実行し/client、Railsアプリをで実行しました/serverが、どちらも同じgitリポジトリにあるため、フロントエンドとバックエンドの変更を追跡できます。Herokuにデプロイしようとすると、このエラーが発生しました。この問題を抱えている他の人のために、サブディレクトリでRailsを実行できるようにするカスタムビルドパックを次に示します。

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


0

同じ問題(herokuでの同じエラー、ローカルマシンでの作業)があり、heroku run rails console エラーメッセージなしで実行されたものを含め、ここにリストされているすべての解決策を試しました 。私が試したheroku run rake db:migrateし、heroku run rake db:migrate:reset数回。これで問題は解決しませんでした。本番環境で使用されているが、開発環境では使用されていないファイルをいくつか調べてみたところ、puma.rbファイルの空白が原因であることがわかりました。これが同じ問題を抱えている人に役立つことを願っています。これを変更するとうまくいきました

  ActiveRecord::Base.establish_connection
  End

  ActiveRecord::Base.establish_connection
end

0

Herokuへのデプロイ中に同じ問題が発生しました(アプリのクラッシュ)。ログには、問題の原因が示されていませんでした。Herokuコンソールで、余分なブラケットのコードに構文エラーが表示されました。驚いたことに、私はアプリを実行している間、ローカルレールに問題がなかったため、見逃しました。Herokuへの修正とgit pushの後、アプリはHerokuの作業を開始しました!


0

app.set( 'ip_address'、process.env.IP || '127.0.0.1'); から設定を更新しました。

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

Openshiftホスティング用に変更したもの


0

herokuでガイドページに従ってPumaを使い始めたときに同じ問題が発生しました。この問題は、以下に示すポート行にコメントを付けると解決しました

# port        ENV['PORT']     || 3000

したがって、configディレクトリのpuma.rbで上記の行を無効にすると、問題が解決しました

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

私の場合、私はgit push heroku masterマスターブランチにいないときに演奏していました。最初にマスターブランチに移動し、コードを他のブランチとマージしてから、Gitプッシュする必要がありました。


0

同じエラーが発生しました。.gitignoreプロジェクトにファイルを追加すると問題が解決しました。

私の.gitignoreファイルはここにあります:

# Node build artifacts
node_modules
npm-debug.log

# Local development
*.env
*.dev
.DS_Store

# Docker
Dockerfile
docker-compose.yml

そして、私はlisten()機能を変更しました。

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

に変更しました。

    const PORT = process.env.PORT || 5000

...

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

0

私がDevに投稿し、Reactを使用するほとんどの人のために働いたソリューション:

https://medium.com/@uros.randelovic/causes-of-heroku-h10-app-crashed-error-and-how-to-solve-them-70495914d2a3?sk=1c51cf95e904f754a43a4b63a06b5503

npm install serve --s
"scripts": {
"dev": "react-scripts start",
"start": "serve -s build",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject",
"heroku-postbuild": "npm run build"
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.