ClientAbortException: java.io.IOException: Broken pipe

可能出现原因:

TCP服务端write数据时,收到SIGPIPE信号(连接已经终止)

  • TCP握手尚未结束时,连接已经close;
  • 服务端收到一次read,但write了多次;
  • 连接通道被占满,新连接被拒绝时,client中断了所有连接。
  • 2.分析过程

    2.1.初步排查

    每次出现该异常时,总是伴随/im/getUsercInfos.json接口的调用。

    2.1.1具体现象
  • 异常记录时间=接口请求记录时间(server连接write前记录)-(2至10)ms;
  • 总是ios设备爆出;
  • 总是h端爆出。
  • 2.1.2分析
  • 可能性一:
    在请求该接口时,ios设备在某种情况下会中断该请求,导致TCP连接中server端无法向client端write数据。即在server端write之前连接已经close,write时出现异常。
    由于只有h端出现,但h、b客户端代码一致,不太可能单独出现,故可能性较低。

  • Broken pipe异常分析报告错误描述ClientAbortException: java.io.IOException: Broken pipe可能出现原因:TCP服务端write数据时,收到SIGPIPE信号(连接已经终止)
    这个 异常 是由于以下几个原因造成。 1、客户端再发起请求后没有等服务器端相应完,点击了stop按钮,导致服务器端接收到取消请求。 通常情况下是不会有这么无聊的用户,出现这种情况可能是由于用户提交了请求,服务器端相应缓慢,比如业务逻辑有问题等原因,导致页面过了很久也没有刷新出来,用户就有可能取消或重新发起请求。 2、Tomcat服务器在接受用户请求的时候,有其自身的处理能力,线程、服务器等各个资源限制,超出Tomcat承载范围的请求,就会被tomcat停掉,也可能产生该错误。 3、linux的线...
    连接太多,到了最大连接数,每个连接处理的速度太慢,而导致处理不过来所以连接断开了 请求报文和返回参数量过大然而导致了client自行中断了连接。 文件过大:处理时间过长,由于执行时间较长或频率较高,程序或服务器出发超时直接结束进程。 数据库配置问题或者是JVM配置太低而导致的,JVM垃圾没有回收,因为有次出现过代码里面死
    ==============================第1篇===================================================== 最近产品线中又碰到 Broken pipe 的问题,之前也碰到过,但 分析 了下,原因是不同的。 在一个网络传输的模块中,由于 Broken pipe 导致服务程序退出。 分析 :经常写网络服务的的人也许知道,一般在启动等
    1) broken pipe 的字面意思是“管道破裂”。 broken pip的原因是该管道的读端被关闭。 2) broken pipe 经常发生socket关闭之后(或者其他的描述符关闭之后)的write操作中。 3)发生 broken pipe 错误时,进程收到SIG PIPE 信号,默认动作是进程终止。 4) broken pipe 最直接的意思是:写入端出现的时候,另一端却休息或退出了,因此造成没有及时取
    开发过一个协议,一共有两个服务,第一个服务接收移动平台推送的数据,并使用tcp/ip方式进行数据收发至第二个服务进行数据解析及设备响应。但一段时间后发现使用tcp/ip方式发送数据出错,错误信息为 BROKEN PIPE 。在度娘上找了找,主要有两个方面。 原因一、项目中存在大量的print输出,导致 pipe 容量不足,使用nohup后台进程处理之后信息会不断地发送给远程pc,如果信息接着不断发送,就会导致 pipe 容量不足,信息堵塞。 原因二、t...
    又好久没写博客了,说好的每周更新两篇博客的计划又落空了🤣不管了,从这周开始我将会坚持每周更新两篇技术博客,欢迎大家积极监督!好了,废话不多说,下面正式开启我的博客之旅。   这周一碰到了一个生产bug:拉取京东的第三方账单时居然拉取失败了!当时自己马上去阿里云查看了下生产日志,看到了如下的报错:   从如上的图中,这明显是报了 java.io.IOException: Broken pipe 这个错误,第一次见到这个报错的自己有点被整懵圈了,但是拼接着自己过往的经验,自己初步猜测到肯定是哪个网络环节.
    1) broken pipe 的字面意思是“管道破裂”。 broken pip的原因是该管道的读端被关闭。 2) broken pipe 经常发生socket关闭之后(或者其他的描述符关闭之后)的write操作中。 3)发生 broken pipe 错误时,进... 【SpringMVC】Required request parameter ‘xxx‘ for method parameter type String is not present 34292 【SpringBoot】This application has no explicit mapping for /error,so you are seeing this as a fallback 15438
    【Maven】org.codehaus.plexus.component.repository.exception.ComponentLookupException jingshanhai: idea 2020.2 meavn3.6.3(3.x last) springboot2.7.11(2.x last); 插件依赖标红或者父pom报红,指定具体版本或者清理缓存重启IDEA; maven home directory 自动重置为默认的,删除.mvn下的wrapper下的maven-wrapper.properties文件 【Cookie】后端在Response中addCookie无效(请求中已有Set-Cookie) 梦幻的黑夜: 用的shiro 这样自定义cookie后用域名访问 还是setCookie失败 【Spring】FactoryBean和普通Bean的区别 gusangg: 写的挺好,举个例子,比如mybatis-spring里面,dao层的mapper接口的实现类就是通过MapperFactoryBean<T>即实现了FactoryBean接口的getObject来自定义的实例化的~~~ 【SpringBoot】Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found ken9527just: 因为框架默认下载版本为4.0.0但是还没有这个版本 【Consul】控制台Service ‘xxxx-service‘ check提示错误(红叉) sandej: heartbeat: enabled: true