簡體   English   中英

Gradle 構建停留在“等待獲取守護程序地址注冊表上的共享鎖”。

[英]Gradle build stuck at "Waiting to acquire shared lock on daemon addresses registry."

我目前正在使用 HP Fortify 工具掃描項目中的安全漏洞。 在掃描時,Fortify 的 CLI 允許將構建工具集成到其 CLI 命令中,以便構建並同時掃描項目中存在的文件。 我正在使用以下命令:

sourceanalyzer -b mcapbookvalue -gradle -verbose./gradlew -x test --console=verbose -debug --continue assemble

但是構建被卡在了:

2020-01-14T12:31:39.836-0500 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.[0K
2020-01-14T12:31:39.836-0500 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2020-01-14T12:31:39.836-0500 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2020-01-14T12:31:39.836-0500 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2020-01-14T12:31:39.836-0500 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.

如果我在不使用集成的 Fortify 命令的情況下構建項目,則構建成功,僅使用:

./gradlew -x test --console=verbose -debug --continue assemble

我無法弄清楚為什么 gradle 構建卡住了。 閱讀和理解線程轉儲日志中發生的事情超出了我的范圍。

線程轉儲(jstack 日志): https://drive.google.com/file/d/13b6vdDGCWoke7McM_FJROVOkvTaRGqem/view?usp=sharing

如果收到任何幫助,那就太好了。

提前致謝。

您面臨的問題似乎與 Gradle 守護進程及其對守護進程地址注冊表的鎖定有關。 Gradle 守護進程是運行 Gradle 構建的后台進程,它使用鎖來管理對某些資源的訪問。

您可以嘗試以下幾種可能的解決方案:

  1. 停止並重新啟動 Gradle 守護進程:在您的項目目錄中,運行以下命令以停止 Gradle 守護進程:

./gradlew --停止

然后,嘗試再次運行您的構建命令,看看它是否解決了問題。

  1. 禁用 Gradle 守護進程:您可以通過在構建命令中添加--no-daemon選項來禁用 Gradle 守護進程。 例如:

./gradlew --no-daemon -x test --console=verbose -debug --continue assemble

禁用守護進程可能會稍微減慢構建啟動時間,但如果守護進程本身存在問題,它會有所幫助。

  1. 升級 Gradle:確保您使用的是最新版本的 Gradle。您可以在 Gradle 網站上或通過在您的項目目錄中運行./gradlew --version來查看可用的最新版本。 如果您使用的是舊版本,請考慮升級以查看是否可以解決問題。

  2. 檢查沖突進程:可能有另一個 Gradle 構建或進程正在運行,它持有守護程序地址注冊表上的鎖。 檢查任何其他正在運行的 Gradle 進程並在開始構建之前終止它們。

  3. 分析線程轉儲:如果問題仍然存在並且您想進一步調查問題,您可以分析線程轉儲日志以確定任何潛在的瓶頸或沖突。 您可以與 Gradle 社區或 Fortify 支持共享線程轉儲日志,以幫助理解問題。

值得一提的是,該問題可能特定於 Fortify 和 Gradle 之間的集成。在這種情況下,聯系 Fortify 支持或查看他們的文檔或社區論壇以了解與 Gradle 集成相關的已知問題和解決方案可能會有所幫助。

我希望這些建議之一可以幫助您解決問題並成功地將 Fortify 集成到您的 Gradle 構建中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM