[jacorb-developer] Minor codes 23 and 26 in BAD_PARAM exception in get_reply_service_context problem

Amadeu Andrade Barbosa Junior amadeu at tecgraf.puc-rio.br
Fri Aug 2 21:19:50 CEST 2013


Hi list, 

This is my first email here, so a short introduction: recently I subscribed to jacorb-developer and filed a bug in your bugzilla. I met JacORB in 2007 and since that I work with it in Distributed Systems projects at Tecgraf/PUC-Rio in Brazil. Our team work with CORBA and JacORB for a long time. The project http://www.tecgraf.puc-rio.br/openbus relies in CORBA and uses JacORB to distribute our library to Java developers. We would like to thank you for this great software that JacORB is. ;-)

I found a problem about the minor code of BAD_PARAM exception in the get_reply_service_context of org.jacorb.portableInterceptor.RequestInfoImpl that I don't know if you already have minded it.

In OMG CORBA 2.6.1 (formal-02-05-15, page 779 or 21-25 document page) exists the following statement:

21.3.12.14 get_reply_service_context
This operation returns a copy of the service context with the given ID that is associated with the reply.
If the request’s service context does not contain an entry for that ID, BAD_PARAM with a standard minor code of 23 is raised.
Parameters
id The IOP::ServiceId of the service context that is to be returned.
Return Value The IOP::ServiceContext obtained with the given identifier.

However, in minor code table at page 207 (or 4-71 document page) specifies a different number to invalid context id as stated: 
BAD_PARAM - 23 - wchar transmission code set not in service context.
BAD_PARAM - 26 - Invalid service context Id in portable interceptor

Since OMG CORBA 3.0 (formal-02-06-33 page 813 or 21-25 document page) exists the following statement (it changes the minor code to 26 !!):

21.3.12.13 get_request_service_context
This operation returns a copy of the service context with the given ID that is associated with the request.
If the request’s service context does not contain an entry for that ID, BAD_PARAM with a standard minor code of 26 is raised.
Parameters
id The IOP::ServiceId of the service context that is to be returned.
Return Value The IOP::ServiceContext obtained with the given identifier.

In minor code table at page 1119 (or A-9) and 1120 (or A-10) there's the same that in CORBA 2.6.1 minor code table:
BAD_PARAM - 23 - wchar transmission code set not in service context.
BAD_PARAM - 26 - Invalid service context Id in portable interceptor.

In OMG CORBA 3.1 (formal-08-01-04 page 380) the text is equals to CORBA 3.0 spec at subsection number 16.4.12.13. The minor code table is at page 504 and nothing has changed.

So, my question to you is: how do you expect to handle this situation? 
Until now, the implementation of get_reply_service_context in JacORB (even the master branch at github) is using minor code 23. 
Should we consider this problem as a bug in JacORB 2.3.0, 3.1 and 3.2 version or not? 

In my opinion it was an error in CORBA 2.6 get_reply_service_context specification because it was modified in CORBA 3.0 spec and more recent versions of those documents. 
So, I vote to consider this problem as a bug and to change the implementation to JacORB to minor code 26. What do you think about?

Thank you again and best regards,
Amadeu A. Barbosa Jr



More information about the jacorb-developer mailing list