首先,我甚至沒有發現內存錯誤/ segfault在python中是可能的。榮譽學習新的東西!Python分割錯誤?
我有這個數據庫,我創建
database = DBManager(dbEndpoint,dbUser,dbPass,dbSchema)
然後我嘗試在一個線程中使用它
def stateTimeThreadStart():
database.getTable('CLIENTS')
threads = []
threads.append(threading.Thread(name='State Updater', target=stateTimeThreadStart, args=()))
threads[0].start()
輸出是
Segmentation fault: 11
這到底是怎麼回事這裏?它肯定與database.getTable('CLIENTS')有關,因爲當我發表評論時,問題不會發生。另外,我還試圖將數據庫傳遞給線程,但沒有運氣。有任何想法嗎?
謝謝!
很可能數據庫的東西不喜歡在沒有創建的線程中運行。這是我的第一個猜測。而且,是的,segfaults是可能的,它只是C下的封面。 – paxdiablo
您的CLIENTS表佔用了多少空間?也許這就是你的問題,因爲你可能會獲取一張比你的設備的內存消耗更多內存的表。 –
@paxdiablo我會盡力謝謝!在Gugas它的約300行:) – k9b