【问题标题】:SBT run stopped working recently with nothing changed in Play services projectSBT 运行最近停止工作,Play 服务项目没有任何变化
【发布时间】:2019-02-13 16:56:40
【问题描述】:

您可能认为我遇到了 XY 问题。我认为情况并非如此。

我正在做一个项目

  1. (PROD) 我可以使用

    运行 Play Framework 服务
    sbt dist
    

    然后从target/universal/*运行可执行脚本。

  2. (DEV) 但不是开发服务器使用

    sbt run\ PORT_NUM
    

第二个几天前曾经工作过。现在(没有任何代码更改)我不能再运行 DEV 服务器了。使用API​​会报如下错误。

[error] java.io.IOException: Resource temporarily unavailable
[error]     at java.io.FileInputStream.read0(Native Method)
[error]     at java.io.FileInputStream.read(FileInputStream.java:207)
[error]     at jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:245)
[error]     at jline.internal.InputStreamReader.read(InputStreamReader.java:257)
[error]     at jline.internal.InputStreamReader.read(InputStreamReader.java:194)
[error]     at jline.console.ConsoleReader.readCharacter(ConsoleReader.java:2151)
[error]     at jline.console.ConsoleReader.readCharacter(ConsoleReader.java:2141)
[error]     at play.sbt.PlayConsoleInteractionMode$.waitEOF$1(PlayInteractionMode.scala:62)
[error]     at play.sbt.PlayConsoleInteractionMode$.$anonfun$waitForKey$2(PlayInteractionMode.scala:73)
[error]     at play.sbt.PlayConsoleInteractionMode$.$anonfun$doWithoutEcho$1(PlayInteractionMode.scala:80)
[error]     at play.sbt.PlayConsoleInteractionMode$.$anonfun$doWithoutEcho$1$adapted(PlayInteractionMode.scala:77)
[error]     at play.sbt.PlayConsoleInteractionMode$.withConsoleReader(PlayInteractionMode.scala:57)
[error]     at play.sbt.PlayConsoleInteractionMode$.doWithoutEcho(PlayInteractionMode.scala:77)
[error]     at play.sbt.PlayConsoleInteractionMode$.$anonfun$waitForKey$1(PlayInteractionMode.scala:73)
[error]     at play.sbt.PlayConsoleInteractionMode$.$anonfun$waitForKey$1$adapted(PlayInteractionMode.scala:60)
[error]     at play.sbt.PlayConsoleInteractionMode$.withConsoleReader(PlayInteractionMode.scala:57)
[error]     at play.sbt.PlayConsoleInteractionMode$.waitForKey(PlayInteractionMode.scala:60)
[error]     at play.sbt.PlayConsoleInteractionMode$.waitForCancel(PlayInteractionMode.scala:83)
[error]     at play.sbt.run.PlayRun$.$anonfun$playRunTask$3(PlayRun.scala:125)
[error]     at play.sbt.run.PlayRun$.$anonfun$playRunTask$3$adapted(PlayRun.scala:65)
[error]     at scala.Function1.$anonfun$compose$1(Function1.scala:44)

对我来说似乎是一个死锁问题,如何进一步解决这个问题?

这是我尝试过的事情的清单:

  1. 更改已安装系统 SBT 的版本
  2. 将 build.properties 中的 SBT 版本更改为最新 (1.2.6)

更新 1: 整个系统在 Ubuntu 16.04.5 LTS 上运行。我试图弄清楚为什么它在 18.04 LTS 中不起作用。

更新 2a: 在它工作的机器上(它运行在安装在 Mac OS Mojave 中的 VM 上,操作系统是 Ubuntu server),

Java 版本 ($ java -version) 是

openjdk version "1.8.0_191" 
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12) 
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Ubuntu 版本 ($ lsb_release -a) 是

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:    16.04
Codename:   xenial

更新 2b: 在它不起作用的机器上(它在桌面系统上运行,并且操作系统是 Ubuntu desktop),

Java 版本 ($ java -version) 是

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Ubuntu 版本 ($ lsb_release -a) 是

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:    16.04
Codename:   xenial

更新 3: 在sbtGitHub 上创建了一个问题

【问题讨论】:

  • 我和我的同事在 Ubuntu 16.04.5 64 位和 Ubuntu 18.04 64 位上也面临同样的问题。我们都使用 SBT 版本 0.13.16 和 Oracle JDK 1.8.0_202。 @Fahad 你能解决这个问题吗?
  • 我们也使用 Play 框架 2.4 版
  • 用两个新的更新更新了问题的描述。 @lkt
  • 也向sbt的GitHub github.com/sbt/sbt/issues/4547提出问题
  • 可能与最近发布的损坏的内核补丁有关。见spigotmc.org/threads/ubuntu-18-04-bad-kernel-update.357871

标签: scala playframework sbt


【解决方案1】:

最新的内核版本 4.15.0-45 是问题的原因。我重新启动到 4.15.0-43,它现在工作正常。谢谢@Renato

【讨论】:

    【解决方案2】:

    正如其他答案所建议的那样,新内核版本存在问题。
    到目前为止,尚未在新更新中分发任何修复程序。您可以降级回以前的工作内核版本,即4.15.0-43
    请关注此link,了解如何执行此操作的详细信息。

    【讨论】:

      【解决方案3】:

      给那些在 Ubuntu 16.04 上被破坏的人的一些注意事项。 内核 4.4.0-142 已损坏(并且似乎是最新的),启动到 4.4.0-141 可以修复它。

      【讨论】:

        猜你喜欢
        • 2014-07-16
        • 2020-12-09
        • 2016-12-26
        • 1970-01-01
        • 2015-01-18
        • 1970-01-01
        • 1970-01-01
        • 2016-01-14
        • 1970-01-01
        相关资源
        最近更新 更多