RFR: JDK-8068721 - RMI-IIOP communication fails when ConcurrentHashMap is passed to remote method

Mark Sheppard mark.sheppard at oracle.com
Tue Mar 24 11:11:44 UTC 2015


Hi Alan,
    thanks for the feedback.

WRT test location, I followed what is already in place i.e. 
javax/rmi/ssl had an existing test
so as RMI-IIOP falls under javax/rmi/PortableRemoteObject, placing the 
test in this grouping seemed reasonable.
It's no bother to place it elsewhere if you wish.

WRT 1050,  this is a conundrum, and there doesn't seem to be a reliable 
way of obtaining a port to absolutely avoid a clash.
This is the orbd's standard port.
There doesn't seem to be a reliable way of obtaining a port to 
absolutely avoid a clash.
The test relies on the observation that ephemeral ports on most 
contemporary platforms are being allocated
outside the well known and application allocated port ( > 32K ).
It could use 1060 instead.
It possible that multiple concurrent  orbd may be running,  but I've run 
the regression suite many times for this issue, and
multiple orbd execution hasn't shown up, yet.

Maybe a category of tests which specify such tests are not to be run in 
parallel with other tests would be helpful?

WRT stubs and ties, I was trying to avoid use of a shell script. A once 
off generation of stub and tie was
a handy way to avoid this. I don't think jtreg has an @rmic or @idl 
similar to @build or @compile?

regards
Mark



On 24/03/2015 07:34, Alan Bateman wrote:
> On 23/03/2015 21:25, Mark Sheppard wrote:
>> Hi
>>  please oblige and review the following fix
>>
>> http://cr.openjdk.java.net/~msheppar/8068721/jdk9/corba/webrev/
>> http://cr.openjdk.java.net/~msheppar/8068721/jdk9/jdk/webrev/
>>
>>
>> which addresses the issue in
>> https://bugs.openjdk.java.net/browse/JDK-8068721
>>
>> This relates to RMI-IIOP and the interplay between custom marshalling 
>> of ValueTypes and
>> the corresponding serialization of a Java class, in this case 
>> ConcurrentHashMap.
> Looks like this needs a deep dive into the RMI-IIOP spec to properly 
> review this. I see Sean Coffey has been looking at it too so hopefully 
> he has cycles to help on this.
>
> A few passing comments on the tests:
>
> Should the tie and stub be generated by the test rather than checking 
> in the generated code?
>
> The test launches ordb and and an RMI-IIOP server, I wonder if the 
> test library infrastructure could be used to do this instead (as we 
> have so many issues with multi-VM tests). Also it's using a fixed port 
> which might be a problem when running concurrently with other tests 
> (esp. any test using a naming service as it will be using 1050 too).
>
> The patch adds RMI-IIOP tests to the jdk_rmi test group. I think to 
> date that we've put CORBA and RMI-IIOP tests in jdk_other. I realize 
> this has implications for where the tests are placed.
>
> -Alan.




More information about the core-libs-dev mailing list