2015-04-15 113 views
2

如何確定我的Gradle守護進程爲何死亡?我得到的唯一消息是L爲什麼Gradle Daemon會死?

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

這發生在活動構建中。幾個步驟將完成,一個步驟將顯示爲活動,然後構建失敗。

這從一個shell腳本調用gradlewgradle.properties移動我們的記憶ARGS(XmxXmsPermGen),並直接調用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 

後這種變化搖籃警告:

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 

即使雖然我們沒有要求,但構建運行在守護進程中,最終失敗。

+1

這是一致的失敗嗎?使用--info或--debug標誌運行gradle可能會給你一個提示 –

+0

自從你最後使用守護進程創建了一些東西之後,在它死亡之前多長時間? – Jolta

+0

這是相當一致的。我將嘗試使用--info或--debug,但我的假設是我不會得到太多的東西,因爲進程不會獲得它是守護進程的信息。 –

回答

1

Gradle build daemon disappeared unexpectedly當別的東西殺死長時間運行的Gradle Daemon進程和客戶進程(守護進程使用本地TCP連接進行通信)嘗試發送消息並且沒有得到響應時,最常出現這種情況。

例如,在構建發生時運行gradle --stopkillall java會重現此問題。