私のアプリ: Node.js、Express、connect-assets と express.static を含むいくつかのミドルウェア。
すべて開発モードのローカル マシン (OSX、Node 0.8) で実行されます (つまり、express.static)。
おそらく重要な詳細: 最近、アプリ全体を HTTPS 経由で動作させ (必要に応じて HTTP からのリダイレクトを使用)、開発中に自己署名証明書を使用しました (もちろん、ブラウザーで有効にしました)。
現在、アプリは次のようなスタック トレースで失敗することがよくあります。
(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
しましたが、残念ながら効果はありませんでした。
何か案は?これは非常にイライラし始めます。