在我的RoR應用程序的開發機器(本地服務器,OSX 10.8.1,紅寶石1.9.3,3.2.8的Rails)一個奇怪的現象開始出現憑空(當然...):在服務器運行時通過更改文件觸發SystemStackError?
Rails的服務器崩潰(所有路由都殺了,服務器重新啓動是讓它再次合作的唯一途徑)與以下記錄:我用Google搜索,發現SystemStackError通常是由於一個無限循環
SystemStackError (stack level too deep):
actionpack (3.2.8) lib/action_dispatch/middleware/reloader.rb:70
Rendered /Users/dekay/.rvm/gems/[email protected]/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.9ms)
Rendered /Users/dekay/.rvm/gems/[email protected]/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.2ms)
Rendered /Users/dekay/.rvm/gems/[email protected]/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (14.7ms)
,但據因爲我可以跟蹤它,所以我的代碼中沒有這樣的循環。錯誤似乎並不在應用程序邏輯的某個步驟中。
服務器崩潰和我的行動之間的唯一關聯是:
- 變化的應用
- 重新加載應用程序
- 熱潮,服務器了,錯誤信息的當前網頁的一些代碼。在此之後
沒有頁面工作,錯誤是:
路由錯誤
沒有路由匹配[GET] 「/」
嘗試運行耙路線可用路由的詳細信息。
任何人都可以點我在正確的方向來調試這一點,好嗎? PS:我懷疑它發生在粗心的「軟件包更新」之後。這可以嗎?
您使用的是什麼寶石?您是否在ActiveSupport/ActiveDispatch/etc中使用任何方法?您還使用了哪種補丁版本的Ruby? – Novae
我在Rails 3.2.11和ruby 1.9.3-p385上看到了這個。 Gemenv:https://gist.github.com/coneybeare/4957822 Gemfile.lock:https://gist.github.com/coneybeare/4957828 – coneybeare