7
votes

L'exécution de SBT a cessé de fonctionner récemment et rien n'a changé dans le projet de services Play

Vous pourriez penser que j'ai rencontré un problème XY. Je pense que ce n’est pas le cas.

Je travaille sur un projet où

  1. (PROD) Je peux exécuter les services Play Framework en utilisant

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

    Et puis exécuter le script exécutable depuis target/universal/*.

  2. (DEV) Mais pas le serveur de développement utilisant

    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)
    
    

Le second fonctionnait il y a quelques jours. Maintenant (sans aucun changement de code) je ne peux plus exécuter le serveur DEV. Il affiche l'erreur suivante si vous consommez l'API.

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

Cela me semble un problème de blocage, comment continuer et résoudre ce problème?

Voici un liste des choses que j'ai essayées:

  1. Modification de la version du système SBT installé
  2. Modification de la version de SBT dans build.properties vers la dernière version (1.2.6)

Mise à jour 1 : L'ensemble du système fonctionne sur Ubuntu 16.04.5 LTS. J'essaie de comprendre pourquoi cela ne fonctionne pas dans 18.04 LTS.

Mise à jour 2a : Sur la machine sur laquelle il fonctionne (il fonctionne sur une VM installée sous Mac OS Mojave, et le système d'exploitation est Ubuntu serveur ),

La version Java ( $ java -version ) est

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)

La version d'Ubuntu ( $ lsb_release -a ) est

[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)

Mise à jour 2b : Sur la machine où cela ne fonctionne pas (il fonctionne sur un système de bureau et le système d'exploitation est Ubuntu bureau ),

La version Java ( $ java -version ) est

sbt run\ PORT_NUM

La version d'Ubuntu ( $ lsb_release -a ) est

sbt dist

Mise à jour 3 : Création d'un problème sur GitHub p de sbt >


5 commentaires

Mon collègue et moi sommes également confrontés à ce même problème sur Ubuntu 16.04.5 64bit et Ubuntu 18.04 64bit. Nous utilisons tous les deux la version 0.13.16 de SBT et Oracle JDK 1.8.0_202. @Fahad avez-vous pu résoudre le problème?


Nous utilisons également la version 2.4 du framework Play


Mise à jour de la description de la question avec deux nouvelles mises à jour. @lkt


Également mettre un problème au GitHub de sbt github.com/sbt/ sbt / issues / 4547


Peut être lié à un patch de noyau cassé qui a été publié récemment. Voir spigotmc.org/threads/ubuntu-18- 04-bad-kernel-update.357871


3 Réponses :


2
votes

La dernière version du noyau 4.15.0-45 était la cause du problème. J'ai redémarré à 4.15.0-43 et cela fonctionne bien maintenant. Merci @Renato


0 commentaires

0
votes

Quelques notes pour celles cassées sur Ubuntu 16.04. Le noyau 4.4.0-142 est cassé (et semble être le dernier), et le démarrage en 4.4.0-141 le corrige.


0 commentaires

1
votes

La nouvelle version du noyau, comme les autres réponses le suggèrent, a des problèmes.
Jusqu'à présent, aucun correctif n'est distribué dans les nouvelles mises à jour. Vous pouvez revenir à la version précédente du noyau de travail qui est 4.15.0-43 .
Suivez ce lien pour plus de détails sur la façon de procéder.


0 commentaires