[:断开的管道]异常信息原因探究
生活随笔
收集整理的這篇文章主要介紹了
[:断开的管道]异常信息原因探究
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 問(wèn)題背景
臨近版本日,測(cè)試小姐姐按照往常迭代節(jié)奏,督促開(kāi)發(fā)小哥哥們?nèi)y(cè)試環(huán)境跟蹤一下異常日志。然后開(kāi)發(fā)小哥 Z 主動(dòng)請(qǐng)纓去摟了一圈錯(cuò)誤日志。突然,遇到一個(gè)錯(cuò)誤,不知道是什么原因,然后發(fā)到群里面來(lái)讓大家一起研究下。錯(cuò)誤日志信息如下:
xxx/warn.log-org.apache.catalina.connector.ClientAbortException: java.io.IOException: 斷開(kāi)的管道 xxx/warn.log- at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:356) ~[tomcat-embed-core-8.5.32.jar!/:8.5.32] ...后面的堆棧信息省略2. 問(wèn)題分析
既然有堆棧信息,不妨去代碼中跟蹤一下。
在棧頂中提到了一個(gè)類(lèi) OutputBuffer ,該類(lèi)位于依賴(lài)包:
拋出異常的方法是該類(lèi)的成員方法:
public void realWriteBytes(ByteBuffer buf) throws IOException {...無(wú)關(guān)的代碼省略,有興趣的同學(xué)可以自行閱讀源碼// An IOException on a write is almost always due to// the remote client aborting the request. Wrap this// so that it can be handled better by the error dispatcher.throw new ClientAbortException(e); // 行數(shù):356 }上述代碼中的注釋已經(jīng)清晰地給出了答案了:the remote client aborting the request (遠(yuǎn)程客戶(hù)端摒棄了該請(qǐng)求)。
3. 問(wèn)題解決
給開(kāi)發(fā)小哥 Z 答復(fù)出問(wèn)題原因:請(qǐng)求端摒棄了本次請(qǐng)求;
本次異常信息日志屬于正常范疇,可以接受。
總結(jié)
以上是生活随笔為你收集整理的[:断开的管道]异常信息原因探究的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux-(16)管道和重定向
- 下一篇: JZOJ 5911. 【NOIP2018