HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 2007 Details

Help Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges

This page provides all information on Problem Report 2007.


Report 2007 Actions


    Problem Report Number 2007
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0999
    Raised 1998-04-30 08:00
    Updated 2003-03-13 08:00
    Published 1998-05-06 08:00
    Product Standard Transport Service XTI V2
    Certification Program The Open Brand certification program
    Test Suite VST version 5.2.3
    Test Identification XTI.os/cots/accept 22
    Problem Summary TSDT5.001 This failure was first seen in VST5.2.3A, (i.e. the patch 'A' that was released for VST 5.2.3.) and has been acknowledged by vst_support. The observed behaviour is permitted by XNS Issue 5. A quote ...
    Problem Text
    This failure was first seen in VST5.2.3A, (i.e. the patch 'A' that was released
    for VST 5.2.3.) and has been acknowledged by vst_support.

    The observed behaviour is permitted by XNS Issue 5. A quote from the Errors
    section of t_accept(), Page 55, XNS Issue 5 follows.

    " [TBADSEQ] .... or a valid sequence number was specified, but the
    connection request was aborted by the peer. In the latter
    case, its T_DISCONNECT event will be received on the listening
    endpoint . "

    This is a change from the behaviour specified in XNS Issue 4. In XNS Issue 4,
    t_accept() is specified to return -1 and set t_errno to [TLOOK], if there are
    any incoming T_LISTEN or T_DISCONNECT events. This behaviour was relaxed in
    XNS Issue 5, since there is no need for t_accept() to fail due to an unrelated
    incoming T_LISTEN or T_DISCONNECT. However in this test case, the incoming
    T_DISCONNECT is not an unrelated event. It is a direct cancellation of the
    incoming connection request, that the test tries to t_accept(). The sequence
    number in the 'sequence' field of the t_call parameter specified in the
    t_accept() call is identical to the sequence number of the incoming
    T_DISCONNECT, and is no longer recognized as valid, in the internal queue of
    connections waiting acceptance. This results in the t_accept() call failing
    and setting t_errno to [TBADSEQ].

    It should also be noted that t_accept() can fail and set t_errno to [TBADSEQ]
    even in XNS 4 implementations, under certain conditions described below.
    Asynchrony in Streams framework, or parallelism introduced by Symmetric
    MultiProcessing kernels, can induce a race condition where T_DISCON_IND has
    been processed in the transport provider, but has not reached the Stream head
    yet and hence is not yet visible to t_accept() library code.

    XNS Issue 5 now acknowledges this [TBADSEQ] error, as can be seen in the Errors
    Section of t_accept(), and is quoted above. The VST test suite does not stress
    implementations in such a manner so as to exhibit the above race condition.
    But applications that handle a high rate of connection establishments have been
    observed to exhibit this behaviour in XNS 4 implementations.

    The test expects t_accept() to either succeed and return 0, or fail and
    return -1 and set t_errno to [TLOOK]. It should also allow the case where
    t_errno is set to [TBADSEQ] as allowed by XNS Issue 5.
    Test Output
    ************************************************************************
    /tset/XTI.os/cots/accept/T.accept 22 Failed

    Test Description:
    If the implementation supports a connection-oriented transport service
    other than ISO class 2 and ISO class 3:
    When a T_DISCONNECT event that requires immediate attention has
    occurred on fd, then t_accept() returns (int)-1, sets t_errno to
    TLOOK, and the states of the endpoints fd and resfd are not
    changed.
    Note: in UNIX98 test mode the t_accept() call may succeed instead of
    producing a TLOOK error.

    Test Strategy:
    VERIFY that the transport service is of type T_COTS or T_COTS_ORD
    MASTER:
    OBTAIN an endpoint in T_INCON state using provsetup()
    OPEN a second endpoint using t_open()
    INITIALISE second endpoint using u_provinit()
    SLAVE:
    GENERATE T_DISCONNECT event on master using discon_ev_s()
    MASTER:
    WAIT for a T_DISCONNECT event on the endpoint using wait_event()
    ACCEPT connection using t_accept() with resfd as second endpoint
    VERIFY that t_accept() returned -1 and set t_errno to TLOOK
    VERIFY that t_look() returns T_DISCONNECT
    VERIFY that the states of the endpoints have not changed

    Test Information:
    t_accept() on TCP endpoint
    TERRNO VALUES: expected: 9 (TLOOK), observed: 7 (TBADSEQ)

    ************************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    This is accepted as a Test Suite Defiency and it is recommended that a
    waiver is granted.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion
    This is an agreed Test Suite Deficiency.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority