scheduling
scheduling copied to clipboard
ConcurrentModificationException when calling SchedulerProxyUserInterface.getJobState
The following error occurs in the serialization when calling the getJobState method:
To me, it does not look like a proactive-programming issue, as the jobState object should not be modified while it is sent as a return value
java.util.ConcurrentModificationException
at java.util.ArrayList.writeObject(ArrayList.java:766)
at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
at java.util.HashMap.internalWriteEntries(HashMap.java:1785)
at java.util.HashMap.writeObject(HashMap.java:1362)
at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:441)
at org.objectweb.proactive.core.mop.MethodCall.writeTheObject(MethodCall.java:355)
at org.objectweb.proactive.core.mop.MethodCall.writeObject(MethodCall.java:351)
at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:441)
at org.objectweb.proactive.core.body.request.RequestImpl.writeTheObject(RequestImpl.java:241)
at org.objectweb.proactive.core.body.request.RequestImpl.writeObject(RequestImpl.java:237)
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
at org.objectweb.proactive.core.util.converter.remote.ProActiveMarshaller.marshallObject(ProActiveMarshaller.java:52)
at org.objectweb.proactive.extensions.pnp.PNPROMessage.send(PNPROMessage.java:93)
at org.objectweb.proactive.extensions.pnp.PNPRemoteObject.receiveMessage(PNPRemoteObject.java:71)
at org.objectweb.proactive.core.remoteobject.RemoteObjectSet.receiveMessage(RemoteObjectSet.java:194)
at org.objectweb.proactive.core.remoteobject.RemoteObjectAdapter.receiveMessage(RemoteObjectAdapter.java:140)
at org.objectweb.proactive.core.remoteobject.SynchronousProxy.reify(SynchronousProxy.java:70)
at pa.stub.org.objectweb.proactive.core.body._StubUniversalBody.receiveReply(_StubUniversalBody.java)
at org.objectweb.proactive.core.body.UniversalBodyRemoteObjectAdapter.receiveReply(UniversalBodyRemoteObjectAdapter.java:125)
at org.objectweb.proactive.core.body.reply.ReplyImpl.send(ReplyImpl.java:93)
at org.objectweb.proactive.core.body.BodyImpl$ActiveLocalBodyStrategy.serveInternal(BodyImpl.java:638)
at org.objectweb.proactive.core.body.BodyImpl$ActiveLocalBodyStrategy.serve(BodyImpl.java:486)
at org.objectweb.proactive.core.body.AbstractBody.serve(AbstractBody.java:417)
at org.objectweb.proactive.core.body.request.RequestReceiverImpl.receiveRequest(RequestReceiverImpl.java:161)
at org.objectweb.proactive.core.body.BodyImpl.internalReceiveRequest(BodyImpl.java:210)
at org.objectweb.proactive.core.body.AbstractBody.receiveRequest(AbstractBody.java:221)
at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.objectweb.proactive.core.mop.MethodCall.execute(MethodCall.java:243)
at org.objectweb.proactive.core.remoteobject.RemoteObjectImpl.receiveMessage(RemoteObjectImpl.java:87)
at org.objectweb.proactive.core.remoteobject.InternalRemoteRemoteObjectImpl.receiveMessage(InternalRemoteRemoteObjectImpl.java:132)
at org.objectweb.proactive.extensions.pnp.PNPROMessageRequest.processMessage(PNPROMessageRequest.java:93)
at org.objectweb.proactive.extensions.pnp.PNPServerHandler$RequestExecutor.run(PNPServerHandler.java:296)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
at org.ow2.proactive.scheduler.common.Scheduler.getJobState(pnp://163.172.21.80:1199/ActiveObject_org.ow2.proactive.scheduler.core.SchedulerFrontend_-77777eea-15da3a6ec69--7ff1--ec28edc0b9dbcc9e--77777eea-15da3a6ec69--8000)
at (...)(Unknown Source)
at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.reifyAsSynchronous(AbstractBodyProxy.java:338)
at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.invokeOnBody(AbstractBodyProxy.java:159)
at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.reify(AbstractBodyProxy.java:113)
at pa.stub.org.ow2.proactive.scheduler.common._StubScheduler.getJobState(_StubScheduler.java)
at org.ow2.proactive.scheduler.common.util.SchedulerProxyUserInterface.getJobState(SchedulerProxyUserInterface.java:464)
at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.objectweb.proactive.core.mop.MethodCall.execute(MethodCall.java:243)
at org.objectweb.proactive.core.body.request.RequestImpl.serveInternal(RequestImpl.java:207)
at org.objectweb.proactive.core.body.request.RequestImpl.serve(RequestImpl.java:153)
at org.objectweb.proactive.core.body.BodyImpl$ActiveLocalBodyStrategy.serveInternal(BodyImpl.java:561)
at org.objectweb.proactive.core.body.BodyImpl$ActiveLocalBodyStrategy.serve(BodyImpl.java:486)
at org.objectweb.proactive.core.body.AbstractBody.serve(AbstractBody.java:417)
at org.objectweb.proactive.Service.serve(Service.java:119)
at org.objectweb.proactive.Service.blockingServeOldest(Service.java:203)
at org.objectweb.proactive.Service.blockingServeOldest(Service.java:178)
at org.objectweb.proactive.Service.fifoServing(Service.java:141)
at org.objectweb.proactive.core.body.ActiveBody$FIFORunActive.runActivity(ActiveBody.java:329)
at org.objectweb.proactive.core.body.ActiveBody.run(ActiveBody.java:167)
at java.lang.Thread.run(Thread.java:748)
at org.ow2.proactive.scheduler.common.util.SchedulerProxyUserInterface.getJobState(pnp://163.172.21.80:52347/ActiveObject_org.ow2.proactive.scheduler.common.util.SchedulerProxyUserInterface_5e86936f-15da3940024--7f0a--db0352630d1c470e-5e86936f-15da3940024--8000)
at (...)(Unknown Source)
at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.reifyAsSynchronous(AbstractBodyProxy.java:338)
at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.invokeOnBody(AbstractBodyProxy.java:159)
at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.reify(AbstractBodyProxy.java:113)
at pa.stub.org.ow2.proactive.scheduler.common.util._StubSchedulerProxyUserInterface.getJobState(_StubSchedulerProxyUserInterface.java)
at functionaltests.utils.SchedulerTHelper.waitForJobEvent(SchedulerTHelper.java:753)
at functionaltests.utils.SchedulerTHelper.waitForEventJobFinished(SchedulerTHelper.java:717)
at functionaltests.utils.SchedulerTHelper.waitForEventJobFinished(SchedulerTHelper.java:712)
at functionaltests.job.scheduling.TestJobSchedulingStarvationAndPriority.testJobPriority(TestJobSchedulingStarvationAndPriority.java:165)
at functionaltests.job.scheduling.TestJobSchedulingStarvationAndPriority.testJobPriorityStandard(TestJobSchedulingStarvationAndPriority.java:125)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.lang.Thread.run(Thread.java:748)