dagger-track icon indicating copy to clipboard operation
dagger-track copied to clipboard

Build fails sometimes when gradle reuses daemon

Open amanjeetsingh150 opened this issue 4 years ago • 4 comments
trafficstars

D8: java.lang.NullPointerException org.gradle.workers.WorkerExecutionException: There were multiple failures while executing work items at org.gradle.workers.internal.DefaultWorkerExecutor.workerExecutionException(DefaultWorkerExecutor.java:266) at org.gradle.workers.internal.DefaultWorkerExecutor.await(DefaultWorkerExecutor.java:246) at com.android.build.gradle.internal.tasks.DexArchiveBuilderTaskDelegate.doProcess(DexArchiveBuilderTaskDelegate.kt:274) at com.android.build.gradle.internal.tasks.DexArchiveBuilderTask.doTaskAction(DexArchiveBuilderTask.kt:275) at com.android.build.gradle.internal.tasks.NewIncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(BaseTask.kt:66) at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:51) at com.android.build.gradle.internal.tasks.NewIncrementalTask.taskAction(NewIncrementalTask.kt:41) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

Build fails sometimes fails with the above exception when gradle builds continuously runs reusing daemons. For solving this, I have to keep stopping gradle to reuse its daemon through:

./gradlew --stop or --no-daemon switch

amanjeetsingh150 avatar Jun 04 '21 18:06 amanjeetsingh150

I use 1.0.6-SNAPSHOT and I have similar issue after I added daggerTrack: Suppressed: java.lang.RuntimeException: java.util.concurrent.ExecutionException: com.android.tools.r8.utils.b0: java.lang.NullPointerException at com.android.tools.r8.D8.d(D8.java:173) at com.android.tools.r8.D8.b(D8.java:1) at com.android.tools.r8.utils.a0.a(SourceFile:47) at com.android.tools.r8.D8.run(D8.java:11) at com.android.builder.dexing.D8DexArchiveBuilder.convert(D8DexArchiveBuilder.java:116) at com.android.build.gradle.internal.dexing.DexWorkActionKt.process(DexWorkAction.kt:189) at com.android.build.gradle.internal.dexing.DexWorkActionKt.processNonIncrementally(DexWorkAction.kt:159) at com.android.build.gradle.internal.dexing.DexWorkActionKt.launchProcessing(DexWorkAction.kt:86) at com.android.build.gradle.internal.dexing.DexWorkAction.run(DexWorkAction.kt:49) at com.android.build.gradle.internal.profile.ProfileAwareWorkAction.execute(ProfileAwareWorkAction.kt:74) at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63) at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:67) at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:63) at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97) at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:63) at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44) at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76) at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41) at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:60) at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:200) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:215) at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164) at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

Also, I have this problem after adding daggerTrack. Many times when I build I have this, at I must clear rhe project and build it again.

Task failed with an exception. What went wrong: Execution failed for task ':analyticsNavigation:bundleLibRuntimeToJarDebug'. Failed to load cache entry for task ':analyticsNavigation:bundleLibRuntimeToJarDebug'

It's possible to fix these issues?

Thanks

drdla49 avatar Jul 12 '21 11:07 drdla49

Hey, @drdla49 yes it's possible. This happens mostly because of Gradle build caching. You can try after the following command:

./gradlew --stop

or turning off the daemon for builds with --no-daemon

amanjeetsingh150 avatar Jul 12 '21 18:07 amanjeetsingh150

Thanks, it works, but it's not possible to run this command every time or have deamon turned off. It's slowing builds. It's possible to do some changes in the library? Thanks

drdla49 avatar Jul 23 '21 13:07 drdla49

Hey, @drdla49 yup that's true agreed. Will investigate this further for a potential fix. Let me know if you find something related to it 👍

Thanks for the feedback 😄

amanjeetsingh150 avatar Jul 23 '21 22:07 amanjeetsingh150