7
我的應用程序:Node.js,Express,一些中間件,包括connect-assets和express.static。來自Node.js的「管道中未處理的流錯誤」
所有在本地計算機(OSX,Node 0.8)上運行的開發模式(因此express.static)。
大概重要的細節:最近,我(從HTTP重定向有必要時)提出通過HTTPS整個應用程序的工作,而我開發使用自SIGNE證書(在瀏覽器中啓用,當然)和。現在
,應用程序常常失敗機智棧跟蹤這樣的:
(1)
stream.js:81
throw er; // Unhandled stream error in pipe.
^
Error: write EPIPE
at errnoException (net.js:769:11)
at Object.afterWrite (net.js:593:19)
(2)
stream.js:81
throw er; // Unhandled stream error in pipe.
^
Error: socket hang up
at SecurePair.error (tls.js:948:15)
at EncryptedStream.CryptoStream._done (tls.js:432:17)
at EncryptedStream.CryptoStream._pull (tls.js:577:12)
at SecurePair.cycle (tls.js:866:20)
at EncryptedStream.CryptoStream.end (tls.js:405:13)
at Socket.onend (stream.js:66:10)
at Socket.EventEmitter.emit (events.js:126:20)
at TCP.onread (net.js:417:51)
(3)
stream.js:81
throw er; // Unhandled stream error in pipe.
^
Error: socket hang up
at createHangUpError (http.js:1264:15)
at CleartextStream.socketCloseListener (http.js:1315:23)
at CleartextStream.EventEmitter.emit (events.js:126:20)
at SecurePair.destroy (tls.js:938:22)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)
重要提示:這種情況經常發生,但不是每次,所以我認爲這不是我的代碼中的錯誤。
我發現這可能是由於express.static和打開的文件限制,所以我跑ulimit -n 10000
- 沒有效果,不幸的是。
任何想法?這開始非常令人沮喪。
我的天哪,你不知道我花了多少小時。謝謝。 – ninjaneer
express.static修復程序的來源是什麼?我試圖診斷如何在connect.js應用程序中獲取未處理的套接字錯誤,並想知道這是否與此相關。但找不到別人說express.static必須是鏈中的最後一個,或者爲什麼。 – natevw
google搜索某處...實際上,因爲我再次得到了相同的錯誤,所以現在我不確定它是否是一個真正的修復程序 – Guard