You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cypress在CircleCI运行报SIGSEGV错误本地运行正常该如何解决?

问题原因
  • dbus服务缺失:CircleCI容器默认未配置dbus服务,Cypress依赖的Chromium内核尝试访问/var/run/dbus/system_bus_socket套接字失败,对应你日志中开头的bus.cc(392)相关报错,该警告本身不会直接导致崩溃,但会和后续渲染异常叠加触发进程退出。
  • GPU渲染兼容缺陷:日志中的gpu_init.cc(441)] Passthrough is not supported, GL is swiftshader说明容器环境无物理GPU,Chromium启用硬件加速失败切换到软件渲染,你使用的Cypress 8.6.0版本对Debian 10无GPU环境的软件渲染适配存在已知bug,会触发SIGSEGV段错误,直接导致测试进程意外退出。
  • 资源不足:CircleCI默认小型执行节点内存通常为2GB,Cypress运行多测试用例场景下内存占用会持续升高,内存溢出也会触发段错误退出。
修复方案
  • 禁用GPU相关功能:启动Cypress时添加禁用硬件加速参数,命令为cypress run --headless --env ELECTRON_DISABLE_GPU=1 --config numTestsKeptInMemory=0,也可以在cypress配置文件中添加全局规则:
// cypress.json(v8版本配置文件)
{
  "numTestsKeptInMemory": 0,
  "env": {
    "ELECTRON_DISABLE_GPU": "1"
  }
}
  • 补充dbus依赖:在CircleCI的config.yml中添加dbus安装启动步骤,解决开头的套接字报错:
steps:
  - run:
      name: 安装启动dbus服务
      command: |
        apt update && apt install -y dbus
        service dbus start
  • 调整执行节点配置:将CircleCI执行节点的资源类调整为4GB及以上内存规格,避免测试运行过程中内存溢出。
  • 版本升级:条件允许的话将Cypress升级到10.0及以上版本,该版本已经修复了无GPU Linux环境下的软件渲染崩溃问题。

内容的提问来源于stack exchange,提问作者Abdullah Sohail Yaqoob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:18:01