chutney-legacy icon indicating copy to clipboard operation
chutney-legacy copied to clipboard

🐛 | Cannot update report due to concurrent access

Open bessonm opened this issue 1 year ago • 0 comments

What happened?

11:47:42.145 [engine-executor5] ERROR c.c.engine.domain.report.Reporter - Cannot generate step report: null

Steps to reproduce

Create an always failing step with a retry strategy and retry delay less than 1ms.

Relevant logs and/or screenshots/GIFs

11:47:42.145 [engine-executor5] ERROR c.c.engine.domain.report.Reporter - Cannot generate step report: null
java.util.ConcurrentModificationException: null
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1631)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at com.chutneytesting.engine.domain.execution.engine.step.StepState.filterNullAndEmptyMessage(StepState.java:119)
	at com.chutneytesting.engine.domain.execution.engine.step.StepState.informations(StepState.java:111)
	at com.chutneytesting.engine.domain.execution.engine.step.Step.informations(Step.java:202)
	at com.chutneytesting.engine.domain.report.Reporter.generateReport(Reporter.java:117)
	at com.chutneytesting.engine.domain.report.Reporter.lambda$generateReport$4(Reporter.java:119)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at com.chutneytesting.engine.domain.report.Reporter.generateReport(Reporter.java:119)
	at com.chutneytesting.engine.domain.report.Reporter.generateRunningReport(Reporter.java:102)
	at com.chutneytesting.engine.domain.report.Reporter.lambda$publishReport$0(Reporter.java:78)
	at java.base/java.util.Optional.ifPresent(Optional.java:178)
	at com.chutneytesting.engine.domain.report.Reporter.doIfPublisherExists(Reporter.java:161)
	at com.chutneytesting.engine.domain.report.Reporter.publishReport(Reporter.java:78)
	at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63)
	at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:62)
	at io.reactivex.internal.operators.observable.ObservableFilter$FilterObserver.onNext(ObservableFilter.java:52)
	at io.reactivex.subjects.PublishSubject$PublishDisposable.onNext(PublishSubject.java:308)
	at io.reactivex.subjects.PublishSubject.onNext(PublishSubject.java:228)
	at io.reactivex.internal.util.NotificationLite.acceptFull(NotificationLite.java:298)
	at io.reactivex.subjects.SerializedSubject.test(SerializedSubject.java:182)
	at io.reactivex.internal.util.AppendOnlyLinkedArrayList.forEachWhile(AppendOnlyLinkedArrayList.java:93)
	at io.reactivex.subjects.SerializedSubject.emitLoop(SerializedSubject.java:176)
	at io.reactivex.subjects.SerializedSubject.onNext(SerializedSubject.java:105)
	at com.chutneytesting.engine.domain.execution.RxBus.post(RxBus.java:22)
	at com.chutneytesting.engine.domain.execution.engine.step.Step.beginExecution(Step.java:117)
	at com.chutneytesting.engine.domain.execution.engine.step.Step.execute(Step.java:89)
	at com.chutneytesting.engine.domain.execution.strategies.DefaultStepExecutionStrategy.execute(DefaultStepExecutionStrategy.java:53)
	at com.chutneytesting.engine.domain.execution.strategies.RetryWithTimeOutStrategy.executeAll(RetryWithTimeOutStrategy.java:107)
	at com.chutneytesting.engine.domain.execution.strategies.RetryWithTimeOutStrategy.execute(RetryWithTimeOutStrategy.java:74)
	at com.chutneytesting.engine.domain.execution.strategies.DefaultStepExecutionStrategy.execute(DefaultStepExecutionStrategy.java:41)
	at com.chutneytesting.engine.domain.execution.strategies.StepExecutionStrategy.execute(StepExecutionStrategy.java:24)
	at com.chutneytesting.engine.domain.execution.engine.DefaultExecutionEngine.lambda$execute$0(DefaultExecutionEngine.java:77)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)

Possible fixes

No response

Version

No response

What browsers are you seeing the problem on ?

No response

What OS did you use ?

No response

bessonm avatar Jul 21 '23 09:07 bessonm