-
Bug
-
Resolution: Duplicate
-
P3
-
None
-
1.4.0
-
sparc
-
solaris_2.6
Name: aaR10142 Date: 03/20/2002
POA.destroy(false, true) method throws unexpected ConcurrentModificationException
See example:
------------- ORBTest.java ---------------------
import org.omg.CORBA.*;
import org.omg.PortableServer.*;
public class ORBTest {
public static void main(String argv[]) {
try {
ORB orb = ORB.init(argv, null);
POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
String names [] = {"Test", "Test1", "Test2",
"Test with whitespaces"
};
POA testPOA = rootPOA.create_POA(names [0], null, new Policy[0]);
POA children[] = {
testPOA.create_POA(names [0], null, new Policy[0]),
testPOA.create_POA(names [1], null, new Policy[0]),
testPOA.create_POA(names [2], null, new Policy[0]),
testPOA.create_POA(names [3], null, new Policy[0])};
POA testPOA2 = children[1].create_POA("child of child", null, new Policy[0]);
testPOA.destroy (false, true);
System.out.println("Okay");
} catch(Exception e) {
System.out.println("ERROR : " + e);
e.printStackTrace(System.out);
}
}
}
------------------- start --------------------
#>javac -classpath . -d . ORBTest.java
#>java -classpath . ORBTest
----------------- 1.4 output -----------------
ERROR : java.util.ConcurrentModificationException
java.util.ConcurrentModificationException
at java.util.Hashtable$Enumerator.next(Hashtable.java:972)
at com.sun.corba.se.internal.POA.POAImpl$1$DestroyThread.performDestroy(POAImpl.java:630)
at com.sun.corba.se.internal.POA.POAImpl.destroyInternal(POAImpl.java:647)
at com.sun.corba.se.internal.POA.POAImpl.destroy(POAImpl.java:589)
at ORBTest.main(ORBTest.java:26)
---------------------------------------------------------
======================================================================
- duplicates
-
JDK-4619309 POA.destroy() throwing java.util.ConcurrentModificationException.
-
- Closed
-