[
https://jira.jboss.org/jira/browse/JBPM-2630?page=com.atlassian.jira.plug...
]
Martin Vecera reopened JBPM-2630:
---------------------------------
popJbpmConfiguration() has been copied from context pop including comments that are
invalid for configurations:
====
log.warn(this + " was not found in thread-local stack;" + "do not access
JbpmContext instances from multiple threads");
====
log.warn(this + " was not closed in reverse creation order;" + " check your
try-finally clauses around JbpmContext blocks");
====
JbpmConfiguration.popJbpmConfiguration() doesn't implement a pop
operation
--------------------------------------------------------------------------
Key: JBPM-2630
URL:
https://jira.jboss.org/jira/browse/JBPM-2630
Project: jBPM
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 3.2.7, jBPM 3.2.8
Reporter: Toshiya Kobayashi
Assignee: Alejandro Guizar
Fix For: jBPM 3.2.9
Attachments: mylyn-context.zip
Original Estimate: 0 minutes
Remaining Estimate: 0 minutes
org.jbpm.JbpmConfiguration.java:
=====
synchronized void popJbpmConfiguration() {
getJbpmConfigurationStack().remove(this);
}
=====
List.remove() can break ordering in the jbpmConfigurationStack, then eventually
getCurrentJbpmConfiguration() will return an wrong jbpmConfiguration instance.
(List.remove(java.lang.Object) behaves like FIFO if there are multiple elements which
refer the same object)
On the other hand, popJbpmContext() pops properly.
=====
void popJbpmContext(JbpmContext jbpmContext) {
List stack = getJbpmContextStack();
int size = stack.size();
if (size == 0) {
...
}
else if (jbpmContext != stack.remove(size - 1)) {
...
}
}
=====
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira