2012-02-16 12 views
2

我只是想展示一些數據庫的內容,一個接一個:神祕的「總線錯誤」與web.twisted(代碼工作在一臺服務器上,而不是做的另一個)

from twisted.web import server, resource 
from twisted.internet import reactor 
from pymongo import Connection 
import time 
import pprint 


class ZenResource(resource.Resource): 
    isLeaf = True 

    connection = Connection('...', 27017) 
    db = connection.data 
    db.authenticate("...","...") 
    iter = db.index.find() 

    def render_GET(self, request): 
     item = self.iter.next() 
     # ... simple processing, skipped some simple strings manipulations: 
     htmlLines = [] 
     for textLine in pprint.pformat(item).splitlines(): 
      htmlLines.append('<br/>%s' % textLine) 
     htmlText = '\n'.join(htmlLines) 
     request.setHeader("Content-type", 'text/html; charset=UTF-8') 
     return htmlText.encode("utf8") 

reactor.listenTCP(48088, server.Site(ZenResource())) 
reactor.run() 

在一個系統(Linux hh 3.0.0-16-generic-pae#28 -Ubuntu SMP Fri Jan 27 19:24:01 UTC 2012 i686 i686 i386 GNU/Linux)一切正常。 在其他系統上(Linux的本地主機2.6.38-8服務器#42 Ubuntu的SMP週一4月11日3時49分04秒UTC 2011 x86_64的x86_64的x86_64的GNU/Linux)的

我有以下幾點:

[email protected]:~# python zen.py 
Bus error 

我想到的兩臺服務器之間的唯一區別是(除了表單x32/x64),第二臺服務器上存在類似的扭曲進程。這個過程做了一些重要的事情,真的不想終止或以任何其他方式干擾它,只是爲了檢查我的測試代碼是否工作。

+0

如果無法在運行的計算機上停止服務器,是否可以在計算機上啓動類似的服務器?至少,如果你在正確的地方尋找,那會給你一個提示。然而,我的懷疑是,你有點誤用(或者有一個bug)本地庫,可能是你的數據庫連接,並且該錯誤由不同的體系結構公開。 – Malvolio 2012-02-16 23:56:06

+0

我的其他機器只有x32,一切正常。問題是我的其他機器不適合生產,他們是某種測試/臨時服務器,我必須編寫代碼才能在生產服務器上運行。 – Moonwalker 2012-02-17 04:23:17

+0

我無法想象這將如何與扭曲。我的猜測:糟糕的內存。 – Glyph 2012-02-18 00:18:53

回答

2

嘗試使用類似memtest86+的工具來確定機器中的系統內存是否損壞。這似乎很可能,並且隨機失敗存儲或檢索數據正確導致您的問題。更一般地說,當你有這樣的問題時,你應該得到一個軟件的調試版本(在本例中是Python)並啓用核心轉儲(參見ulimit(1))。當您在此配置中重現崩潰時,可以使用gdb檢查覈心轉儲,以瞭解觸​​發崩潰的代碼。在內存模塊不好的情況下,崩潰通常會出現在一些隨機的,無意義的地方,代碼全部看起來都是正確的(但由於基本假設中的違規,即一旦計算並存儲在內存中的數據仍然保持不變改變)。

但是,您可能會發現崩潰總是出現在代碼的相同部分,您甚至可能會發現該錯誤。然後,修復錯誤並繼續前進。 :)

+0

我已經運行memtester,什麼都沒發現。服務器重啓後再次發生錯誤,所以我猜想問題類型已解決。謝謝大家的迴應。 – Moonwalker 2012-02-18 21:30:14

3

在我最近的情況下,這與用戶配額在文件系統中啓用(並超出)有關。我想這也可能發生在分區上沒有剩餘空間的情況下。

相關問題