United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6948223 Corba issue, fail to reload object
JDK-6948223 : Corba issue, fail to reload object

Details
Type:
Bug
Submit Date:
2010-04-28
Status:
Closed
Updated Date:
2011-02-16
Project Name:
JDK
Resolved Date:
2010-06-23
Component:
other-libs
OS:
solaris_10
Sub-Component:
corba:orb
CPU:
sparc
Priority:
P2
Resolution:
Fixed
Affected Versions:
6u18
Fixed Versions:
6u20-rev (b07)

Related Reports
Backport:
Backport:
Backport:

Sub Tasks

Description
Test case is on the new cores server cores2-da-sparc-2-a/cores/72760424. Description on how to run test case is in OriginalEmail.txt in the same directory as the test case and here:

Attached are three jar files(in cores2-da-sparc-2-a/cores/72760424).
1. suntest.jar contains all the necessary classes for this test case.
2. suntestsrc.jar contains all the necessary source files for this test case.
3. suntestout.jar contains all the output generated by the different executables that were run as part of this test case.

Test Procedure. Make sure that the provided suntest.jar is in your classpath.
1. Run the TempObjectServer using the following command or something equivalent.M:\class>java com.brooks.suntest.TempObjectServerImpl TOS

2. Run the TempObjectClient using the following command or something equivalent.M:\class>java com.brooks.suntest.TempObjectClient TOS TO

3. Read and follow the instructions on the TempObjectClient and observe the output for the server and the client.

The same output has been redirected and captured in TempObjectServer.out and TempObjectClient.out files in the attached suntestout.jar.

1. The first time, the TempObjectClient/TempObjectServer combination succeed to
load/activate, access and unload/deactivate the TempObject (TO).

2. The second time also, the TempObjectClient/TempObjectServer combination succeed to load/activate, access and unload/deactivate the TempObject (TO) demonstrating the significance of the step #4 listed above. However this time, the TempObjectClients tries to interact with the unloaded object and as expected fails.

3. The third time, the TempObjectClient/TempObjectServer combination FAIL to load/activate, access and unload/deactivate the TempObject (TO) and the exceptions
are there to be analyzed.

This test scenario works correctly with Java 1.4.2, but fails with Java 1.5 and
Java 1.6.

Refer to comments for details.

                                    

Comments
EVALUATION

We need to modify the state machine in AOMEntry to handle this case.
Basically we are incorrectly throwing ObjectAlreadyActive because there is
an entry assigned to the key, but the state of the entry is INVALID, and that should not cause an error. This basically means adding a new action in AOMEntry that throws the correct exception, making that the default action
on the ACTIVATE input symbol, and removing the current containsKey check in
POAPolicyMediatorBase_R.activateObject. Then the entry.activateObject call
will also handle the ObjectAlreadyActive check.
                                     
2010-06-10
EVALUATION

http://hg.openjdk.java.net/jdk7/tl/corba/rev/ecf821480d09
                                     
2010-11-08
EVALUATION

http://hg.openjdk.java.net/jdk7/build/corba/rev/34af2070439b
                                     
2010-12-25



Hardware and Software, Engineered to Work Together