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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1377 Actions


    Problem Report Number 1377
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0659
    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/listen 4
    Problem Summary TSD4U.00158 This test fails on implementations where the maximum number of open files is reached because previously opened files are not closed.
    Problem Text
    This test fails to close previously opened file descriptors before attempting
    to open new socket file descriptors, thus resulting in the EMFILE errno
    because the process exceeded the implementation file descriptor limit.

    In our implementation, VSU_LISTEN_LIMIT is 32 and the default per process
    maximum file descriptor limit is 64. The test case parent process (acting
    as a client) first opens LISTEN_LIMIT+1 sockets to test the listen assertion
    for AF_INET SOCK_STREAM socket. After the test for AF_INET SOCK_STREAM,
    the parent process does not close the newly created file descriptors. It
    then again attempts to create LISTEN_LIMIT+1 sockets for testing the
    assertion for AF_UNIX SOCK_STREAM socket and thus exceeds the per process
    maximum file descriptor limit.

    The test case should close the previously opened socket file descriptors
    before attempting to again open LISTEN_LIMIT+1 sockets.
    Test Output
    TEST CASE: listen

    TEST PURPOSE #4
    If the implementation supports a communications domain
    and a connection-oriented socket type and limits the
    maximum backlog queue length:
    A call to int listen(int socket, int backlog) when
    backlog is larger than the implementation's maximum
    queue length shall set the length to the maximum
    supported value.
    PREP: Get VSU_LISTEN_LIMIT configuration variable
    INFO: VSU_LISTEN_LIMIT = 32
    PREP: Get VSU_CONNECT_TIMEOUT configuration variable
    PREP: Determine OPEN_MAX
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 129.146.85.212, port = 4489
    PREP: Child: create socket
    PREP: Child: bind to socket
    PREP: Child: listen on socket with backlog of LISTEN_LIMIT+10
    PREP: Child: tell parent ready
    PREP: Child: wait for parent to complete test
    CLEANUP: Child: close socket
    PREP: Create LISTEN_LIMIT+1 sockets
    PREP: Wait for child to be ready
    PREP: Connect LISTEN_LIMIT times to fill queue
    TEST: Next connect is rejected
    TEST: Return value
    TEST: errno value
    CLEANUP: Kill child
    TEST: AF_UNIX SOCK_STREAM
    PREP: Create test sockaddr_un: path = ../tmp/unix.a005L8
    PREP: Child: create socket
    PREP: Child: bind to socket
    PREP: Child: listen on socket with backlog of LISTEN_LIMIT+10
    PREP: Child: tell parent ready
    PREP: Child: wait for parent to complete test
    PREP: Create LISTEN_LIMIT+1 sockets
    ERROR: Call to socket # 23 failed, errno = 24(EMFILE - Too many open files)
    4 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