Cypress Test Runner意外地通过退出事件退出,信号SIGSEGV在circleCI中




我被这个问题卡住了。我在做柏树测试当我在本地运行时,它运行得很顺利。当我在circleCI中运行时,它在一些执行后抛出错误。
这是我得到的:

[334:1020/170552.614728:ERROR:bus.cc(392)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[334:1020/170552.616006:ERROR:bus.cc(392)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[334:1020/170552.616185:ERROR:bus.cc(392)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[521:1020/170552.652819:ERROR:gpu_init.cc(441)] Passthrough is not supported, GL is swiftshader

当前行为:
当我在circleCI上运行我的specs时,Cypress意外地关闭了一个套接字错误。

错误消息:

测试运行程序通过带有信号的退出事件意外退出SIGSEGV

请在Cypress文档中搜索可能的解决方案:

https://on.cypress.io


平台:linux (Debian - 10.5)
Cypress Version:8.6.0

将cypress版本恢复到7.6.0已解决此问题。

我在Azure构建中也遇到了同样的问题。我们最近才从Cypress 8.4.0迁移过来。回到那个问题已经解决了。

运行npm install cypress@7.6.0降级柏树

将cypress降级到8.3.0对我来说解决了这个问题,你不需要去以前的版本。

npm install cypress@8.3.0

SIGSEGV表示分段错误。点击这里阅读。

"在实践中,当您的程序中断时,就会发生段错误操作系统设置的基本规则。在这种情况下,操作系统给你的进程发送一个信号(Mac上是SIGSEGV)Linux,STATUS_ACCESS_VIOLATION (Windows),通常会关闭进程马上下来!">

这篇博文还详细介绍了这是如何发生的,即使你不直接与操作系统交互(因为我们正在编写JavaScript)。请到原作者的网站上阅读。

但简而言之-你可能会遇到这个错误,因为

。你在旧版本的NodeJS上升级Cypress,或者

b。你升级了NodeJS,而你有Cypress代码直接或间接与NodeJS版本不兼容(这可能是你自己的代码,或它的依赖项之一)

由于SIGSEGV是完全关闭的,因此没有堆栈跟踪或调试信息来指导您。因此,您必须使用老式的方法进行调试,打开或关闭测试和/或依赖项来定位代码中的问题。

相关内容

  • 没有找到相关文章

最新更新