【问题标题】:Play! framework hangs on compile, no errors reported玩!框架在编译时挂起,没有报告错误
【发布时间】:2012-02-04 06:58:12
【问题描述】:

刚刚将我的应用程序移至新的 CentOS 服务器。折腾了半天,还是不能玩编译或者报错。 shell 输出将显示最后一个文件编译然后挂起。我正在运行 Scala 0.9.1 模块。

我在这个过程中做了一个strace,这就是我所得到的。不确定是否有帮助。

futex(0x410489d0, FUTEX_WAIT, 5403, NULL

有什么想法吗?或者我可以从哪里开始故障排除?

谢谢。

【问题讨论】:

    标签: java scala playframework centos futex


    【解决方案1】:

    FUTEX_WAIT 上搜索我发现this mailing list thread 用于描述您的问题的OpenJDK。他们建议用户去特定于发行版的论坛并提出相同的问题,这使我找到了针对 Fedora 10 的 this forum thread。这似乎是与某些 Linux 发行版、某些 JVM 和gvfs-fuse-daemon 或其他一些保持锁的进程。

    不知道具体的解决方案,但我希望以下其中一项有所帮助:

    • 阅读this question 处理相同的问题,仅与 Citrix 相关
    • 此问题似乎已经存在一段时间了,因此请确保将 JVM 更新到最新版本
    • 尽可能将您的发行版更新到最新版本(尤其是任何内核更新,根据this Sun bug 已修复该问题)
    • 联系 CentOS 社区,因为这个问题似乎与 futex 和 Linux 有关;他们应该能够进一步帮助您

    我没有立即找到解决此问题的明确解决方案,因此如果您找到了解决方案,请更新此问题,以便我们将其保存以供后代使用;-)

    【讨论】:

    • 很棒的研究,我会在早上第一件事,谢谢!
    • 更新:尝试了 OpenJDK 和 Oracle JDK,仍然没有运气。将尝试在硬件 VM 而非软件 VM 的机器上执行此操作,然后报告
    • @DeLonge 确保您尝试最新的内核版本 - 如果可能的话 - 因为我怀疑它可能与 futex 实现而不是 JVM 更相关。
    • 使用的是 Zen 内核,所以现在尝试不同的发行版。这是 Zen 内核的最新版本,可能有问题
    【解决方案2】:

    事实证明 tmbrggmn 是正确的,这确实与我使用的机器上的特定内核有关。

    特定的内核是一个运行 CentOS 的开源 Zen 内核,并且使用了软件虚拟化。我迁移到 Citrix Kernel,现在开始播放!编译就好了。

    错误内核上的uname -a 是:

    Linux examplehost.com 2.6.18-274.17.1.el5xen #1 SMP Tue Jan 10 18:06:37 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
    

    【讨论】:

      猜你喜欢
      • 2017-06-14
      • 1970-01-01
      • 1970-01-01
      • 2015-07-20
      • 1970-01-01
      • 1970-01-01
      • 2010-12-26
      • 2013-03-03
      • 1970-01-01
      相关资源
      最近更新 更多