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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1538 Actions


    Problem Report Number 1538
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0820
    Raised 2000-08-11 08:00
    Updated 2003-03-13 08:00
    Published 2000-08-21 08:00
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.1.1
    Test Identification CAPI.os/sockets/sendmsg 46
    Problem Summary TSD4U.00281 The test writes large buffers to the socket until no more can be written, then expects a sendmsg() of 12 bytes to block, but the system may be able to queue the 12 bytes.
    Problem Text
    This failure also exists in the same test in VSU 5.0.4.


    The test is supposed to fill up the send socket and then test that send()
    blocks. However, on our implementation when line 4758

    s2 = setsockopt(s, SOL_SOCKET, SO_SNDTIMEO, &tp1, sizeof(tp1));

    is executed, the send buffer may be partly read. Thus when line 4785

    ret = sendmsg(s, &Shdr, 0);

    is executed the sendmsg() succeeds because there is now space in
    the buffer. sendmsg() returns the number of bytes sent as required by
    the XPG5 XNS specification. The size of the server receive buffer can
    be decreased. Since the server is not reading, its receive buffer can get
    filled. Then the server won't send the ACK that caused the partial read.

    Our implementation is set-up to maximize the size of the outgoing tcp segment,
    the test is failing because the low-water mark on the send buffer is not being
    exceeded. We believe the test should be change to the following:

    int size = 1 ;
    s2 = setsockopt(s, SOL_SOCKET, SO_SNDTIMEO, &tp1, sizeof(tp1));

    This would allow each byte of the data to be send and read as expected.
    Test Output
    ************************************************************************
    /tset/CAPI.os/sockets/sendmsg/T.sendmsg 46 Failed

    Test Description:

    Base Conditional Conformance
    If the implementation supports a communications domain and a socket
    type and allows the option to be set:
    The SO_SNDTIMEO option shall define the amount of time to block
    because flow control prevents data from being sent for a call to
    ssize_t sendmsg(int socket, const struct msghdr *message, int flags).

    Test Information:
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 9.3.155.178, port = 4809
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 9.3.155.178, port 4809
    PREP: Check if option is supported
    PREP: Set O_NONBLOCK
    PREP: Fill up the server
    PREP: Clear O_NONBLOCK on socket
    PREP: Call setsockopt to set timeout value
    TEST: Call to send times out as set
    ERROR: Call to send did not timeout as expected
    Expected -1 Received: 12
    CLEANUP: Have server flush data
    PREP: Server: create socket
    PREP: Server: bind address 9.3.155.178, port 4809 to socket
    PREP: Server: listen on socket
    PREP: Server: notify client server is ready
    PREP: Server: accept connection
    INFO: Server: accepted connection from address 9.3.155.178, port 32926
    PREP: sleep_server: wait for parent to complete test
    INFO: sleep_server: parent completed test
    CLEANUP: sleep_server: flush data
    INFO: Server terminated

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

    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 fault in the test suite.

    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