Upgrade to Scala 2.11, mvn scala:cc error: "Could not connect to compilation daemon"

187 views
Skip to first unread message

kwad...@gmail.com

unread,
Aug 15, 2014, 6:17:10 PM8/15/14
to maven-a...@googlegroups.com
Possibly I'm missing something very simple, but an upgrade from Scala 2.9 to 2.11 gives me the following error when running continuous compiliation (mvn scala:cc). (Normal compilation works fine, and switching back to 2.9 cc works again):

[INFO] use fsc for compilation
[INFO] stop server(s)...
[No compilation server running.]
[INFO] start server...
[INFO] wait for files to compile...
[INFO] [...]/main/scala:-1: info: compiling
[INFO] Compiling 62 source files to [...]/target/classes at 1408139795385
[INFO] Could not connect to compilation daemon after 300 attempts.

The pom.xml-fragment with the maven-scala entry:

      <plugin>
        <groupId>net.alchim31.maven</groupId>
        <artifactId>scala-maven-plugin</artifactId>
        <version>3.1.6</version>
        <configuration>
          <charset>${project.build.sourceEncoding}</charset>
          <jvmArgs>
            <jvmArg>-Xmx1024m</jvmArg>
            <jvmArg>-DpackageLinkDefs=file://${project.build.directory}/packageLinkDefs.properties</jvmArg>
          </jvmArgs>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>compile</goal>
              <goal>testCompile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>

Thanks,

Kwadri


David Bernard

unread,
Aug 16, 2014, 2:58:38 AM8/16/14
to Maven and Scala
I tried with scala-2.11.0 and scala-maven-plugin 3.2.0 and 3.1.6 with success :

➜  test1 git:(e42da72) ✗ mvn clean scala:cc
[INFO] Scanning for projects...
[INFO]                                                                        
[INFO] ------------------------------------------------------------------------
[INFO] Building test1 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ test1 ---
[INFO] Deleting /home/dwayne/work/oss/scala-maven-plugin/target/checkout/target/it/test1/target
[INFO]
[INFO] --- scala-maven-plugin:3.1.6:cc (default-cli) @ test1 ---

[INFO] use fsc for compilation
[INFO] stop server(s)...
[No compilation server running.]
[INFO] start server...
[INFO] wait for files to compile...
[INFO] /home/dwayne/work/oss/scala-maven-plugin/target/checkout/target/it/test1/src/main/java:-1: info: compiling
[INFO] /home/dwayne/work/oss/scala-maven-plugin/target/checkout/target/it/test1/src/main/scala:-1: info: compiling
[INFO] Compiling 2 source files to /home/dwayne/work/oss/scala-maven-plugin/target/checkout/target/it/test1/target/classes at 1408171759574
[INFO] prepare-compile in 0 s
[INFO] compile in 0 s
[INFO] Not running test cases due to compile error

[INFO] wait for files to compile...
^C[INFO] stop server(s)...
[No compilation server running.]


Can you provide more info :
* exact scala's version
* run "mvn clean scala:cc -DdisplayCmd=true" and provide the content of /tmp/scala.tools.nsc.MainGenericRunner.out /tmp/scala.tools.nsc.MainGenericRunner.err




--

---
You received this message because you are subscribed to the Google Groups "Maven and Scala" group.
To unsubscribe from this group and stop receiving emails from it, send an email to maven-and-sca...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

David Bernard

unread,
Aug 16, 2014, 2:59:50 AM8/16/14
to Maven and Scala
I used the following config to test :

➜  test1 git:(e42da72) ✗ mvn -version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28+0100)
Maven home: /home/dwayne/bin/soft/apache-maven-3.0.5
Java version: 1.7.0_60, vendor: Oracle Corporation
Java home: /home/dwayne/bin/soft/jdk1.7.0_60/jre
Default locale: fr_FR, platform encoding: UTF-8
OS name: "linux", version: "3.16.0-2-arch", arch: "amd64", family: "unix"


kwad...@gmail.com

unread,
Aug 16, 2014, 6:37:38 AM8/16/14
to maven-a...@googlegroups.com
Thanks for your reply, David.

I tried both scala version 2.11.0 and 2.11.1 with the same result.

I cannot find the files you mention (MainGenericRunner...). However, the command line output was this:

[INFO] cmd:  /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java -Xbootclasspath/a:/home/username/.m2/repository/org/scala-lang/scala-library/2.11.0/scala-library-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/scala-compiler/2.11.0/scala-compiler-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/scala-reflect/2.11.0/scala-reflect-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.jar:/home/username/.m2/repository/org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar -Xmx1024m -DpackageLinkDefs=file:///home/username/webApp/target/packageLinkDefs.properties -classpath /home/username/.m2/repository/net/alchim31/maven/scala-maven-plugin/3.1.6/scala-maven-plugin-3.1.6.jar scala_maven_executions.MainWithArgsInFile scala.tools.nsc.CompileClient /tmp/scala-maven-7191173274940484432.args

Older version of JDK a problem? However, you site states at least JDK 1.5

mvn -version produces

Warning: JAVA_HOME environment variable is not set.
Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.6.0_31, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/java-6-openjdk-i386/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-32-generic", arch: "i386", family: "unix"

David Bernard

unread,
Aug 16, 2014, 6:54:02 AM8/16/14
to Maven and Scala
Above the line you pasted, you should see other lines starting with cmd: .... one of them should be the start of the server with the path of stdout and stderr. I'm more intersted by them.
It should contains more info about why server doesn't start.

Version of jdk is linked to version of scala (see scala-lang.org). The plugin is 6+ years old, it started with scala 2.6.

Kwadrilek Moimoimora

unread,
Aug 16, 2014, 7:51:54 AM8/16/14
to maven-a...@googlegroups.com
Yes, you are right. I also see that redirection takes place to the files you mention (>/tmp/scala.tools.nsc.MainGenericRunner.out 2>/tmp/scala.tools.nsc.MainGenericRunner.err), however, I cannot find them when I cd to /tmp. They are not there (anymore?). Is it possible they are removed right away? Is there a way to prevent this? Or to redirect them to another location?

Here is the complete mvn log:

Warning: JAVA_HOME environment variable is not set.
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building s Project 0.1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.3:clean (default-clean) @ s ---
[INFO] Deleting file set: /home/username/jgp/sf/webApp/s/target (included: [**], excluded: [])
[INFO] 
[INFO] --- scala-maven-plugin:3.1.6:cc (default-cli) @ s ---
[WARNING]  Expected all dependencies to require Scala version: 2.11.0
[WARNING]  net.liftweb:lift-common_2.9.1:2.4 requires scala version: 2.9.1
[WARNING] Multiple versions of scala libraries detected!
[INFO] use fsc for compilation
[INFO] stop server(s)...
[INFO] cmd:  /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java -Xbootclasspath/a:/home/username/.m2/repository/org/scala-lang/scala-library/2.11.0/scala-library-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/scala-compiler/2.11.0/scala-compiler-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/scala-reflect/2.11.0/scala-reflect-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.jar:/home/username/.m2/repository/org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar -Xmx1024m -DpackageLinkDefs=file:///home/username/jgp/sf/webApp/s/target/packageLinkDefs.properties -classpath /home/username/.m2/repository/net/alchim31/maven/scala-maven-plugin/3.1.6/scala-maven-plugin-3.1.6.jar scala_maven_executions.MainWithArgsInFile scala.tools.nsc.CompileClient /tmp/scala-maven-2775689349188001559.args
[No compilation server running.]
[INFO] start server...
[INFO] cmd:  /bin/sh -c /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java -Xbootclasspath/a:/home/username/.m2/repository/org/scala-lang/scala-library/2.11.0/scala-library-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/scala-compiler/2.11.0/scala-compiler-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/scala-reflect/2.11.0/scala-reflect-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.jar:/home/username/.m2/repository/org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar -Xmx1024m -DpackageLinkDefs=file:///home/username/jgp/sf/webApp/s/target/packageLinkDefs.properties -classpath /home/username/.m2/repository/net/alchim31/maven/scala-maven-plugin/3.1.6/scala-maven-plugin-3.1.6.jar scala_maven_executions.MainWithArgsInFile scala.tools.nsc.MainGenericRunner /tmp/scala-maven-251673125142817892.args >/tmp/scala.tools.nsc.MainGenericRunner.out 2>/tmp/scala.tools.nsc.MainGenericRunner.err
[INFO] wait for files to compile...
[INFO] /home/username/jgp/sf/webApp/s/src/main/scala:-1: info: compiling
[INFO] Compiling 62 source files to /home/username/jgp/sf/webApp/s/target/classes at 1408188960527
[INFO] cmd:  /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java -Xbootclasspath/a:/home/username/.m2/repository/org/scala-lang/scala-library/2.11.0/scala-library-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/scala-compiler/2.11.0/scala-compiler-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/scala-reflect/2.11.0/scala-reflect-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.jar:/home/username/.m2/repository/org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar -Xmx1024m -DpackageLinkDefs=file:///home/username/jgp/sf/webApp/s/target/packageLinkDefs.properties -classpath /home/username/.m2/repository/net/alchim31/maven/scala-maven-plugin/3.1.6/scala-maven-plugin-3.1.6.jar scala_maven_executions.MainWithArgsInFile scala.tools.nsc.CompileClient /tmp/scala-maven-3903613611978899159.args
[INFO] Could not connect to compilation daemon after 300 attempts.
[INFO] prepare-compile in 0 s
[INFO] compile in 9 s
[INFO] Not running test cases due to compile error
[INFO] wait for files to compile...

--

---
You received this message because you are subscribed to a topic in the Google Groups "Maven and Scala" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/maven-and-scala/GWkGZ1jpCeo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to maven-and-sca...@googlegroups.com.

David Bernard

unread,
Aug 16, 2014, 8:08:50 AM8/16/14
to Maven and Scala
The files are deleted before starting the command. but on my host, the files doesn't exists.
But you can run the command manually without redirection (remove the "/bin/sh -c" and the redirection at end) :


/usr/lib/jvm/java-6-openjdk-i386/jre/bin/java -Xbootclasspath/a:/home/username/.m2/repository/org/scala-lang/scala-library/2.11.0/scala-library-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/scala-compiler/2.11.0/scala-compiler-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/scala-reflect/2.11.0/scala-reflect-2.11.0.jar:/home/username/.m2/repository/org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.jar:/home/username/.m2/repository/org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar -Xmx1024m -DpackageLinkDefs=file:///home/username/jgp/sf/webApp/s/target/packageLinkDefs.properties -classpath /home/username/.m2/repository/net/alchim31/maven/scala-maven-plugin/3.1.6/scala-maven-plugin-3.1.6.jar scala_maven_executions.MainWithArgsInFile scala.tools.nsc.MainGenericRunner /tmp/scala-maven-251673125142817892.args

Kwadrilek Moimoimora

unread,
Aug 16, 2014, 8:43:35 AM8/16/14
to maven-a...@googlegroups.com
Ah, I was already considering this. I did so, and I noticed nothing happened. (The command just seemed not to terminate, and there was no intermediate output). So, I added -verbose to the switches. In that case the last lines printed are below. It seems that it "stops" after java.net.Socket is loaded. Perhaps this is the correct behaviour (the daemon waiting for sourcecode changes?). 

Perhaps fsc just runs fine, but there is something wrong on the socket level (that the fsc is running, but somehow maven-scala doesn't know how to establish a connection.)

[Loaded java.security.MessageDigestSpi from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]
[Loaded java.security.MessageDigest from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]
[Loaded sun.security.provider.DigestBase from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]
[Loaded sun.security.provider.SHA from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]
[Loaded java.security.MessageDigest$Delegate from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]
[Loaded sun.security.provider.ByteArrayAccess from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]
[Loaded scala.reflect.io.File$$anonfun$writeAll$1 from /home/username/.m2/repository/org/scala-lang/scala-reflect/2.11.0/scala-reflect-2.11.0.jar]
[Loaded java.net.Socket from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]

David Bernard

unread,
Aug 16, 2014, 9:27:54 AM8/16/14
to Maven and Scala
On Sat, Aug 16, 2014 at 2:43 PM, Kwadrilek Moimoimora <kwad...@gmail.com> wrote:
Ah, I was already considering this. I did so, and I noticed nothing happened. (The command just seemed not to terminate, and there was no intermediate output).

It's the "expect" behavior.
 
So, I added -verbose to the switches. In that case the last lines printed are below. It seems that it "stops" after java.net.Socket is loaded. Perhaps this is the correct behaviour (the daemon waiting for sourcecode changes?). 

Perhaps fsc just runs fine, but there is something wrong on the socket level (that the fsc is running, but somehow maven-scala doesn't know how to establish a connection.)

[Loaded java.security.MessageDigestSpi from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]
[Loaded java.security.MessageDigest from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]
[Loaded sun.security.provider.DigestBase from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]
[Loaded sun.security.provider.SHA from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]
[Loaded java.security.MessageDigest$Delegate from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]
[Loaded sun.security.provider.ByteArrayAccess from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]
[Loaded scala.reflect.io.File$$anonfun$writeAll$1 from /home/username/.m2/repository/org/scala-lang/scala-reflect/2.11.0/scala-reflect-2.11.0.jar]
[Loaded java.net.Socket from /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar]

 
Same result with a working configuration

I did a quick look into the source code of fsc server. it redirects its own log into 2 files, on my desktop :

➜  test1 git:(e42da72) ✗ find / -name "scala-compile-server-out.log"
....
➜  test1 git:(e42da72) ✗ more /tmp/scala-devel${USERNAME}/output-redirects/scala-compile-server-out.log
➜  test1 git:(e42da72) ✗ more /tmp/scala-devel${USERNAME}/output-redirects/scala-compile-server-err.log
...starting server on socket 34329...

also check the port directory (filename == port)
➜  test1 git:(e42da72) ✗  ls -l /tmp/scala-devel${USERNAME}/scalac-compile-server-port
total 4
-rw-r--r-- 1 dwayne users 9 16 août  15:15 34329





kwad...@gmail.com

unread,
Aug 31, 2014, 2:07:50 PM8/31/14
to maven-a...@googlegroups.com
Sorry for the delay, I had some other things to do.

I simply used scala-maven plugin 3.2.0 (instead of 3.1.6) and the problem seems gone! Do not understand why...

I also did a mvn clean install, perhaps there were still some other (old) settings interfering.
Reply all
Reply to author
Forward
0 new messages