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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1364 Actions


    Problem Report Number 1364
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0646
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1996-12-11 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.1
    Test Identification Sockets/accept 13
    Problem Summary TSD4U.00171 This test may fail due to a race condition.
    Problem Text
    race condition in test purpose 13 of sockets/accept (see report output).
    The test server tries to force an EMFILE error on a call to
    accept() by consuming all available file descriptors before.

    This test succeeds: after consuming all available file descriptors
    accept() returns -1 with errno equal to EMFILE.

    Meanwhile the client's connect() call fails with ECONNREFUSED,
    because the server closed the connection and is waiting for the
    client to exit. This results in a test failure.

    [if the client gets scheduled before the server closes the
    socket the test succeeds.]


    PARENT CHILD
    -----------------------------------------------------------

    fork
    WAIT_EVENT(PARENT_READY)
    s = socket()
    bind
    listen
    POST_EVENT(PARENT_READY) ----------------------------------

    consume fds error = inet_client
    accept socket
    release fds connect
    if(error == -1)
    return(-1);

    WAIT_EVENT(CHILD_CONTINUE)

    POST_EVENT(CHILD_CONTINUE) --------------------------------

    close(s)
    WAIT_FOR_PID() --------------------------------------------
    Test Output
    TEST PURPOSE #13
    If the implementation supports a communications
    domain and a connection-oriented socket type:
    EMFILE in errno and return -1 on a call to int
    accept(int socket, struct sockaddr *address, size_t
    *address_len) when OPEN_MAX file descriptors are
    currently open in the calling process.
    PREP: Determine OPEN_MAX
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 139.22.228.9, port = 3125
    PREP: Child: wait for parent
    PREP: Create a socket
    PREP: Connect socket to address 139.22.228.9, port 3125
    ERROR: inet_client: connect failed, errno = 146(ECONNREFUSED - Connection refu
    sed)
    PREP: Create socket
    PREP: Bind to socket
    PREP: Call listen for socket
    PREP: Signal child parent is ready
    PREP: Consume all available file descriptors
    TEST: Call accept
    TEST: Return value
    TEST: errno value
    CLEANUP: Close sockets, kill child
    TEST: AF_UNIX SOCK_STREAM
    PREP: Create test sockaddr_un: path = ../tmp/unix.a004Yq
    PREP: Child: wait for parent
    PREP: Create socket
    PREP: Set O_NONBLOCK for socket
    PREP: Connect to address ../tmp/unix.a004Yq
    PREP: Child: wait for parent to complete
    CLEANUP: Child: close socket
    PREP: Create socket
    PREP: Bind to socket
    PREP: Call listen for socket
    PREP: Signal child parent is ready
    PREP: Consume all available file descriptors
    TEST: Call accept
    TEST: Return value
    TEST: errno value
    CLEANUP: Close sockets, kill child
    13 UNRESOLVED

    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