2010-08-29 17 views
1

我有西納特拉一個奇怪的問題......西納特拉看似掛起沒有理由

在我的應用程序的登錄表單與AJAX檢查過綽號是否已經採取或免費......這正常90%的時間...但有時,隨機,我沒有得到任何迴應從給定的路線了...在控制檯日誌中的所有新的請求都缺少,因爲如果我沒有發送任何東西......但其他路線似乎要罰款......

當發生這種情況,如果我關機西納特拉,它開始明顯掛起。它說:

[2010-08-29 22:41:12] INFO going to shutdown ... 

但過程不會終止,直到我關閉控制檯窗口。

我檢查了我的客戶端代碼 - 它工作得很好。我還檢查在路由本身的代碼......(只有7行) - 它太細(的唯一方法,它訪問數據庫中的一個,完美的作品在所有其他情況下)

所以,唯一的解釋,我想出了,它必須是一個錯誤屈...

已經有人遇到過類似的東西嗎?如果不是......你同意嗎?我應該提交一份錯誤報告嗎?我該寫什麼報告?該缺陷是太... ...隨機

UPDATE: 
    enable :lock unfortunately doesn'nt help... 
    I tried to use hijack... it doesn't seem to work on the process 
    (I used the pid given by WEBrick) 
+1

你可以發佈導致這種情況的代碼嗎?這可能是因爲你有一個導致某種鎖定的競爭條件。在你的sinatra配置中試試'enable:lock'。 – Mahmoud 2010-08-29 21:35:01

+0

劫持可以幫助... – rogerdpack 2010-08-30 15:06:30

+0

我不知道究竟是什麼原因導致這種...你可以看到這裏的一切: http://github.com/apirogov/Aphorism 看到「check_nickname」在ajax_funcs.rb及其對應login.js ... – apirogov 2010-08-30 17:56:32

回答

0

嗯,一定是activerecords故障,畢竟......

我切換到DataMapper的和錯誤不見了..