私のRoRアプリ開発マシン(ローカルサーバー、OSX 10.8.1、Ruby 1.9.3、Rails 3.2.8)では、何か奇妙なことが(もちろん…)見え始めました。
Railsサーバーが崩壊し(すべてのルートが強制終了され、サーバーを再起動することがサーバーを再び機能させる唯一の方法です)、次のログエントリが表示されます。
SystemStackError (stack level too deep):
actionpack (3.2.8) lib/action_dispatch/middleware/reloader.rb:70
Rendered /Users/dekay/.rvm/gems/ruby-1.9.3-head@global/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.9ms)
Rendered /Users/dekay/.rvm/gems/ruby-1.9.3-head@global/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.2ms)
Rendered /Users/dekay/.rvm/gems/ruby-1.9.3-head@global/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (14.7ms)
私はグーグルで調べて、SystemStackErrorは通常無限ループが原因であることがわかりましたが、それを追跡できる限り、コードにそのようなループはありません。また、エラーはアプリケーションロジックの特定のステップにあるようには見えません。
サーバーのクラッシュと私のアクションの唯一の相関関係は次のとおりです。
- アプリのコードを変更する
- アプリの現在のウェブページをリロードします
- ブーム、サーバーがなくなった、エラーメッセージ。
この後、ページは機能しません。エラーは次のとおりです。
ルーティングエラー
[GET]「/」に一致するルートはありません
利用可能なルートの詳細については、レーキルートを実行してみてください。
誰かがこれをデバッグするための正しい方向に私を向けることができますか?PS:不注意な「バンドルの更新」の後に起こったのではないかと思います。これはできますか?