Details
-
Bug
-
Resolution: Fixed
-
Medium
-
3.12.3
-
3.12
-
Description
The OSWorkflow manager uses a HashSet for caching. The trouble is that the hashset is not cloned when it is returned, so if it is updated, the code that is iterating over the cache can get a ConcurrentModificationException.
2008-04-29 10:57:40,966 resin-tcp-connection-j2ee.jira.atlassian.com:8080-57 ERROR [webwork.util.ServletValueStack] METHOD: "searcherEditHtml", exception: java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) at java.util.HashMap$KeyIterator.next(HashMap.java:827) at com.atlassian.jira.workflow.OSWorkflowManager.getSchemeActiveWorkflows(OSWorkflowManager.java:143) at com.atlassian.jira.workflow.OSWorkflowManager.getActiveWorkflows(OSWorkflowManager.java:121) at com.atlassian.jira.issue.search.searchers.impl.StatusSearcher.getSelectListOptions(StatusSearcher.java:45) at com.atlassian.jira.issue.search.searchers.impl.GenericConstantsSearcher.getEditHtml(GenericConstantsSearcher.java:80) at com.atlassian.jira.web.action.issue.IssueNavigator.getSearcherEditHtml(IssueNavigator.java:544)