簡體   English   中英

神秘的 Apache Django WSGI 錯誤

[英]Mysterious Apache Django WSGI Error

我正在使用 mod_wsgi 在 apache 上運行 django 應用程序。 apache 錯誤日志是干凈的,除了一個神秘錯誤。

Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound method SharedSocket.__del__ of <httplib.SharedSocket instance at 0x82fb138c>> ignored

我了解這意味着某些代碼正在嘗試調用 SharedSocket。 del ,但它是無。 我不知道這是什么原因,也不知道如何修復它。 此外,此錯誤被標記為已忽略。 除了用錯誤消息填充日志文件之外,它似乎也沒有引起任何實際問題。 我是否應該費心去修復它?

這很可能會發生,因為在處理異常時,正在銷毀的 object 的析構函數中發生進一步的異常,並且由於未決異常的 state 而無法引發后一個異常。 在 Python C API 中,這些細節可以通過 PyErr_WriteUnraisable() 直接寫入錯誤日志。

因此,並不是 del 方法是 None,而是它試圖從 del 方法中執行的代碼中使用的某個變量是 None。 您需要查看 SharedSocket.del 的代碼才能准確了解發生了什么。

注意:這更像是一個指針而不是一個答案,但我無法在評論中使用它。

對錯誤消息進行了一些谷歌搜索,似乎在 Apache + mod_wsgi + MySQL 環境中出現了一組相關問題。 罪魁禍首可能是由於進程池,您與 MySQL 的同時連接用完了,每個進程都保持與數據庫服務器的開放連接。 還有跡象表明,一些非線程安全的代碼可能會在多線程環境中使用。 祝你好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM