servicios queda puedo problemas problema porque play nada google error descargar descargando deja con celular cargando aplicaciones actualizar actualiza scala playframework sbt scalatest specs2

scala - puedo - problema play store se queda en descargando



problema de interacción de especificaciones/scalatest en la aplicación Play (1)

Finalmente descubrí lo que estaba sucediendo.

Resulta que bajo la configuración correcta, sbt bifurcará la JVM para ejecutar las pruebas y querrá comunicarse con ella. Cómo se hace esto depende del marco de prueba. En el caso de Scalatest, la comunicación entre los dos procesos se realizará a través de un servidor. Scalatest solo comunica la dirección del servidor y el puerto que debe usar sbt. Y esto está sucediendo allí .

val array = Array(InetAddress.getLocalHost.getHostAddress, skeleton.port.toString)

Ahora, ve a leer lo que javadoc dice para InetAddress # getLocalHost :

Devuelve la dirección del host local. Esto se logra recuperando el nombre del host del sistema y luego resolviendo ese nombre en una InetAddress.

Estoy en Linux. Mi host local (que nunca es localhost ) termina siendo dopey . Ahora, por alguna razón (estaba jugando con mi red en casa), mi /etc/hosts estaba asignando una dirección falsa a dopey . Entonces, en lugar de algo como 127.0.0.1 , scalatest intentaría abrir un socket en este servidor ficticio. Y debido a que esto está sucediendo , no se ve nada útil en la pila de fichas.

Creo que la intención siempre fue usar 127.0.0.1 ...

Tengo un problema que realmente no puedo explicar ... Está aislado en el proyecto en https://github.com/betehess/play-scalatest .

Cuando ejecuto la test , sbt se atasca por un tiempo y luego lanza esta excepción:

> test [error] Uncaught exception when running tests: java.net.ConnectException: Connection timed out Exception in thread "Thread-1" java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:196) at java.net.SocketInputStream.read(SocketInputStream.java:122) at java.net.SocketInputStream.read(SocketInputStream.java:210) at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2293) at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2473) at java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2543) at java.io.ObjectInputStream$BlockDataInputStream.skipBlockData(ObjectInputStream.java:2445) at java.io.ObjectInputStream.skipCustomData(ObjectInputStream.java:1941) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:500) at java.lang.Throwable.readObject(Throwable.java:914) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) at sbt.React.react(ForkTests.scala:117) at sbt.ForkTests$$anonfun$mainTestTask$1$Acceptor$2$.run(ForkTests.scala:76) at java.lang.Thread.run(Thread.java:745)

Parece que sbt se queda atrapado en una llamada de bloqueo con el entorno bifurcado en https://github.com/sbt/sbt/blob/0.13.5/main/actions/src/main/scala/sbt/ForkTests.scala#L117 .

Algunas observaciones:

  • Ejecuto Ubuntu 13.10 y Java HotSpot (TM) 64-Bit "1.7.0_65"
  • ninguno de mis colegas puede reproducir el problema en sus máquinas ...
  • el problema ocurre solo cuando Scalatest está en el classpath, incluso si no se usa aquí
  • el problema desaparece si no uso el complemento de PlayScala y agrego las especificaciones explícitamente como una dependencia
  • el problema desaparece si muevo la dependencia scalatest a build.sbt principal