xvfb-run: 第171行:kill:(25939)- 没有这个进程。

12

所有自动化测试均顺利运行,但是xvfb问题导致Jenkins构建失败。

我已经在Jenkins提供的ExecuteShell选项中使用了以下命令,在无头浏览器上运行我的测试用例。

/usr/bin/xvfb-run /usr/local/apache-maven-3.3.1/bin/mvn clean test -Dbrowser=firefox 

得到以下输出:

Results :

Tests run: 22, Failures: 0, Errors: 0, Skipped: 0


[INFO] BUILD SUCCESS

[INFO] Total time: 10:19 min

[INFO] Final Memory: 20M/47M


/usr/bin/xvfb-run: line 171: kill: (25939) - No such process

Build step 'Execute shell' marked build as failure

从输出结果中我们可以看到[INFO] BUILD SUCCESS,但是/usr/bin/xvfb-run: line 171: kill: (25939) - No such process导致构建失败。

请问有没有人能够提供一些解决方法?


xvfb-run的第171行是什么?这个脚本在线上有可以查看的地方吗? - Etan Reisner
xvfb-run正在运行一堆代码。不知道它将哪一行视为171。 - vish
它看起来大致像这样吗(https://git.centos.org/blob/rpms!xorg-x11-server/70130e98ab8c06ce3f7e7d65a80e71aa5f09f614/SOURCES!xvfb-run.sh;jsessionid=o6zzn1bogxm4iee8l4ugs6q1)?问题在于,由于某种原因,当脚本尝试杀死Xvfb时,Xvfb已经死亡,因此“kill”失败。我不知道为什么会这样。您可以修改脚本以处理该情况,但它显然认为这通常不应发生。 - Etan Reisner
1
添加“-e /tmp/xvfb.log”以获取来自xvfb的日志。这可能有助于隔离问题。 - P.T.
3
我与wkhtmltopdf交互时遇到了同样的问题。 - wnasich
我在使用bamboo和slimerjs时遇到了同样的问题。 - Christian Haller
2个回答

14

我在尝试通过 xvfb-run 运行 wkhtmltopdf 的时候遇到了相同的问题。

在我的 PHP 脚本中,我多次执行了 /usr/bin/xvfb-run /usr/bin/wkhtmltopdf ... 命令。第一次总是能够成功执行,但第二次总是失败并且出现了与您发帖提到的相同的错误。

-e /tmp/xvfb.log 参数添加到第二个命令中,可以在日志中看到下面的信息:

Fatal server error: (EE) Server is already active for display 99 If this server is no longer running, remove /tmp/.X99-lock and start again.

解决方法是在命令中添加 -a 标志:

/usr/bin/xvfb-run -a /usr/bin/wkhtmltopdf ...

这将告诉 xvfb-run 尝试获取一个空闲的服务器编号,并从 --server-num 开始。


7
谢谢@brian,只是评论一下......现在那个选项似乎已经被弃用了,新的选项是-d / --auto-display。 - wnasich
哦,不知道。这会改变什么?谢谢。 - Y-B Cause

-3

我可以使用一些小技巧来跳过相同的错误:

sleep(10);

在我的代码中...当一个任务结束并且我的PHP代码休眠后,我可以运行另一个任务而没有任何错误...遵循我的PHP脚本...

希望它有所帮助


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接