细节
-
类型:
缺陷
-
地位: Closed
The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">关闭 (查看工作流) -
优先:
少数的
-
决议: 固定的
-
标签:
-
环境:必威国际有限公司詹金斯版本:2.263.3
java.runtime.name OpenJDK运行时环境
java.runtime.version 11.0.9.1+1-post-Debian-1deb10u2
java.specification.name java平台API规范
java.specification.vendor Oracle公司
java.specification.version 11
os.arch amd64
os.name Linux
操作系统版本4.19.0-14-amd64
服务器版本:ApacheTomcat/9.0.31(Debian)必威国际有限公司Jenkins版本:2.263.3 java.runtime.name OpenJDK运行时环境java.runtime.version 11.0.9.1+1-post-Debian-1deb10u2 java.specification.name java平台API规范java.specification.vendor Oracle Corporation java.specification.version 11 os.arch amd64 os.name Linux os.version 4.19.0-14-amd64服务器版本:Apache Tomcat/9.0.31(Debian)
-
类似问题:
-
发布为:2.297, 2.289.2
描述
总结
在调用某些测试进程的shell步骤中,这些子进程有时会被agent.jar进程终止,该进程建立与代理的Jenkins连接。必威国际有限公司
这会导致测试失败,这是一个假阴性结果。
确切情况
在执行器上启动构建(通过agent.jar进程),执行shell步骤(shell脚本进程),从而启动测试本身(测试进程)。
不是shell脚本进程,而是agent.jar进程的子进程被终止(我想这在中止的情况下是正常的),而是shell脚本的子进程,即测试进程被终止。
我们通过打印关于kill事件(启动器PID)的上下文信息来扩展我们的测试二进制文件来发现这一点。
问题的一个非常奇怪的方面是,我们在一台机器上启动3个代理进程(由于一些工作区使用优化),让我们调用这些agent.jar进程1、2、3,agent.jar进程2杀死属于(由)agent.jar进程1的测试子进程。
目前的调查结果
该问题仅在最新osx版本(目前为Big Sur 11.2.3)的苹果代理上出现。
它在Linux、Windows和以前的OSX版本上都没有出现,我们也在这些版本上进行了积极的测试。
所附图片显示了在有问题的代理上执行的测试构建。有时这些事件会在同一时间发生在多个执行器上,有时只杀死一个测试进程(这两个进程都发生在这张图片上)。大多数情况下,它们被杀死的时间与另一个执行者刚刚完成测试构建的时间大致相同。
我最好的猜测是:某些进程泄漏检测算法会导致不必要的杀戮。
(自生成视图,x轴为时间,由于相同的终止问题,所有红色块均失败)
agent.jar日志显示以下相关行:
./remoting.finer.log.0:2021年3月11日10:36:48 AM hudson.util.ProcessTree$Darwin/remoting.finer.log.0:2021年3月11日10:36:48 AM hudson.remoting.Channel发送。/remoting.finer.log.0:2021年3月11日10:36:48 AM hudson.util.ProcessTree$UnixProcess
从2020年底开始出现。
我们的J必威国际有限公司enkins版本更新日期:
- 到2020年10月20日-->2.252
- 到2020年12月2日-->2.263
- 直到2021.01.25-->2.262.1
- 现在是2.262.3
因此,它可以从jenkins版本2.262.1开始,也可以从必威国际有限公司新的OSX版本开始,这些版本也在那时更新/引入。
它不依赖于agent.jar版本,它发生在以下两个版本:
- 远程处理版本:3.17
- 远程处理版本:4.5
它不依赖于代理的CPU体系结构,x64和arm64都会发生这种情况。
它不依赖于代理的Java版本,它发生在:
- openjdk版本“15.0.1”2020-10-20,openjdk运行时环境(构建15.0.1+9-18)
- openjdk版本“11.0.1”2018-10-16,openjdk运行时环境18.9(构建11.0.1+13)
在我的第一次研究中,我发现了这个相关的PR,但不确定它之间的关系有多紧密:
必威国际有限公司JENKINS-59152-将默认进程软终止超时从2分钟减少到5秒#4225
测试作业没有任何超时检测逻辑/插件/配置。
我们试图收集更多的相关日志,具体发生了什么,但只发现了提到的事件,也许您可以推荐更好的日志配置(附件:agent.logging.properties),以捕获更多与此问题相关的事件。
附件
问题链接
- 与
-
必威国际有限公司詹金斯65911必威国际有限公司Jenkins在Mac M1上关闭而不是重新启动
- Open
The issue is open and ready for the assignee to start work on it.">打开
- 链接到