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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1380 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 1380.


Report 1380 Actions


    Problem Report Number 1380
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0662
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1996-09-18 08:00
    Product Standard Sockets (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSU version 4.1.0
    Test Identification Sockets/connect 4
    Problem Summary TSD4U.00155 This test may fail on implementations where the amount of time connect blocks waiting for a connection is not a constant.
    Problem Text
    This test may fail as shown on implementations that do not have a constant
    timeout period. Test #4 makes an assumption as to what constitutes a "correct
    interval" for connection timeout. The assumption is that the "correct interval"
    is between VSU_CONNECT_TIMEOUT-2 and VSU_CONNECT_TIMEOUT+4,
    however, some implementations might have a larger variation in the timeout
    period.

    X/Open CAE, Networking Services, Issue 4 states the following for connect()
    with respect to timeout intervals:

    "... connect() will block for up to an unspecified
    timeout interval until the connection is established."

    The specification only requires that there be some upper limit. In particular
    it does not require that all connect() calls experience the same timeout value.

    Our implementation uses a fixed upper limit on the timeout but the time it takes
    for a particular connect() to time out depends on when TCP retransmits the
    packets which, in turn, depends on TCP's estimated roundtrip time to the
    destination. Thus a connect can experience a timeout of anywhere between 180
    and 240 seconds. Nothing we can find in the specification precludes the
    behaviour of our implementation.

    We suggest that the VSU test suite provide MIN and MAX configuration variables
    for the VSU_CONNECT_TIMEOUT interval instead of using the "-2/+4" range
    for acceptable timeout period.
    Test Output
    TEST CASE: connect

    TEST PURPOSE #4
    If the implementation supports a communications domain
    and a connection-oriented socket type:
    A call to int connect(int socket, const struct
    sockaddr *address, size_t address_len) when blocking
    is terminated due to expiration of the timeout shall
    abort the connection attempt, set errno to ETIMEDOUT,
    and return -1.
    PREP: Get VSU_CONNECT_TIMEOUT configuration variable
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 129.146.86.131, port = 4189
    PREP: Create three sockets
    PREP: Wait for child to be ready
    PREP: Connect twice to fill queue
    PREP: Set long alarm
    TEST: connect blocks until timeout elapses
    TEST: Return value
    TEST: errno value
    TEST: Blocked for correct interval
    ERROR: Process did not block for expected duration, expected: 219 secs (approx),
    actual: 183 secs
    PREP: Child: create socket
    PREP: Child: bind to socket
    PREP: Child: listen on socket with backlog of 2
    PREP: Child: tell parent ready
    PREP: Child: wait for parent to complete
    4 FAIL

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We agree this is a test suite deficiency in the test
    suite version(s) listed.

    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