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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1416 Actions


    Problem Report Number 1416
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0698
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1996-03-19 08:00
    Product Standard Internationalised System Calls and Libraries Extended (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSU version 4.1.0
    Test Identification CAPIbase/poll 27
    Problem Summary TSD4U.00117 This request claims that the test improperly times out because it expects AF_UNIX client connect() calls will complete before the server accept()s the connection.
    Problem Text
    This request claims that the test improperly times out because
    it expects AF_UNIX client connect() calls will complete before
    the server accept()s the connection.

    The implementation claims that connections occur after
    an accept() call has been made.

    The implementation of the assertion is not portable.

    The AF_UNIX SOCK_STREAM test on this assertion is UNRESOLVED because
    the connect() issued from the client failed with errno ECONNREFUSED.
    (Note that the AF_INET SOCK_STREAM portion of this assertion is
    successful.)

    connect() for AF_UNIX sockets has a slightly different implementation
    than connect() for AF_INET sockets. AF_UNIX does not complete a
    connection until the accept is done on the server side. AF_INET, on
    the other hand, completes the connection and returns a zero return
    value as soon as the listen is done on the server side.

    Since this testcase never issues an accept on the server side (since
    the assertion of the testcase was successful) the subsequent close of
    the server socket causes the connect request that had been waiting for
    an accept to be rejected in the AF_UNIX case. Since this is after
    successful completion of the assertion, this portion of the testcase
    should not care about the return value received.
    Test Output
    10|0 /tset/CAPIbase/fpoll/fpoll27 10:58:23|TC Start, scenario ref 0-1
    15|0 1.10 1|TCM Start
    400|0 27 1 10:58:23|IC Start
    200|0 1 10:58:23|TP Start
    520|0 1 5636103 1 1|SPEC1170TESTSUITE CASE 27
    520|0 1 5636103 1 2|If the implementation supports a communications domain
    520|0 1 5636103 1 3|and a connection-oriented socket type:
    520|0 1 5636103 1 4|On a call to int poll(struct pollfd fds[], nfds_t
    520|0 1 5636103 1 5|nfds, int timeout) a socket that is listening for
    520|0 1 5636103 1 6|connections shall indicate that it is ready for
    520|0 1 5636103 1 7|reading once connections are available.
    520|0 1 5046284 1 1|TEST: AF_INET SOCK_STREAM
    520|0 1 5046284 1 2|PREP: Create test sockaddr_in: address = 198.151.241.50, port = 2085
    520|0 1 5046284 2 1|PREP: Create socket
    520|0 1 5046284 2 2|PREP: Bind to socket
    520|0 1 5046284 2 3|PREP: Call listen for socket
    520|0 1 5046284 2 4|PREP: Signal child parent is ready
    520|0 1 5046284 2 5|PREP: Wait for child to connect
    520|0 1 5046284 2 6|TEST: poll() on a file descriptor with connection indicates ready to read
    520|0 1 5046284 2 7|CLEANUP: Close sockets, kill child
    520|0 1 5046284 2 8|TEST: AF_UNIX SOCK_STREAM
    520|0 1 5046284 2 9|PREP: Create test sockaddr_un: path = ../tmp/unix.HdhDxQ
    520|0 1 4128781 1 1|PREP: Child: wait for parent
    520|0 1 4128781 1 2|PREP: Create a socket
    520|0 1 4128781 1 3|PREP: Connect socket to address 198.151.241.50, port 2085
    520|0 1 4128781 1 4|PREP: Child: wait for parent to complete
    520|0 1 5046284 3 1|PREP: Create socket
    520|0 1 5046284 3 2|PREP: Bind to socket
    520|0 1 5046284 3 3|PREP: Call listen for socket
    520|0 1 5046284 3 4|PREP: Signal child parent is ready
    520|0 1 5046284 3 5|ERROR: Timed out waiting for completion.
    520|0 1 5046284 3 6|TEST: poll() on a file descriptor with connection indicates ready to read
    520|0 1 5046284 3 7|CLEANUP: Close sockets, kill child
    520|0 1 4194317 1 1|PREP: Child: wait for parent
    520|0 1 4194317 1 2|PREP: Create a socket
    520|0 1 4194317 1 3|PREP: Bind address ../tmp/uclient.CDBbxQ to socket
    520|0 1 4194317 1 4|PREP: Connect to address ../tmp/unix.HdhDxQ
    520|0 1 4194317 1 5|ERROR: unix_client: connect failed, errno = 1128(ECONNREFUSED - Connection refused)
    220|0 1 2 10:58:37|UNRESOLVED
    410|0 27 1 10:58:37|IC End
    80|0 0 10:58:37|TC End
    900|10:58:37|TCC End

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We recommend this request be refused.

    We believe the key issue here is the exact point at which a
    "connection" occurs.

    There is no clear definition of this in the sockets spec. In the
    past, similar issues with sockets have been raised, They were all
    resolved using BSD sockets as the normative reference.

    The BSD semantics in this case, as well as the AF_INET semantics on
    this IUT, both regard the connect request being placed in the listen
    queue as the point a connection occurs.

    The XNI spec, pg. 106, states that

    Certain semantics of the basic sockets abstraction are
    protocol specific.

    We maintain that a "connection" is one of these semantics. This
    implies that the semantics should be consistent across all address
    families within the protocol.

    We believe AF_UNIX connection requests should exhibit the same
    semantics as AF_INET connection requests, those semantics should
    consider the connection made when the request is placed in the
    listen queue, and the test is correct as it is currently written.

    We are also concerned that, if this difference were allowed, it
    may break existing applications.

    Review Type Expert Group Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution No Resolution Given
    Review Conclusion
    A Test Suite Deficiency should be granted as the specification does not
    cover this issue. The topic should be forwarded to XoTGnet for consideration
    as to whether the specification needs updating.

    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