2015-04-15 3 views
2

Как мне определить, почему умер мой дядя-колыбель? Единственное сообщение, которое я получаю isLПочему Демон Gradle умер?

Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed) 

Это происходит в активной сборке. Несколько шагов завершатся, и шаг будет активным, а затем сборка завершится неудачно.

Это началось после того, как двигая арг памяти (XmxXmsPermGen) из сценария оболочки, который называется gradlew к gradle.properties и вызова gradlew непосредственно.

build.sh

export GRADLE_OPTS="\"-Xmx1024m\" \"-Xms256m\" \"-XX:MaxPermSize=256m\"" 
export JAVA_HOME="/usr/local/java/jdk1.6" 
exec ./gradlew "[email protected]" 

Дополнение к gradle.properties

org.gradle.java.home=/usr/local/java/jdk1.6/ 
org.gradle.jvmargs=-Xmx1024m -Xms256m -XX:MaxPermSize=256m 

После этого изменения Gradle предупреждает:

To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: http://gradle.org/docs/2.2.1/userguide/gradle_daemon.html 

И даже если вес e не спрашивайте об этом, сборка работает в демоне, что в конечном итоге терпит неудачу.

+1

Является ли это последовательным провалом? Запуск gradle с флагами --info или --debug может дать вам подсказку для этого –

+0

Как долго вы уже что-то создали с помощью демона, прежде чем он умер? – Jolta

+0

Это довольно непротиворечиво. Я собираюсь попробовать с --info или --debug, но, по моему предположению, я не получу многого, потому что у процесса не будет информации, которую это демон, который имеет его. –

ответ

1

чаще всего возникает, когда что-то еще убивает длительный процесс демона Gradle, а процесс клиента (Daemon использует локальные TCP-соединения для связи) пытается отправить сообщение и не получает ответа.

Например, работает gradle --stop или killall java, в то время как сборка будет происходить, это воспроизведет эту проблему.

Смежные вопросы