1

我们有一个带有 Rhino + Envjs 和运行 Ubuntu 的 CI 服务器的 Javascript 测试设置。我们使用以下命令从命令行运行我们的测试:

java -cp ext/js.jar:ext/jline.jar org.mozilla.javascript.tools.shell.Main -opt -1 -f run.js

现在我们出乎意料地遇到了以下问题:测试运行停止,只打印以下内容:

[  Envjs/1.6 (Rhino; U; Linux amd64 3.2.0-33-generic; en-US; rv:1.7.0.rc2) Resig/20070309 PilotFish/1.2.13  ]
Killed

在另一台计算机 (Mac) 上,相同的测试顺利通过。我尝试了调试开关-debug和 Java 内存大小-Xmx1024m,但这些都没有帮助。

注意:这次重启服务器解决了这个问题。

更新:几天后,今天发生了几次,但是随后的构建成功了。

更新2:这似乎不时发生,有时也在测试成功运行后发生。

这可能只是一个案例,但是如果再次发生这种情况,您是否知道可能是什么原因或如何调试 Rhino?

兄弟,图科

4

1 回答 1

1

“Killed”意味着进程被来自外部的信号终止。常见的情况有:

  • 有人使用kill了错误的进程 ID
  • 安装了一个系统资源监视器,它终止占用过多资源的进程。在 Linux 上,使用ulimit并询问您的系统管理员。
  • 您的操作系统在无法让 Java 知道错误的地方耗尽了内存(即,当操作系统本身需要内存来完成 Java VM 的 I/O 操作时,就会发生这种情况)。
于 2013-01-30T11:29:03.800 回答