Issue 579: ServantActivator::etherealize (Errata for orbos/97-05-15)
Issue 580: Errata for orbos/97-05-15 page 18-2, 18.1.1, editorial
Issue 581: Errata for orbos/97-05-15 page 18-14, 18.5.1
Issue 583: InconsistentTypeCode not specified
Issue 584: Bug in example 4.4.1
Issue 612: use_servant_manager and default_servant
Issue 613: Default_servant and NON_UNIQUE_ID
Issue 614: Threading and shutdown interfaces
Issue 619: Section 2.4 defines typedef void status- no legal IDL
Issue 628: POA::activate_object_with_id() and POA::create_reference_with_id()
Issue 629: Object::get_implementation()
Issue 638: Section 3.3.1: _this() and IMPLICIT_ACTIVATION need clarification
Issue 639: Sections 18.1.1 and/or18.1.2: implicit activation
Issue 642: Add operation to POAManager to query state
Issue 643: return of invalid Servant as result of incarnate() or preinvoke()
Issue 644: Hierarchy example in 14.24.5 incorrect
Issue 645: PortableServer::POA::AdapterInactive exception is never used in IDL
Issue 654: Chapter 4.3, 4.3.3.7, Comments on DynAny
Issue 655: Chapter 4.3.3 (editorial)
Issue 656: Chapter 4.3.3.2, Comments on Dynamic Any
Issue 657: Chapter 4.3.3.8, Comments on DynAny
Issue 658: Chapter 4.3.6, Comments on DynAny (current_member_type)
Issue 659: Chapter 4.3.7
Issue 660: Chapter 4.3.8, length attribute
Issue 662: PolicyType constants not assigned
Issue 664: section 3.3.6: clarification of SINGLE_THREAD_MODEL policy
Issue 667: POAs and threads
Issue 668: Definition of Lifespan policy of TRANSIENT should be extended
Issue 669: Clarification on TRANSIENT
Issue 670: Section 3.2.2: clarification needed
Issue 671: Behavior of ServantManager should be clarified
Issue 672: Behavior of preinvoke and postinvoke
Issue 676: use of root POA to implement root POA and POAMAnager impossible
Issue 677: What happens if programmer invokes destroy() operation?
Issue 715: Change interface of AdaptorActivator::unknown_adapter() method
Issue 728: no PolicyTypes for POA policies
Issue 729: POA C++ example in orbos/97-05-15
Issue 736: ORB::run
Issue 737: Defining a new standard CORBA exception named OBJECT_DISABLED
Issue 742: Defining Cookie as sequence<octet> instead of native
Issue 743: ServantActivator interface
Issue 744: get_servant_manager and set_servant_manager
Issue 745: DynAny : invoke operation next()
Issue 746: DynAny section 4.3.3.7
Issue 747: Inconsistent usage of next() for DynUnions
Issue 748: Value of length attribute in DynAny
Issue 774: Question about ObjectId
Issue 921: Description of ServantActivator::etherialize()
Issue 934: POA::create_reference_*() Issue
Issue 962: need list_POAs call
Issue 963: Can"t determine a POA creation policies
Issue 993: ORB/POA and ServanrtManager issue
Issue 994: ServantManager and ForwardRequest issue
Issue 997: Can ServantManagwers be incarnated by other Servant Managers?
Issue 1089: Inconsistent TypeCode exception never defined
Issue 1117: DynAny issues (02), CORBA 2.2 chapter 7
Issue 1119: DynAny issue (04), CORBA 2.2, chapter 7
Issue 1120: DynAny issue (05), CORBA 2.2, chapter 7
Issue 1122: DynAny issue (07), CORBA 2.2 chapter 7
Issue 1127: POA TRANSIENT Policy needs clarification
Issue 1144: What does DynAny::current_component() do if invoked on a primit
Issue 1147: DynAny issue
Issue 1150: POACurrent should be augmented for efficiency and symmetry
Issue 1157: DynUnion::member_name() issue
Issue 1158: DynUnion::set_as_default question
Issue 1159: DynUnion interface unsafe as specified
Issue 1162: Problems with ORB shutdown
Issue 1514: typos in DynamicImplementation example
Issue 1639: DynAny and bounded strings/wstrings
Issue 1644: destroy() forDyn Any?
Issue 1648: DynAny::next semantics
Issue 1649: DynAny::seek semantics
Issue 1652: DynFixed IDL
Issue 1675: DynAny: attributes vs operations
Issue 579: ServantActivator::etherealize (Errata for orbos/97-05-15) (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Errata for orbos/97-05-15: page 3-34, 3.3.8.16 two refs to "ServantLocator::etherealize" should be "ServantActivator::etherealize"
Resolution: fixed, close issue
Revised Text:
Actions taken:
May 27, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 580: Errata for orbos/97-05-15 page 18-2, 18.1.1, editorial (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Append to the next to last sentence:"on a default ORB".
Resolution: Fixed in CORBA 2.2 editing process
Revised Text:
Actions taken:
May 27, 1997: received issue
January 2, 1998: closed issue
Discussion:
Issue 581: Errata for orbos/97-05-15 page 18-14, 18.5.1 (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: The C++ code for PortableServer::ServantLocator::Cookie defines Cookie directly in the PortableServer namespace. It should be inside the class ServantLocator
Resolution: Fixed in CORBA 2.2 editing process
Revised Text:
Actions taken:
May 27, 1997: received issue
January 2, 1998: closed issue
Discussion:
Issue 583: InconsistentTypeCode not specified (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Exception "InconsistentTypeCode" raised by the ORBs DynAny creation functions is not specified. Is it declared within the ORB? Is it derived from UserException?
Resolution: Fixed in 2.3
Revised Text:
Actions taken:
June 13, 1997: received issue
June 22, 1998: moved from orb_revision to port-rtf
August 12, 1999: closed issue
Discussion: closed issue
Issue 584: Bug in example 4.4.1 (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: There is a bug in example 4.4.1 <example> "mems->length(2)" must be added
Resolution: close no change in 2.4
Revised Text:
Actions taken:
June 13, 1997: received issue
June 23, 1998: moved from orb_revision to port-rtf
August 12, 1999: closed issue
Discussion:
Issue 612: use_servant_manager and default_servant (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: What if both use_servant_manager and default_servant set?
Resolution: clarified, close issue
Revised Text:
Actions taken:
June 20, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 613: Default_servant and NON_UNIQUE_ID (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: What if Default_servant and NON_UNIQUE_ID?
Resolution: clarified, close issue
Revised Text:
Actions taken:
June 20, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 614: Threading and shutdown interfaces (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: The ORB interface for shutdown is incomplete and underspecified. work_pending and perform_work as specified are inadequate. See suggested changes in communicating archive file.
Resolution: issue closed, no action
Revised Text:
Actions taken:
June 20, 1997: received issue
July 30, 1998: closed issue
Discussion:
Issue 619: Section 2.4 defines typedef void status- no legal IDL (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: This is not legat IDL, since void can only be used as the return type of an operation declaration, per the grammar
Resolution: clarified/fixed
Revised Text:
Actions taken:
July 11, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 628: POA::activate_object_with_id() and POA::create_reference_with_id() (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: The paragraphs describing when calls for these operations are NOT valid are confusing. Clarify the text to make this more obvious
Resolution: Fixed in Rev 2.3
Revised Text:
Actions taken:
July 16, 1997: received issue
February 22, 1999: closed issue
Discussion:
Issue 629: Object::get_implementation() (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Object::get-implementation() operation was supposed to be deprecated, but the orbos/97-0501[56] Portability submission doesn"t. It should be since ImplementationDe is still undefined
Resolution: fixed, close issue
Revised Text:
Actions taken:
July 10, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 638: Section 3.3.1: _this() and IMPLICIT_ACTIVATION need clarification (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: second bullet: "..a language mapping may provide a default implementation of this interface...". For C++ it appears that Servant::_default_POA() operation is intended to provide feature t
Resolution: clarified/fixed
Revised Text:
Actions taken:
July 30, 1997: received issue
July 30, 1997: moved to issue #637
July 30, 1997: closed issue
Discussion: closed issue
Issue 639: Sections 18.1.1 and/or18.1.2: implicit activation (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: These sections should explicitly state that Servant::_default_POA() is used by the ORB to accomplish implicit activation
Resolution: clarified/fixed, move to issue 637
Revised Text:
Actions taken:
July 30, 1997: received issue
July 30, 1997: moved to issue #637
July 30, 1997: closed issue
Discussion: closed issue
Issue 642: Add operation to POAManager to query state (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: There is no operation to query state of POAManager. Add: enum State { HOLDING, ACTIVE, DISCARDING, INACTIVE }; State get_state() to interface
Resolution: Accepted for Portability 2.3 RTF.
Revised Text: Revision: Page 9-19, Section 9.3.2 "POAManager Interface". Add
Actions taken:
August 1, 1997: received issue
July 30, 1998: closed issue
Discussion:
Issue 643: return of invalid Servant as result of incarnate() or preinvoke() (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Spec does not address case when ServantManager returns an invalid Servant to POA as result of an incarnate() or preinvoke() operation. Spec should be clarified
Resolution: Accepted for Portability 2.3 RTF
Revised Text: Revision: Page 9-34, 9.3.4 ServantManager Interface. Add a
Actions taken:
August 4, 1997: received issue
July 30, 1998: closed issue
Discussion:
Issue 644: Hierarchy example in 14.24.5 incorrect (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: The IDL for interface G does not inherit from interface D, but the generated POA_G__vepv structure contains a POA_D__epv *.
Resolution: Fixed in CORBA 2.2 Editing process
Revised Text:
Actions taken:
August 4, 1997: received issue
February 26, 1998: closed issue
Discussion:
Issue 645: PortableServer::POA::AdapterInactive exception is never used in IDL (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: The exception PortableServer::POA::Adapterinactive is never used in the IDL in section 3.4.2. It looks like it was left over when POAManager interface was added. Should be removed
Resolution: fixed, close issue
Revised Text:
Actions taken:
August 1, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 654: Chapter 4.3, 4.3.3.7, Comments on DynAny (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: At time of creation a DynAny contains typecode but no value. Whay exception is raised by various get operations?Put something in the raises clause of the get operations
Resolution: changes incorporated close issue in 2.4
Revised Text: : See ptc/99-03-02
Actions taken:
August 7, 1997: received issue
August 12, 1999: closed issue
Discussion:
Issue 655: Chapter 4.3.3 (editorial) (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Several of the bullet items at the beginning of this section are repeated.
Resolution: fixed
Revised Text:
Actions taken:
August 7, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 656: Chapter 4.3.3.2, Comments on Dynamic Any (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Aliases are not dealt with at all in this chapter and some form of TypeCode equivalence is implied ut never defined. How about bound and a unbound string. Typecode equivalence needs to be defin
Resolution: Fixed in Rev 2.3 with the TypeCode equivalence fixes.
Revised Text:
Actions taken:
August 7, 1997: received issue
February 22, 1999: closed issue
Discussion:
Issue 657: Chapter 4.3.3.8, Comments on DynAny (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: There are repeated references in the chapter to narrowing a DynAny to the desired type, but there is no standard narrowing mechanism defined in CORBA IDL. Editorials in para 5 and 8 also
Resolution: fixed, close issue
Revised Text:
Actions taken:
August 7, 1997: receivved issue
June 25, 1998: closed issue
Discussion:
Issue 658: Chapter 4.3.6, Comments on DynAny (current_member_type) (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: current_member_type operation "may return an empty string since the TypeCode of the struct being manipulated may not contain the names of members in the struct." When can this occur?
Resolution: fixed, close issue
Revised Text:
Actions taken:
August 7, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 659: Chapter 4.3.7 (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Why are there explicit operations for setting value in a struct, enum seq, etc., but not for setting the discriminator and/or member value of a union?
Resolution: fixed/clarified, close issue
Revised Text:
Actions taken:
August 7, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 660: Chapter 4.3.8, length attribute (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: THe length attribute contains the number of elements in (or to be contained in) the sequence. Which is it, in or to be in? What does this mean??
Resolution: changes incorporated close issue in 2.4
Revised Text: See ptc/99-03-02
Actions taken:
August 7, 1997: received issue
August 12, 1999: closed issue
Discussion:
Issue 662: PolicyType constants not assigned (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: None of the policy objects defined in PortableServer IDL module have PolicyType constants assigned. These are needed to implement the policy objects correctly
Resolution: close issue
Revised Text:
Actions taken:
August 9, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 664: section 3.3.6: clarification of SINGLE_THREAD_MODEL policy (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Statement in section 3.3.6 that "no serialization of preinvoke or postinvoke may be assumed".Spec should be clarified to state that the SINGLE_THREAD_MODEL policy.
Resolution: clos eissue, clarified
Revised Text:
Actions taken:
August 9, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 667: POAs and threads (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: The multithreading support ooffered by POAs is fairly inadequate for real-world, portable, multithreaded applications.(examples available in corresponding archive file)
Resolution: Close with no change.
Revised Text: Close with no change.
Actions taken:
August 11, 1997: received issue
August 12, 1999: closed issue
Discussion: While it would be nice in some cases to have additional functionality,
it is certainly possible to implement and use an ORB without any
clarification. This suggestion is more properly the subject for an RFP.
The Real-Time CORBA has a suitable scope for this, and the current joint
submission to it covers this functionality.
Issue 668: Definition of Lifespan policy of TRANSIENT should be extended (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Definition of Lifespan policy of TRANSIENT should be extended toinclude temporary network outages that don"t affect server processes
Resolution: closed with no change
Revised Text: Close without change. Network connections between client and server
Actions taken:
August 11, 1997: received issue
August 12, 1999: closed issue
Discussion: are permitted to come and go, even for transient objects.
What seems to be suggested here is that in some cases it may be
impossible to re-establish a connection that has been broken, and that
this situation should have some affect on the meaning of TRANSIENT. It
isn't obvious how this change in wording would affect orb
implementations or users. If the user cannot re-establish contact with
the server then it is going to get an error in any case. On the server
side, no requests will be received for the objects whose references
had now unreachable addresses. If new references are created using a
different address, why should they not be valid?
Issue 669: Clarification on TRANSIENT (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: IIOP implementors can"t depend only on host and port to reject transient object references (section 3.3.7.2)
Resolution: clos eissue
Revised Text:
Actions taken:
August 11, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 670: Section 3.2.2: clarification needed (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Section 3.2.2 should state that an Object Id can appear in the Active Object Map only once
Resolution: fixed, close issue
Revised Text:
Actions taken:
August 11, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 671: Behavior of ServantManager should be clarified (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Behavior of ServantManager should be clarified with respect to GIOP Locate requests.Just because incarnate or preinvoke are calledit"s not necessarily case that servant will be invoked
Resolution: Accepted for CORBA 2.3.
Revised Text: Revision: Section 9.3.6 "ServantLocator Interface", page 9-24.
Actions taken:
August 11, 1997: received issue
July 30, 1998: closed issue
Discussion:
Issue 672: Behavior of preinvoke and postinvoke (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Behavior of preinvoke and postinvoke are ambiguous about when the request is finished and the reply is delivered to the client
Resolution: closed, duplicate of 921
Revised Text:
Actions taken:
August 11, 1997: received issue
July 30, 1998: closed issue
Discussion:
Issue 676: use of root POA to implement root POA and POAMAnager impossible (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: It"s impossible to use root POA to implement the root POA and its POAManager, due to a deadlock because POAManager starts in the HOLDING state.
Resolution: closed with no action
Revised Text:
Actions taken:
August 15, 1997: received issue
February 25, 1999: closed issue
Discussion:
Issue 677: What happens if programmer invokes destroy() operation? (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: What happens if the programmer invokes the destroy() operation on the root POA? The spec should be changed to state that destroying the root POA is equivalent to calling ORB::shutdown()
Resolution: closed issue
Revised Text:
Actions taken:
August 15, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 715: Change interface of AdaptorActivator::unknown_adapter() method (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Change this interface to allow the implementor to raise the ForwardRequest exception, to indicate that the incoming request that cause method to be called can be appropriately forwarded
Resolution: clarified/fixed
Revised Text:
Actions taken:
September 4, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 728: no PolicyTypes for POA policies (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity: Minor
Summary: Summary: PolicyType values are allocated by the OMG. None of the Policy interfaces supplied by the POA spec have PolicyType values allocated for them yet
Resolution: closed issue, fixed
Revised Text:
Actions taken:
October 3, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 729: POA C++ example in orbos/97-05-15 (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity: Minor
Summary: Summary: orbos/97-05-15, section 3.6.2-creating a POA: The code in this section should first set the length of the sequence before using operator[]
Resolution: fixed, close issue
Revised Text:
Actions taken:
September 19, 1997: received issue
February 26, 1998: closed issue
Discussion:
Issue 736: ORB::run (port-rtf)
Click here for this issue's archive.
Nature: Revision
Severity: Minor
Summary: Summary: On page 2-11 of the portability submission it"s specified that operation ORB::run returns when the ORB has shut down. Does this mean that ORB::run returns when ORB::shutdown returns? The behaviour is not well specified
Resolution: Accepted for CORBA 2.3.
Revised Text: Revision: Section 4.9.3 "run", page 4-20. At the end of the
Actions taken:
October 3, 1997: received issue
July 30, 1998: closed issue
Discussion: :shutdown has been called and the shutdown has
Issue 737: Defining a new standard CORBA exception named OBJECT_DISABLED (port-rtf)
Click here for this issue's archive.
Nature: Enhancement
Severity: Significant
Summary: Summary: There are scenarios where it may be interesting to raise an exception indicating that a CORBA object exists but is not operable unless corrective action is taken It"s appropriate to distinguish between the 3 following exceptions: TRANSIENT, OBJECT_DISABLED, and OBJECT_NOT_EXIST
Resolution: close no change in 2.4
Revised Text:
Actions taken:
October 3, 1997: received issue
August 12, 1999: closed issue
Discussion: This issue has been sitting in the port-rtf list for quite a while. the Portability submitters did not see it fit to add this to the spec. It seems inappropriate
for the Core RTF to add this feature without an overwhelming push to do so, of which there has been scant evidence. Consequently, propose that this one be laid to
rest.
Issue 742: Defining Cookie as sequence<octet> instead of native (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity: Minor
Summary: Summary: It is not clear why the Cookie parameter in the preinvoke and postinvoke operations in the ServantLocator interfaces were defined as native. Defining it as native introduces more work in klanguage mappings
Resolution: closed with no action
Revised Text:
Actions taken:
October 3, 1997: received issue
July 30, 1998: closed issue
Discussion:
Issue 743: ServantActivator interface (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity: Minor
Summary: Summary: Some of the statements set in section 3.3.5 of POA chapter (ServantActivator interface) are not correct in order to describe behaviour of incarnate and etherialize operations
Resolution: resolved
Revised Text: After contacting Juan for clarification, I learned that
his concern is that there is no need to serialize calls to
incarnate or etherealize for different ObjectIds -
serialization should be done separately for each distinct ObjectId.
Revised Text:
Replace the last bulleted item of section 11.3.5 on pg 11-22
with the following:
. Incarnations of a particular object may not overlap;
that is, incarnate shall not be invoked with a particular
ObjectId while, within the same POA, that ObjectId is in use
as the ObjectId of an activated object or as the argument
of a call to incarnate or etherealize that has not completed.
Actions taken:
October 3, 1997: received issue
August 12, 1999: closed issue
Discussion:
Issue 744: get_servant_manager and set_servant_manager (port-rtf)
Click here for this issue's archive.
Nature: Revision
Severity: Minor
Summary: Summary: get_servant_manager and set_servant_manager operations should not require the USE_SERVANT_MANAGER policy to work . These paragraphs should be dropped
Resolution: closed with no action
Revised Text:
Actions taken:
October 3, 1997: received issue
July 30, 1998: closed issue
Discussion:
Issue 745: DynAny : invoke operation next() (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity: Minor
Summary: Summary: It may be convenient for programmers that operation next() be invoked in order to access the first component of a DynAny
Resolution: Closed with no action
Revised Text:
Actions taken:
October 3, 1997: received issue
July 30, 1998: closed issue
Discussion:
Issue 746: DynAny section 4.3.3.7 (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity: Minor
Summary: Summary: Clarify behaviour of operations for accessing components of a constructed DynAny when they are members of basic data types
Resolution: clarified, close issue
Revised Text:
Actions taken:
October 3, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 747: Inconsistent usage of next() for DynUnions (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity: Minor
Summary: Summary: If we decide to maintain that next() doesn"t need to be invoked in order to access the first component of a DynAny, then it is not necessary to invoke next() twice in order to get access to the value of the member in the DynUnion
Resolution: changes incorporated close issue in 2.4
Revised Text: see ptc/99-03-02
Actions taken:
October 3, 1997: received issue
August 12, 1999: closed issue
Discussion:
Issue 748: Value of length attribute in DynAny (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity: Minor
Summary: Summary: Value of the length attribute in the DynAny object associated to a sequence must be set prior to inserting values of the sequence
Resolution: closed issue
Revised Text:
Actions taken:
October 3, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 774: Question about ObjectId (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: The POA specs are particularly confusing on the definition of ObjectID (POA spec as of May 20): p 3-38, section 3.4.1 IDL in COR BA module concerning the POA, p 3-39, section 3.4.2 IDL for POA and Related Interfaces, p 14-43, Operations for obtaining initial object references (C mapping). We have two legal definitions of ObjectId: PortableServer::ObjectId, and CORBA::ORB::ObjectId, specified differently
Resolution: clarified, close issue
Revised Text:
Actions taken:
October 16, 1997: received issue
June 25, 1998: closed issue
Discussion:
Issue 921: Description of ServantActivator::etherialize() (port-rtf)
Click here for this issue's archive.
Nature: Revision
Severity:
Summary: Summary: The description of the ServantActivator::etherialize() and
ServantLocator()::postinvoke() operations do not describe what actions
the POA should take if either of these operations returns a system
exception.
Resolution: :postinvoke() operations do not describe what actions
Revised Text:
Actions taken:
January 27, 1998: received issue
July 30, 1998: closed issue
Discussion:
Issue 934: POA::create_reference_*() Issue (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: The descriptions of POA::create_reference() and
POA::create_reference_with_id() do not describe the intf argument.
Resolution: :create_reference_with_id() do not describe the intf argument.
Revised Text:
Actions taken:
February 2, 1998: received issue
June 25, 1998: closed issue
Discussion: received issue
Issue 962: need list_POAs call (port-rtf)
Click here for this issue's archive.
Nature: Revision
Severity: Minor
Summary: Summary: There is currently no way to determine all currently active
subPOAs of a given POA. We propse that a new method
be added to the POA to provide this functionality. This would
allow application developers to write portable tools which
browse currently active POAs.
We propose a new method:
sequence<string> list_POAs();
which will return a list of currently active sub-POAs under
the current POA.
Resolution: Incorporate changes in 2.4 and close issue.
Revised Text: A. Add the following new section between sections 11.3.8.7 "the_parent" and
11.3.8.8 "the_POAManager".
"the_children"
readonly attribute POAList the_children;
This attribute identifies the current set of all child POAs of
the POA. The set of child POAs includes only the POA's immediate
children, and not their descendants.
B. In section 11.4 "IDL for PortableServer module". Add the following
declaration after the forward declaration of the POA interface:
typedef sequence<POA> POAList;
Add the following attribute declaration in the definition of the POA interface
between the attributes the_parent and the_POAManager:
readonly attribute POAList the_children;
C. In section 11.5 "UML Description of PortableServer" update the UML
accordingly. i.e. in figure 11-4, in the PortableServer::POA box, insert the line:
the_children : PortableServer::POAList
between the line:
the_parent : PortableServer::POA
and the line:
the_manager : PortableServer::POAManager
(Hopefully that diagram is a frame manipulatable diagram and not a cut and paste job from somewhere else.:-()
Actions taken:
February 27, 1998: received issue
August 12, 1999: closed issue
Discussion: This seems to be a useful feature for management applications
which may wish to browse the set of currently active POAs in a portable
fashion. Propose that we add this feature as described below.
Issue 963: Can"t determine a POA creation policies (port-rtf)
Click here for this issue's archive.
Nature: Revision
Severity: Minor
Summary: Summary: There is currently no portable way to determine what
policies a POA was created with. We propose adding the following:
readonly attribute PolicyList the_policies;
Which returns the policies which the POA was created with.
Resolution:
Revised Text:
Actions taken:
February 27, 1998: received issue
Discussion:
Issue 993: ORB/POA and ServanrtManager issue (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity: Minor
Summary: Summary: What should the ORB/POA do if a ServantManager or an object operation
throws a ForwardRequest and supplies an object that does not support the
interface that the operation was defined in?
Resolution: closed
Revised Text:
Actions taken:
March 7, 1998: received issue
August 12, 1999: closed issue
Discussion: There is no obligation for the ORB/POA on the server side to do
anything special in this case. The ORB should do the obvious - send a
LOCATION_FORWARD reply to the caller.
If there is anything that should be done on the client side when the
reply is received, then it is a language binding issue. In the case of
collocation, the behavior should be the same on the grounds of
location transparency.
Have a copy of this issue assigned to each of the Language Binding RTFs,
and remove it from the Core list.
Revised Text:
Actions taken: Have a copy of tthis issue assigned to each of the
Language Binding RTFs, and remove it from the Core list.
Issue 994: ServantManager and ForwardRequest issue (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: When a ServantManager throws a ForwardRequest exception from a call to
incarnate() or preinvoke(), how does the ORB/POA know whether the
forward request was for the object in question or to forward to a
different ServantManager? It seems that there is an ambiguity here,
because the FowardRequest could mean two different things.
Resolution: Close no change in 2.4
Revised Text:
Actions taken:
March 7, 1998: received issue
June 4, 1999: closed issue
Discussion: This should be closed without change.
While at first look it seems ambiguous, when you look closely it is not.
When incarnate/preinvoke is called on the servant for a servant manager,
if ForwardRequest is thrown it applies to the reference that the call
was working on. But, if while doing that there is a recursive call to
incarnate/preinvoke the servant manager reference itself then a
ForwardRequest from the servant that handles that affects the servant
manager reference itself.
This is hard to explain, and subtle to implement, but not especially
expensive in either time or code. I have an existence proof so I know it
is feasible.
Issue 997: Can ServantManagwers be incarnated by other Servant Managers? (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: What would happen if someone coded up an implementation of a
ServantManager whose POA used a ServantManager? (I know this is weird,
but legal.)
Resolution: Close no change in 2.4
Revised Text: recommend closing this without change.
I just made the same recommendation for Issue 994 because the issue
isn't really there at all. Because there is no problem with that,
there is no problem to fix here.
As Steve pointed out, there is nothing illegal with using a
servant manager to incarnate another servant manager. I would strongly
resist making a special case restriction here.
Some of the ideas generated by this issue may form the basis for future RFP work.
Actions taken:
March 11, 1998: received issue
August 12, 1999: closed issue
Discussion:
Issue 1089: Inconsistent TypeCode exception never defined (port-rtf)
Click here for this issue's archive.
Nature: Revision
Severity:
Summary: Summary: In section 7.2.2 of the CORBA 2.2 spec, add the following IDL
declaration before the definion of the CORBA::ORB::create_*any()
operations:
exception InconsistentTypeCode {};
Resolution: :ORB::create_*any()
Revised Text:
Actions taken:
March 20, 1998: received issue
June 25, 1998: closed issue
Discussion: clarified, close issue
Issue 1117: DynAny issues (02), CORBA 2.2 chapter 7 (port-rtf)
Click here for this issue's archive.
Nature: Revision
Severity:
Summary: Summary: * The whole DynAny description should be reworded to avoid talking
about buffers, as I think this is more confusing than helpful.
Resolution: incorporated changes close issue in 2.4
Revised Text: see ptc/99-03-02
Actions taken:
March 31, 1998: received issue
June 19, 1998: moved from orb_revision to port-rtf
August 12, 1999: closed issue
Discussion:
Issue 1119: DynAny issue (04), CORBA 2.2, chapter 7 (port-rtf)
Click here for this issue's archive.
Nature: Revision
Severity:
Summary: Summary: * Page 7-10 and 7-11, section 7.2.5: the DynEnum interface uses
read/write attributes to allow get/set of enum values as strings or
as ulongs. What happens if a value is specified that is outside the
enumerator range of values? The use of attributes here disallows
throwing an InvalidValue exception.
Resolution: changed attributes to operations
Revised Text: see ptc/99-03-02
Actions taken:
March 31, 1998: received issue
June 19, 1998: moved from orb_revision to port-rtf
August 12, 1999: closed issue
Discussion: incorporated changes close issue in 2.4
Issue 1120: DynAny issue (05), CORBA 2.2, chapter 7 (port-rtf)
Click here for this issue's archive.
Nature: Revision
Severity:
Summary: Summary: * Page 7-13 and 7-14, section 7.2.7: the DynUnion interface supports
a set_as_default attribute that can be used to see if the
discriminator is set to a default value. This should be a readonly
attribute, since makeing it read/write means I can use it to say that
the discriminator has a default value when it really doesn"t.
Resolution: DynUnion revised to fix this problem
Revised Text: see ptc/99-03-02
Actions taken:
March 31, 1998: received issue
June 19, 1998: moved from orb_revision to port-rtf
August 19, 1999: closed issue
Discussion:
Issue 1122: DynAny issue (07), CORBA 2.2 chapter 7 (port-rtf)
Click here for this issue's archive.
Nature: Revision
Severity:
Summary: Summary: * Page 7-15, C++ example at the top of the page: "value1" should be
of type CORBA::Long, not long; "value2" should be of type
CORBA::Boolean, not boolean. The "mems" sequence does not have its
length set anywhere, so the first invocation of operator[] on it is
illegal; "mems.length(2);" should be invoked before that. The
DynAny::to_any() returns a CORBA::Any*, not a CORBA::Any, so the
"result" variable should be declared as a CORBA::Any_var.
Resolution: :Long, not long; "value2" should be of type
Revised Text: :Boolean, not boolean. The "mems" sequence does not have its
Actions taken:
March 31, 1998: received issue
June 19, 1998: moved from orb_revision to port-rtf
July 30, 1998: closed issue
Discussion: :Any_var.
Issue 1127: POA TRANSIENT Policy needs clarification (port-rtf)
Click here for this issue's archive.
Nature: Clarification
Severity:
Summary: Summary: The current POA spec needs some clarification on the TRANSIENT
lifespan policy. The current spec defines TRANSIENT as follows:
"The objects implemented in the POA cannot outlive the process in
which they are first created. Once the POA is deactivated, use of any
object references generated from it will result in an OBJECT_NOT_EXIST
exception."
Resolution:
Revised Text:
Actions taken:
March 31, 1998: received issue
July 30, 1998: closed issue
Discussion:
Issue 1144: What does DynAny::current_component() do if invoked on a primit (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: What does DynAny::current_component() do if invoked on a DynAny that
contains a primitive type?
I think that it should raise a CORBA::DynAny::TypeMismatch exception in
this case.
Resolution: incorporated changes close issue in 2.4
Revised Text:
Actions taken:
April 16, 1998: received issue
August 19, 1999: closed issue
Discussion: Specified semantics of create operations with respect to current position and
initial values
Revised Text: see ptc/99-03-02
Issue 1147: DynAny issue (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: What should a DynStruct(or other structured DynAny type) do if someone
calls a primitive inserter or getter past the end of the structure?
For example:
// IDL
struct Foo {
boolean b;
};
// C++
DynStruct_var ds = orb->create_dyn_struct(_tc_Foo);
ds->insert_boolean(0);
ds->insert_boolean(1); // what exception should happen here?
Resolution: incorporated change close issue in 2.4
Revised Text: see ptc/99-03-02
Actions taken:
April 16, 1998: received issue
August 19, 1999: closed issue
Discussion: Calling an insert or get operation on a DynAny that has components but has a current
position of -1 raises InvalidValue.
Issue 1150: POACurrent should be augmented for efficiency and symmetry (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: To write efficient DSI implementations, there needs to be a new
operation to POACurrent, as follows.
CORBA::RepositoryId get_interface() raises (NoContext);
Description: The get_interface operation returns the
RepositoryId of the interface on which the
request was made. If called outside the
context of a POA-dispatched operation,
a NoContext exception is raised.
Resolution: Close with no change in 2.4 with the above explanation
Revised Text:
Actions taken:
April 17, 1998: received issue
August 19, 1999: closed issue
Discussion: Close with no change.
Some time ago I sent out a complex strawhorse proposal on how to
accomplish some of what this issues requests. There has since
been extensive discussion on the general subject, often jointly
with people from CorbaSec.
Based on that discussion, I am now convinced that it is better
to expect the servant to provide this information. Doing otherwise
invites abuse by clients that might tamper with the object reference.
Issue 1157: DynUnion::member_name() issue (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: What should DynUnion::member_name() & DynUnion::member() return for a
union whose discriminator value does not match any of the union switch
arms?
Resolution: Revision of the DynUnion interface fixes this problem
Revised Text: see ptc/99-03-02
Actions taken:
April 20, 1998: received issue
August 19, 1999: closed issue
Discussion:
Issue 1158: DynUnion::set_as_default question (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: There is almost no information about the behavior of the
DynAny::set_as_default attribute. I assume that when getting the
attributes value, true is returned if the union has a default branch and
the current discriminator value of the union falls in the range of the
default branch. I also assume that setting the set_as_default attribute
to true causes the union discriminator value to be set to a value that
matches the default branch. But what should setting the set_as_default
attribute to false do?
Resolution: Revision of DynUnion interface fixes this problem
Revised Text:
Actions taken:
April 20, 1998: received issue
August 19, 1999: closed issue
Discussion:
Issue 1159: DynUnion interface unsafe as specified (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: The DynUnion interface is pretty unsafe as specified. There is no text
in the description of the interface that states whether the programmer
or the DynUnion implementation is responsible for assuring that the
discriminator value and the chosen member of the underlying union are
consistent. Given that the programmer can access the discriminator
value and the member value as separate DynAny objects, it is awkward for
the implementation to detect an inconsistent union value.
Resolution: Revision of DynUnion interface fixes this problem
Revised Text: see ptc/99-03-02
Actions taken:
April 20, 1998: received issue
August 19, 1999: closed issue
Discussion:
Issue 1162: Problems with ORB shutdown (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: There are some problems with ORB::shutdown as currently specified -
specifically with the wait_for_completion parameter.
There are two distinct contexts in which the call might be made:
- in the context of an operation invocation
- outside the context of an operation invocation.
Resolution: Close issue in 2.4 without change with annotation as above
Revised Text:
Actions taken:
April 20, 1998: received issue
August 19, 1999: closed issue
Discussion: This issue appears to be outside the scope of this RTF.
While it is a limitation, it is not a fatal one, and I see no
reasonable upward compatible way to make a change to support it.
This issue would be worth considering in a possible
RFP at some future time. It would be quite reasonable to make
this sort of change in the context of replacing servant managers
and adapter activators with something that uses a different
implementation technique.
Issue 1514: typos in DynamicImplementation example (port-rtf)
Click here for this issue's archive.
Nature: Revision
Severity:
Summary: Summary: On page 9-58 of CORBA 2.2 the example DatabaseEntryImpl class has two
problems:
1. It derives from POA_PortableServer::DynamicImplementation instead of
PortableServer::DynamicImplementation. Section 20.36.3 (page 20-100) of CORBA
2.2 clearly states that DynamicImplementation is in the PortableServer C++
namespace:
"In C++, DSI servants inherit from the standard DynamicImplementation class.
This class inherits from the ServantBase class and is also defined in the
PortableServer namespace."
The definition of the DynamicImplementation class on page 20-101 further shows
it to reside in the PortableServer namespace.
2. DatabaseEntryImpl has a member function named _defaultPOA instead of
_default_POA.
Resolution:
Revised Text:
Actions taken:
June 9, 1998: received issue
July 30, 1998: closed issue
Discussion:
Issue 1639: DynAny and bounded strings/wstrings (port-rtf)
Click here for this issue's archive.
Nature: Revision
Severity:
Summary: Summary: The DynAny chapter makes no mention of bounded strings. I assume that
create_basic_dyn_any() is to be used for bounded strings, but the
spec doesn"t say. Similarly, object references seem to belong here too,
but again, they are not mentioned.
Right now, the description of create_basic_dyn_any() talks about "basic
data types", but as far as I can see, does not define the meaning of that.
Resolution: incorporated change close issue in 2.4
Revised Text: Both bounded and unbounded strings are inserted using insert_string and
insert_wstring. These operations raise the InvalidValue exception if the string
inserted is longer than the bound of a bounded string.
Revised Text: see ptc/99-03-02
Actions taken:
July 8, 1998: received issue
August 19, 1999: closed issue
Discussion:
Issue 1644: destroy() forDyn Any? (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: I"m having a hard time understanding the motivation for adding a destroy()
operation to DynAny. Because DynAny is locality-constrained, it seems
redundant to have a destroy() operation. However, the resolution to
issue 1116 explicitly requires that I have to call destroy() before
I release the last reference to a DynAny to avoid memory leaks.
What I don"t understand is why we don"t just use the normal
duplicate/release semantics on references to achieve all this.
Resolution: Specified behavior for destruction of components
Revised Text: see ptc/99-03-02
Actions taken:
July 8, 1998: received issue
July 8, 1998: received issue
August 19, 1999: closed issue
Discussion:
Issue 1648: DynAny::next semantics (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: For the next() operation, the spec says:
The next operation logically advances the pointer and returns TRUE
if the resulting pointer points to a component, or FALSE if there
are no more components.
This does not make it clear what the current position is after next() does
indeed return FALSE. In other words, if I have just called next() and
received FALSE, what will I get if I call current_component()? A nil
reference? An exception? The DynAny for the last component?
This needs to be nailed down.
Resolution: incorporated changes close issue in 2.4
Revised Text:
Actions taken:
July 8, 1998: received issue
August 19, 1999: closed issue
Discussion: Specified semantics of create operations with respect to current position and
initial values
Revised Text: see ptc/99-03-02
Issue 1649: DynAny::seek semantics (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: >From the spec:
Operation seek logically sets a new offset for this pointer,
returning TRUE if the resulting pointer points to a component
or FALSE if there is no component at the designated offset.
Issues:
"... new offset for this pointer, ..."
What pointer? The pointer was mentioned previously, but too far away
for the expression "this pointer" to make sense here.
Also, someone else suggested that the entire story about buffers and pointers
should be abandandoned. I agree -- it would make more sense to talk about
a DynAny as an ordered collection of component DynAnys, and to talk about
the current "position" instead of a pointer.
The semantics of seek do not state what the current position will be
if I pass an out-of-range index value. As it stands, I have to assume
the current position will be undefined if I do this. I suggest to explicitly
state this, or alternatively, to require an out-of-range index to leave
the current position unaffected.
Resolution: incorporated changes close issue in 2.4
Revised Text:
Actions taken:
July 8, 1998: received issue
August 19, 1999: closed issue
Discussion: Specified semantics of create operations with respect to current position and
initial values. Cleaned up semantics to fully define the behavior under various boundary
conditions.
Revised Text: see ptc/99-03-02
Issue 1652: DynFixed IDL (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: Delete the type definition for OctetSeq inside the DynAny interface
on page 7-3.
Add
typedef sequence<Octet> OctetSeq;
on page 7-4 just before the definition of DynFixed.
This makes the IDL sylistically consistent and it also removes the
mismatch between the IDL on pages 7-3 and 7-4 with the IDL on page 7-10.
Resolution: incorporated change close issue in 2.4
Revised Text:
Actions taken:
July 9, 1998: received issue
August 19, 1999: closed issue
Discussion: Deleted definition of OctetSeq here (Issue 1652). It was defined twice, once in the
CORBA scope and once in the CORBA::DynAny scope. Because DynAny itself
does not use OctetSeq, and because supporting type definitions for other DynAny
types, such as DynStruct, also appear in the CORBA scope, deleting the definition
here was the cleanest fix.
Revised Text: see ptc/99-03-02
Issue 1675: DynAny: attributes vs operations (port-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: The DynAny interface uses an interesting mix of attributes and operations.
For example, in DynFixed, we find:
interface DynFixed : DynAny {
OctetSeq get_value();
void set_value(in OctetSeq val) raises(InvalidValue);
};
However, in DynEnum, we find:
interface DynEnum : DynAny {
attribute string value_as_string;
attribute unsigned long value_as_ulong;
};
Why does one interface use a modifier and an accessor, while the other
interface uses writable attributes?
Resolution: Changed attributes to operations
Revised Text: see ptc/99-03-02
Actions taken:
July 14, 1998: received issue
August 19, 1999: closed issue
Discussion: