Gradle excecution freezes for 3 mins for NPM tasks

Hello all.

My config (tested in Gradle 4.10 and 6.1.1) looks like that :

apply plugin: 'com.github.node-gradle.node'

node {
    version = '12.16.0'
    download = true
    workDir = file "$project.buildDir/nodejs"
}

task "npmBuild"( type:NpmTask ) {
    args = [ 'run', 'build' ]
}

task "npm-set-proxy"( type:NpmTask ) {
    args = [ 'config', 'set', 'https-proxy', 'http://www.www.www:80/' ]
}

produces the following output in Windows 10:

>gradlew.bat npmBuild
Starting a Gradle Daemon (subsequent builds will be faster)

> Task :npmBuild

> layer-selection@0.1.0 build .....
> react-scripts build

Creating an optimized production build...
Compiled with warnings.
...
File sizes after gzip:

  90.99 KB  build\static\js\2.17f9cda1.chunk.js
  28.68 KB  build\static\css\2.2f7f14af.chunk.css
...
Find out more about deployment here:

  bit.ly/CRA-deploy

at this point the tasks lasted approx. 20 seconds, then it hangs for 3 min with CPU-load below 1% and continues:

BUILD SUCCESSFUL in 3m 18s
2 actionable tasks: 1 executed, 1 up-to-date

The other task npm-set-proxy has the same behaviour: it executes within 1 sec, and then idles for 3 addional minutes:

>gradlew.bat npm-set-proxy

BUILD SUCCESSFUL in 3m 11s
2 actionable tasks: 1 executed, 1 up-to-date

The strange thing is that running the same config on similar project on another Win10 machine results in clean run w/o freezes.

Can those freeses happen due to anti-virus software?

Any suggestions & hints are welcome!

TIA!

Hi Konstantin,

does this issue describe the problem you are facing: https://github.com/gradle/gradle/issues/11792 ?

Cheers,
Stefan

Hi Stefan,

the original description doesn’t really co-relate with my problem: I don’t have java++ classes at all in my config, only 1 small react app.

Only in comments someone mentiones something similar

Some additional output for task:

task npmConfig0( type:NpmTask ) {
	args = [ 'config', 'set', 'proxy', 'http://www.www.www:80/' ]
}

with --debug:

13:55:38.651 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger]
13:55:38.651 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] > Task :npmConfig0
13:55:38.651 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Task :npmConfig0' started
13:55:38.651 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Starting to execute task ':npmConfig0'
13:55:38.653 [DEBUG] [org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter] Putting task artifact state for task ':npmConfig0' into context took 0.001 secs.
13:55:38.653 [DEBUG] [org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter] Determining if task ':npmConfig0' is up-to-date
13:55:38.653 [INFO] [org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter] Task ':npmConfig0' is not up-to-date because:
  Task has not declared any outputs despite executing actions.
13:55:38.653 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter] Executing actions for task ':npmConfig0'.
13:55:38.655 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Execute exec for :npmConfig0' started
13:55:38.692 [INFO] [org.gradle.process.internal.DefaultExecHandle] Starting process 'command 'C:\.....\npm.cmd config set proxy http://www.www.www:80/
13:55:38.692 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Environment for process 
13:55:38.702 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: STARTED
13:55:38.702 [INFO] [org.gradle.process.internal.DefaultExecHandle] Successfully started process 'command 'C:\Daten-lokal\Benutzer\ml9s\eclipse\eclipse-jee-2019-03\IBALIS-3914-ng\mod-flaeche\build\nodejs\node-v12.16.0-win-x64\npm.cmd''
............
13:55:38.703 [DEBUG] [org.gradle.process.internal.ExecHandleRunner] waiting until streams are handled...
13:55:43.988 [LIFECYCLE] [org.gradle.launcher.daemon.server.Daemon]
13:55:43.988 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
13:55:43.993 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:55:43.993 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
13:55:43.994 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
13:55:43.995 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:55:43.995 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
13:55:43.995 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
13:55:53.987 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
13:55:53.990 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:55:53.990 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
13:55:53.992 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
13:55:53.996 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:55:53.996 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
13:55:53.998 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
13:56:03.989 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
13:56:03.990 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:56:03.990 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
13:56:03.991 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
13:56:03.992 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:56:03.992 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
13:56:03.992 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
13:56:13.988 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
13:56:13.989 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:56:13.989 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
13:56:13.989 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
13:56:13.990 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:56:13.990 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
13:56:13.991 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
13:56:23.987 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
13:56:23.989 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:56:23.989 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
13:56:23.990 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
13:56:23.991 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:56:23.992 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
13:56:23.992 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.

from here on the DaemonExpirationPeriodicCheck and DefaultFileLockManager are running each 10 seconds for the next 3 mins, and thereafter the build succeeds (disregard the debug timestamps, they come from the 2nd run):

14:06:41.542 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
14:06:41.543 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
14:06:41.543 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
14:06:41.543 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
14:06:41.544 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
14:06:41.544 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
14:06:41.545 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
14:03:38.008 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger]
14:03:38.008 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] > Task :npmConfig0
14:06:44.982 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: SUCCEEDED
14:06:44.982 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Process 'command 'C:\....\npm.cmd'' finished with exit value 0 (state: SUCCEEDED)
14:06:44.982 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Execute exec for :npmConfig0'
14:06:44.982 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Execute exec for :npmConfig0' completed
14:06:44.982 [DEBUG] [org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter] Removed task artifact state for {} from context.
14:06:44.982 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':npmConfig0'
14:06:44.982 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Task :npmConfig0'
14:06:44.982 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Task :npmConfig0' completed
14:06:44.983 [INFO] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] :npmConfig0 (Thread[Task worker for ':' Thread 3,5,main]) completed. Took 3 mins 9.021 secs.
14:06:44.983 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Task worker for ':' Thread 3: released lock on :
14:06:44.983 [DEBUG] [org.gradle.internal.work.DefaultWorkerLeaseService] Worker lease root.1.19 completed (1 worker(s) in use)
14:06:44.983 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Task worker for ':' Thread 3: released lock on root.1.19
14:06:44.983 [DEBUG] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] Task worker [Thread[Task worker for ':' Thread 3,5,main]] finished, busy: 3 mins 10.557 secs, idle: 0.019 secs
14:06:44.983 [DEBUG] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] Task worker [Thread[Daemon worker,5,main]] finished, busy: 0.0 secs, idle: 3 mins 10.576 secs
14:06:44.983 [DEBUG] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] Task worker [Thread[Task worker for ':' Thread 2,5,main]] finished, busy: 0.0 secs, idle: 3 mins 10.576 secs
14:06:44.983 [DEBUG] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] Task worker [Thread[Task worker for ':' Thread 6,5,main]] finished, busy: 0.0 secs, idle: 3 mins 10.576 secs
14:06:44.983 [DEBUG] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] Task worker [Thread[Task worker for ':' Thread 7,5,main]] finished, busy: 0.0 secs, idle: 3 mins 10.576 secs
14:06:44.983 [DEBUG] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] Task worker [Thread[Task worker for ':' Thread 4,5,main]] finished, busy: 0.0 secs, idle: 3 mins 10.576 secs
14:06:44.983 [DEBUG] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] Task worker [Thread[Task worker for ':' Thread 5,5,main]] finished, busy: 0.0 secs, idle: 3 mins 10.576 secs
14:06:44.983 [DEBUG] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] Task worker [Thread[Task worker for ':',5,main]] finished, busy: 0.0 secs, idle: 3 mins 10.576 secs
14:06:44.986 [DEBUG] [org.gradle.execution.taskgraph.DefaultTaskExecutionGraph] Timing: Executing the DAG took 3 mins 10.583 secs
14:06:44.986 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Run tasks'
14:06:44.986 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Run tasks' completed
14:06:44.986 [LIFECYCLE] [org.gradle.internal.buildevents.BuildResultLogger]
14:06:44.988 [LIFECYCLE] [org.gradle.internal.buildevents.BuildResultLogger] BUILD SUCCESSFUL in 3m 15s
14:06:44.988 [LIFECYCLE] [org.gradle.internal.buildevents.BuildResultLogger] 2 actionable tasks: 1 executed, 1 up-to-date