# Gradle Daemon Connection Error: Could Not Connect to Daemon (Gradle 8.7, OpenJDK 17)

**URL:** <https://discuss.gradle.org/t/gradle-daemon-connection-error-could-not-connect-to-daemon-gradle-8-7-openjdk-17/50091>\
**Category:** Help/Discuss\
**Created:** [December 15, 2024, 9:39am UTC](https://discuss.gradle.org/t/gradle-daemon-connection-error-could-not-connect-to-daemon-gradle-8-7-openjdk-17/50091 "2024-12-15T09:39:47Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![sonnguyen9800](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/sonnguyen9800/32/11419_2.png) [@sonnguyen9800](https://discuss.gradle.org/u/sonnguyen9800)\
**Post date:** [December 15, 2024, 9:39am UTC](https://discuss.gradle.org/t/gradle-daemon-connection-error-could-not-connect-to-daemon-gradle-8-7-openjdk-17/50091/1 "2024-12-15T09:39:47Z")

</div>

Hello,

**Description:**

I am working on a Flutter project on Window 10, using Docker Desktop, and using `act-cli` to build/deploy the APK. In practice, `act-cli` create a docker container and clone the source code then run gradle to build the apk (from the container itself) . However, when building the APK using Gradle, there is a serious issue related to the Gradle Daemon.

I provided a sample `.workflow` file below, the code sample is created by default template of Flutter

```gradle
name: Bug

on:
  workflow_dispatch:

jobs:
  build:
    name: Build Flutter Project
    runs-on: ubuntu-latest
    container:
      image: ghcr.io/cirruslabs/flutter:3.24.5
    steps:

        - name: Checkout flutter-hello-world
          uses: actions/checkout@v4
        - name: Flutter Doctor
          run: flutter doctor
        - name: Build SampleApplication
          run: flutter build apk --release -v

```

Then run the workflow by

```gradle
act -W .github/workflows/workflow_file.yml

```

### Observed Behavior:

Gradle fails to connect to the daemon, causing the APK build to terminate with an error.

```gradle
| [+10 ms] FAILURE: Build failed with an exception.
| [+1 ms] * What went wrong:
| [] Could not connect to the Gradle daemon.
| [] Daemon uid: 5a0984cc-3ddf-479e-adef-4509f9c189e9 with diagnostics:
| [] Daemon pid: 293
| [] log file: /root/.gradle/daemon/8.7/daemon-293.out.log
| [] ----- Last 20 lines from daemon log file - daemon-293.out.log -----
| [] 2024-12-15T09:20:51.848+0000 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface lo
| [] 2024-12-15T09:20:51.848+0000 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback 
interface? true
| [] 2024-12-15T09:20:51.848+0000 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding loopback address /0:0:0:0:0:0:0:1%lo
| [] 2024-12-15T09:20:51.848+0000 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding loopback address /127.0.0.1
| [] 2024-12-15T09:20:51.850+0000 [DEBUG] [org.gradle.internal.remote.internal.inet.TcpIncomingConnector] Listening on [1fba37b4-3d2d-409e-b3c1-9bcb5dd6ab18 port:38649, addresses:[localhost/127.0.0.1]].
| [] 2024-12-15T09:20:51.858+0000 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] Daemon starting at: Sun Dec 15 09:20:51 GMT 2024, with address: [1fba37b4-3d2d-409e-b3c1-9bcb5dd6ab18 port:38649, addresses:[localhost/127.0.0.1]]
| [] 2024-12-15T09:20:51.858+0000 [INFO] [org.gradle.launcher.daemon.server.DaemonRegistryUpdater] Advertising the daemon address to the clients: [1fba37b4-3d2d-409e-b3c1-9bcb5dd6ab18 port:38649, addresses:[localhost/127.0.0.1]]
| [] 2024-12-15T09:20:51.859+0000 [DEBUG] [org.gradle.launcher.daemon.server.DaemonRegistryUpdater] Advertised daemon 
context: DefaultDaemonContext[uid=5a0984cc-3ddf-479e-adef-4509f9c189e9,javaHome=/usr/lib/jvm/java-17-openjdk-amd64,daemonRegistryDir=/root/.gradle/daemon,pid=293,idleTimeout=120000,priority=NORMAL,applyInstrumentationAgent=true,daemonOpts=--add-opens=java.base/java.util=ALL-UNNAMED,--add-opens=java.base/java.lang=ALL-UNNAMED,--add-opens=java.base/java.lang.invoke=ALL-UNNAMED,--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED,--add-opens=java.base/java.nio.charset=ALL-UNNAMED,--add-opens=java.base/java.net=ALL-UNNAMED,--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED,-Xmx4608M,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
| [] 2024-12-15T09:20:51.859+0000 [DEBUG] [org.gradle.launcher.daemon.registry.PersistentDaemonRegistry] Storing daemon address: [1fba37b4-3d2d-409e-b3c1-9bcb5dd6ab18 port:38649, addresses:[localhost/127.0.0.1]], context: DefaultDaemonContext[uid=5a0984cc-3ddf-479e-adef-4509f9c189e9,javaHome=/usr/lib/jvm/java-17-openjdk-amd64,daemonRegistryDir=/root/.gradle/daemon,pid=293,idleTimeout=120000,priority=NORMAL,applyInstrumentationAgent=true,daemonOpts=--add-opens=java.base/java.util=ALL-UNNAMED,--add-opens=java.base/java.lang=ALL-UNNAMED,--add-opens=java.base/java.lang.invoke=ALL-UNNAMED,--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED,--add-opens=java.base/java.nio.charset=ALL-UNNAMED,--add-opens=java.base/java.net=ALL-UNNAMED,--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED,-Xmx4608M,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
| [] 2024-12-15T09:20:51.865+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
| [] 2024-12-15T09:20:51.868+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
| [+1 ms] 2024-12-15T09:20:51.869+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon 
addresses registry.
| [] 2024-12-15T09:20:51.870+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
| [] 2024-12-15T09:20:51.870+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
| [] 2024-12-15T09:20:51.872+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon 
addresses registry.
| [] 2024-12-15T09:20:51.872+0000 [LIFECYCLE] [org.gradle.launcher.daemon.server.Daemon] Daemon server started.       
| [] 2024-12-15T09:20:51.873+0000 [DEBUG] [org.gradle.launcher.daemon.bootstrap.DaemonStartupCommunication] Completed 
writing the daemon greeting. Closing streams...
| [] 2024-12-15T09:20:51.876+0000 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] stopOnExpiration() called on daemon
| [] 2024-12-15T09:20:51.883+0000 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] awaitExpiration() called on daemon
| [] 2024-12-15T09:20:51.884+0000 [DEBUG] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] daemon is running. Sleeping until state changes.
| [] ----- End of the daemon log -----
| [] * Try:
| [] > Run with --debug option to get more log output.
| [] > Run with --scan to get full insights.
| [] > Get more help at https://help.gradle.org.
| [] * Exception is:
| [] org.gradle.launcher.daemon.client.DaemonConnectionException: Could not connect to the Gradle daemon.
| [] Daemon uid: 5a0984cc-3ddf-479e-adef-4509f9c189e9 with diagnostics:
| [] Daemon pid: 293
| [] log file: /root/.gradle/daemon/8.7/daemon-293.out.log
| [] ----- Last 20 lines from daemon log file - daemon-293.out.log -----
| [] 2024-12-15T09:20:51.848+0000 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface lo
| [] 2024-12-15T09:20:51.848+0000 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback 
interface? true
| [] 2024-12-15T09:20:51.848+0000 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding loopback address /0:0:0:0:0:0:0:1%lo
| [] 2024-12-15T09:20:51.848+0000 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding loopback address /127.0.0.1
| [] 2024-12-15T09:20:51.850+0000 [DEBUG] [org.gradle.internal.remote.internal.inet.TcpIncomingConnector] Listening on [1fba37b4-3d2d-409e-b3c1-9bcb5dd6ab18 port:38649, addresses:[localhost/127.0.0.1]].
| [] 2024-12-15T09:20:51.858+0000 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] Daemon starting at: Sun Dec 15 09:20:51 GMT 2024, with address: [1fba37b4-3d2d-409e-b3c1-9bcb5dd6ab18 port:38649, addresses:[localhost/127.0.0.1]]
| [] 2024-12-15T09:20:51.858+0000 [INFO] [org.gradle.launcher.daemon.server.DaemonRegistryUpdater] Advertising the daemon address to the clients: [1fba37b4-3d2d-409e-b3c1-9bcb5dd6ab18 port:38649, addresses:[localhost/127.0.0.1]]
| [] 2024-12-15T09:20:51.859+0000 [DEBUG] [org.gradle.launcher.daemon.server.DaemonRegistryUpdater] Advertised daemon 
context: DefaultDaemonContext[uid=5a0984cc-3ddf-479e-adef-4509f9c189e9,javaHome=/usr/lib/jvm/java-17-openjdk-amd64,daemonRegistryDir=/root/.gradle/daemon,pid=293,idleTimeout=120000,priority=NORMAL,applyInstrumentationAgent=true,daemonOpts=--add-opens=java.base/java.util=ALL-UNNAMED,--add-opens=java.base/java.lang=ALL-UNNAMED,--add-opens=java.base/java.lang.invoke=ALL-UNNAMED,--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED,--add-opens=java.base/java.nio.charset=ALL-UNNAMED,--add-opens=java.base/java.net=ALL-UNNAMED,--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED,-Xmx4608M,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
| [] 2024-12-15T09:20:51.859+0000 [DEBUG] [org.gradle.launcher.daemon.registry.PersistentDaemonRegistry] Storing daemon address: [1fba37b4-3d2d-409e-b3c1-9bcb5dd6ab18 port:38649, addresses:[localhost/127.0.0.1]], context: DefaultDaemonContext[uid=5a0984cc-3ddf-479e-adef-4509f9c189e9,javaHome=/usr/lib/jvm/java-17-openjdk-amd64,daemonRegistryDir=/root/.gradle/daemon,pid=293,idleTimeout=120000,priority=NORMAL,applyInstrumentationAgent=true,daemonOpts=--add-opens=java.base/java.util=ALL-UNNAMED,--add-opens=java.base/java.lang=ALL-UNNAMED,--add-opens=java.base/java.lang.invoke=ALL-UNNAMED,--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED,--add-opens=java.base/java.nio.charset=ALL-UNNAMED,--add-opens=java.base/java.net=ALL-UNNAMED,--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED,-Xmx4608M,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
| [] 2024-12-15T09:20:51.865+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
| [] 2024-12-15T09:20:51.868+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
| [] 2024-12-15T09:20:51.869+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon 
addresses registry.
| [] 2024-12-15T09:20:51.870+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
| [] 2024-12-15T09:20:51.870+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
| [] 2024-12-15T09:20:51.872+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon 
addresses registry.
| [] 2024-12-15T09:20:51.872+0000 [LIFECYCLE] [org.gradle.launcher.daemon.server.Daemon] Daemon server started.       
| [] 2024-12-15T09:20:51.873+0000 [DEBUG] [org.gradle.launcher.daemon.bootstrap.DaemonStartupCommunication] Completed 
writing the daemon greeting. Closing streams...
| [] 2024-12-15T09:20:51.876+0000 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] stopOnExpiration() called on daemon
| [] 2024-12-15T09:20:51.883+0000 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] awaitExpiration() called on daemon
| [] 2024-12-15T09:20:51.884+0000 [DEBUG] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] daemon is running. Sleeping until state changes.
| [] ----- End of the daemon log -----
| [] at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connectToDaemonWithId(DefaultDaemonConnector.java:262)
| [] at org.gradle.launcher.daemon.client.DefaultDaemonConnector.doStartDaemon(DefaultDaemonConnector.java:227)    
| [] at org.gradle.launcher.daemon.client.DefaultDaemonConnector.startSingleUseDaemon(DefaultDaemonConnector.java:247)
| [] at org.gradle.launcher.daemon.client.SingleUseDaemonClient.execute(SingleUseDaemonClient.java:51)
| [] at org.gradle.launcher.daemon.client.SingleUseDaemonClient.execute(SingleUseDaemonClient.java:37)
| [] at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:57)
| [] at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:167)
| [] at org.gradle.launcher.cli.DefaultCommandLineActionFactory$ParseAndBuildAction.execute(DefaultCommandLineActionFactory.java:259)
| [] at org.gradle.launcher.cli.DefaultCommandLineActionFactory$ParseAndBuildAction.execute(DefaultCommandLineActionFactory.java:230)
| [] at org.gradle.launcher.cli.DebugLoggerWarningAction.execute(DebugLoggerWarningAction.java:74)
| [] at org.gradle.launcher.cli.DebugLoggerWarningAction.execute(DebugLoggerWarningAction.java:30)
| [] at org.gradle.launcher.cli.WelcomeMessageAction.execute(WelcomeMessageAction.java:96)
| [] at org.gradle.launcher.cli.WelcomeMessageAction.execute(WelcomeMessageAction.java:40)
| [] at org.gradle.launcher.cli.NativeServicesInitializingAction.execute(NativeServicesInitializingAction.java:44) 
| [] at org.gradle.launcher.cli.NativeServicesInitializingAction.execute(NativeServicesInitializingAction.java:26) 
| [] at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:41)
| [] at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:26)
| [] at org.gradle.launcher.cli.DefaultCommandLineActionFactory$WithLogging.execute(DefaultCommandLineActionFactory.java:361)
| [] at org.gradle.launcher.Main.doAction(Main.java:35)
| [] at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:50)
| [] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| [] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
| [] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)   
| [] at java.base/java.lang.reflect.Method.invoke(Method.java:569)
| [] at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60)
| [] at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37)
| [] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| [] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
| [] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)   
| [] at java.base/java.lang.reflect.Method.invoke(Method.java:569)
| [] at org.gradle.launcher.GradleMain.main(GradleMain.java:34)
| [] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| [] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
| [] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)   
| [] at java.base/java.lang.reflect.Method.invoke(Method.java:569)
| [] at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
| [] at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
| [] at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
| [] Caused by: org.gradle.internal.remote.internal.ConnectException: Could not connect to server [1fba37b4-3d2d-409e-b3c1-9bcb5dd6ab18 port:38649, addresses:[/127.0.0.1]]. Tried addresses: [/127.0.0.1].
| [] at org.gradle.internal.remote.internal.inet.TcpOutgoingConnector.connect(TcpOutgoingConnector.java:67)        
| [] at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connectToDaemon(DefaultDaemonConnector.java:274)  
| [] at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connectToDaemonWithId(DefaultDaemonConnector.java:260)
| [] ... 37 more
| [] Caused by: java.net.ConnectException: Connection refused
| [] at java.base/sun.nio.ch.Net.pollConnect(Native Method)
| [] at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
| [] at java.base/sun.nio.ch.SocketChannelImpl.finishTimedConnect(SocketChannelImpl.java:1148)
| [] at java.base/sun.nio.ch.SocketChannelImpl.blockingConnect(SocketChannelImpl.java:1183)
| [] at java.base/sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:98)
| [] at org.gradle.internal.remote.internal.inet.TcpOutgoingConnector.tryConnect(TcpOutgoingConnector.java:81)     
| [] at org.gradle.internal.remote.internal.inet.TcpOutgoingConnector.connect(TcpOutgoingConnector.java:54)        
| [] ... 39 more

```

```gradle
### Expected Behavior:

Gradle should connect to the daemon without issues, allowing the APK build to proceed successfully.

### Additional Context:
Here is the gradle.properties I have

android/gradle.properties
---
org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true
org.gradle.daemon=false
org.gradle.jvmargs=-Xmx4608M

```

android/app/gradle/wrapper/gradle-wrapper.properties

```gradle
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl = https\://services.gradle.org/distributions/gradle-8.7-bin.zip
org.gradle.daemon=false
org.gradle.parallel=false
org.gradle.jvmargs=-Xmx4608M

```

#### Workaround:

Turn-off host network in the Docker Desktop seem to be the only solution for this problem albeit I don’t understand why?

Let me know if you’d like to refine this further.

---

<div class="post-metadata">

**Author:** ![Vampire](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/vampire/32/9082_2.png) [@Vampire](https://discuss.gradle.org/u/Vampire)\
**Post date:** [December 15, 2024, 2:59pm UTC](https://discuss.gradle.org/t/gradle-daemon-connection-error-could-not-connect-to-daemon-gradle-8-7-openjdk-17/50091/2 "2024-12-15T14:59:06Z")

</div>

The Gradle CLI talks with the Gradle Daemon (and the daemon with worker processes) via localhost connections. If the localhost connection does not work, Gradle cannot work.
