java.lang.IllegalStateException: Received progress event for an unknown operation (id: 125)

Gradle is crashing with the following stack trace:

7: Task failed with an exception. ----------- * What went wrong: Failed to notify task execution listener. > Failed to notify output event listener.

java.util.NoSuchElementException (no error message)

Unable to process incoming event 'ProgressComplete ’ (ProgressCompleteEvent) > Unable to process incoming event ‘Progress Building 39%’ (ProgressEvent)

  • Try: Run with --info or --debug option to get more log output.

  • Exception is: org.gradle.listener.ListenerNotificationException: Failed to notify task execution listener.

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:94)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy10.afterExecute(Unknown Source)

at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy10.afterExecute(Unknown Source)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:82)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)

at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:744) Cause 1: org.gradle.listener.ListenerNotificationException: Failed to notify output event listener.

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:94)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy0.onOutput(Unknown Source)

at org.gradle.logging.internal.OutputEventRenderer.onOutput(OutputEventRenderer.java:175)

at org.gradle.logging.internal.ProgressLoggingBridge.completed(ProgressLoggingBridge.java:27)

at org.gradle.logging.internal.DefaultProgressLoggerFactory$ProgressLoggerImpl.completed(DefaultProgressLoggerFactory.java:137)

at org.gradle.TaskExecutionLogger.afterExecute(TaskExecutionLogger.java:60)

at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

at org.gradle.listener.DefaultListenerManager$LoggerDispatch.dispatch(DefaultListenerManager.java:174)

at org.gradle.listener.DefaultListenerManager$LoggerDispatch.dispatch(DefaultListenerManager.java:163)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy10.afterExecute(Unknown Source)

at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy10.afterExecute(Unknown Source)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:82)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)

at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:744) Cause 1: java.util.NoSuchElementException

at java.util.LinkedList.removeLast(LinkedList.java:281)

at org.gradle.logging.internal.ProgressLogEventGenerator.onComplete(ProgressLogEventGenerator.java:63)

at org.gradle.logging.internal.ProgressLogEventGenerator.onOutput(ProgressLogEventGenerator.java:46)

at org.gradle.logging.internal.OutputEventRenderer$2.onOutput(OutputEventRenderer.java:128)

at sun.reflect.GeneratedMethodAccessor146.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy0.onOutput(Unknown Source)

at org.gradle.logging.internal.OutputEventRenderer.onOutput(OutputEventRenderer.java:175)

at org.gradle.logging.internal.ProgressLoggingBridge.completed(ProgressLoggingBridge.java:27)

at org.gradle.logging.internal.DefaultProgressLoggerFactory$ProgressLoggerImpl.completed(DefaultProgressLoggerFactory.java:137)

at org.gradle.TaskExecutionLogger.afterExecute(TaskExecutionLogger.java:60)

at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

at org.gradle.listener.DefaultListenerManager$LoggerDispatch.dispatch(DefaultListenerManager.java:174)

at org.gradle.listener.DefaultListenerManager$LoggerDispatch.dispatch(DefaultListenerManager.java:163)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy10.afterExecute(Unknown Source)

at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy10.afterExecute(Unknown Source)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:82)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)

at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:744) Cause 2: java.lang.RuntimeException: Unable to process incoming event 'ProgressComplete ’ (ProgressCompleteEvent)

at org.gradle.logging.internal.ConsoleBackedProgressRenderer.onOutput(ConsoleBackedProgressRenderer.java:50)

at sun.reflect.GeneratedMethodAccessor146.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy0.onOutput(Unknown Source)

at org.gradle.logging.internal.OutputEventRenderer.onOutput(OutputEventRenderer.java:175)

at org.gradle.logging.internal.ProgressLoggingBridge.completed(ProgressLoggingBridge.java:27)

at org.gradle.logging.internal.DefaultProgressLoggerFactory$ProgressLoggerImpl.completed(DefaultProgressLoggerFactory.java:137)

at org.gradle.TaskExecutionLogger.afterExecute(TaskExecutionLogger.java:60)

at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

at org.gradle.listener.DefaultListenerManager$LoggerDispatch.dispatch(DefaultListenerManager.java:174)

at org.gradle.listener.DefaultListenerManager$LoggerDispatch.dispatch(DefaultListenerManager.java:163)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy10.afterExecute(Unknown Source)

at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy10.afterExecute(Unknown Source)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:82)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)

at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:744) Caused by: java.lang.IllegalStateException: Received complete event for an unknown operation (id: 280)

at org.gradle.logging.internal.progress.ProgressOperations.complete(ProgressOperations.java:48)

at org.gradle.logging.internal.ConsoleBackedProgressRenderer.onOutput(ConsoleBackedProgressRenderer.java:41)

… 40 more Cause 2: java.lang.RuntimeException: Unable to process incoming event ‘Progress Building 39%’ (ProgressEvent)

at org.gradle.logging.internal.ConsoleBackedProgressRenderer.onOutput(ConsoleBackedProgressRenderer.java:50)

at sun.reflect.GeneratedMethodAccessor146.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy0.onOutput(Unknown Source)

at org.gradle.logging.internal.OutputEventRenderer.onOutput(OutputEventRenderer.java:175)

at org.gradle.logging.internal.ProgressLoggingBridge.progress(ProgressLoggingBridge.java:35)

at org.gradle.logging.internal.DefaultProgressLoggerFactory$ProgressLoggerImpl.progress(DefaultProgressLoggerFactory.java:126)

at org.gradle.internal.progress.BuildProgressLogger.afterExecute(BuildProgressLogger.java:77)

at org.gradle.internal.progress.BuildProgressFilter.afterExecute(BuildProgressFilter.java:84)

at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy10.afterExecute(Unknown Source)

at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)

at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)

at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)

at com.sun.proxy.$Proxy10.afterExecute(Unknown Source)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:82)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)

at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:744) Caused by: java.lang.IllegalStateException: Received progress event for an unknown operation (id: 125)

at org.gradle.logging.internal.progress.ProgressOperations.progress(ProgressOperations.java:39)

at org.gradle.logging.internal.ConsoleBackedProgressRenderer.onOutput(ConsoleBackedProgressRenderer.java:45)

… 41 more

This crash happens when:

  1. We have parallel builds enabled 2) We pass -q on the command line 3) We change the log level of test tasks to LIFECYCLE, as follows: subprojects {

test {

getLogging().setLevel LogLevel.LIFECYCLE

} }

As a first guess, it looks like org.gradle.logging.internal.ConsoleBackedProgressRenderer onOutput() is not thread safe.

To take a step back, we are trying to cut down on the amount of output generated by gradle when we run tests. Unfortunately, passing -q on the command line removes test output (which we want to see) along with all the other output that we don’t want to see.

With parallel builds disabled, we get the output we want, but our tests run almost 3x faster with parallel builds enabled.

Thanks.

Hi David,

Would you be able to put together a reproducible sample?

Also, you might be able to tune the test logging to output at quiet: http://www.gradle.org/docs/current/dsl/org.gradle.api.tasks.testing.logging.TestLoggingContainer.html

In all honesty, I probably could not put together a reproducible sample. I am helping out on a project, but I didn’t help set it up initially.

The link you posted helped quite a bit. We had set events and exceptionFormat in testLogging before, but had missed that fact that the settings default to the lifecycle event and that we needed to set those properties under the quiet property.

I am getting similar errors when I am running a multi project in a parallel mode with the following configuration :

org.gradle.parallel=true