ConcurrentModificationException Accessing WorkItem List Returned By WaitForAny On WorkManager (Doc ID 1938771.1)

Last updated on OCTOBER 29, 2014

Applies to:

Oracle WebLogic Server - Version 10.3.6 and later
Information in this document applies to any platform.

Symptoms

ConcurrentModificationException thrown when accessing the completed WorkItem list returned by waitForAny on WorkManager in WebLogic 10.3.6.

The issue reproduces with a simple session bean, a remote interface, and a standalone client. Executing the client invokes the test EJB on the server. This is deployed to a vanilla development domain with a test WorkManger which has a test MaxThreadConstraint of 10. The test EJB schedules some work on a work manager and then calls wait for any. It then loops until no more work is available. When accessing the completed WorkItem list, a ConcurrentModificationException is thrown.

It appears that additional WorkItems are added to the list as they complete. As a workaround if you copy the list before accessing it this prevents the ConcurrentModificationException (assumes time to copy is less than next update).

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms