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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2400 Actions


    Problem Report Number 2400
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.1241
    Raised 2004-06-17 23:55
    Updated 2004-06-24 02:10
    Published 2004-06-24 02:10
    Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.2.5
    Test Identification CAPI.os/sockets/send/T.send 18
    CAPI.os/sockets/sendmsg/T.sendmsg 18, 20
    CAPI.os/sockets/sendto/T.sendto 18, 20
    Specification Base Definitions Issue 6
    Problem Summary Tests assume that an action performed by a transport endpoint is
    synchronously visible to the peer endpoint.
    Problem Text The problem with these tests is that they assume that an action
    performed by a transport endpoint is synchronously visible to the peer
    endpoint, as soon as the system call that performed the action returned.

    In this test the essential sequence is:

    0. client asks the server to close the connection using local IPC
    mechanism.
    1. server closes the established connection using close()
    2. server signals the client using local IPC mechanism
    3. client sends some data using send()
    4. client sends some more data using send()

    client expects 4. to fail with SIGPIPE.

    Both the endpoints are local to a machine. 1. detaches the association
    between the stream and the connection. Any subsequent incoming data for
    the server will elicit a TCP RST. This data is generated by step 3.
    Step 3. elicits an RST from the server and the connection
    enters the closed state at the server. When this RST is received by the
    transport at the client, the client endpoint will also enter the closed
    state. However there is no synchronization between the exact time at
    which the RST is received and processed by the client and step 4. Though
    in this case both the transport end points are local to a machine, in
    the general case the RST has to travel over the wire and there is no way
    to determine whether the incoming RST from the server happens earlier
    or whether step 4 happens earlier. Neither TCP nor the Single Unix Spec
    make any distinction between TCP connections local to a machine or
    whether they go over the wire.
    Test Output
    ****************************************************************************************************************
    /tset/CAPI.os/sockets/send/T.send 18 Failed

    Test Description:
    Base Conditional Deviance
    If the implementation supports a communications domain the
    SOCK_STREAM
    socket type:
    A call to ssize_t send(int socket, const void *buffer, size_t
    length,
    int flags) when the socket is of type SOCK_STREAM and the peer
    is
    closed shall generate a SIGPIPE signal for the calling process.

    Test Information:
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 192.29.85.23, port =
    4173
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 192.29.85.23, port 4173
    PREP: Tell server to close connection
    PREP: Wait for connection to close
    TEST: Send on closed connection
    TEST: SIGPIPE received
    ERROR: Expected SIGPIPE signal, count of SIGPIPE signals = 0
    CLEANUP: Send SIGTERM to server
    PREP: Server: create socket
    PREP: Server: bind address 192.29.85.23, port 4173 to socket
    PREP: Server: listen on socket
    PREP: Server: notify client server is ready
    PREP: Server: accept connection
    INFO: Server: accepted connection from address 192.29.85.23,
    port 33009
    PREP: close_server: wait for client to be ready
    PREP: close_server: close connection
    PREP: close_server: tell client connection is closed
    INFO: Server terminated


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


    ****************************************************************************************************************
    /tset/CAPI.os/sockets/sendmsg/T.sendmsg 18 Failed

    Test Description:
    Base Conditional Deviance
    If the implementation supports a communications domain and a
    connection-oriented socket type:
    EPIPE in errno and return -1 on a call to ssize_t sendmsg(int
    socket,
    const struct msghdr *message, int flags) when the socket is
    connection
    oriented and the peer is closed.

    Test Information:
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 192.29.85.23, port =
    4693
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 192.29.85.23, port 4693
    PREP: Tell server to close connection
    PREP: Wait for connection to close
    TEST: Send on closed connection
    TEST: Return value
    ERROR: sendmsg call succeeded unexpectedly, returned 12
    CLEANUP: Send SIGTERM to server
    PREP: Server: create socket
    PREP: Server: bind address 192.29.85.23, port 4693 to socket
    PREP: Server: listen on socket
    PREP: Server: notify client server is ready
    PREP: Server: accept connection
    INFO: Server: accepted connection from address 192.29.85.23,
    port 33016
    PREP: close_server: wait for client to be ready
    PREP: close_server: close connection
    PREP: close_server: tell client connection is closed
    INFO: Server terminated


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


    ****************************************************************************************************************
    /tset/CAPI.os/sockets/sendmsg/T.sendmsg 20 Failed

    Test Description:
    Base Conditional Deviance
    If the implementation supports a communications domain and a the
    SOCK_STREAM socket type:
    A call to ssize_t sendmsg(int socket, const struct msghdr
    *message,
    int flags) when the socket is of type SOCK_STREAM and the peer
    is
    closed shall generate a SIGPIPE signal for the calling process.

    Test Information:
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 192.29.85.23, port =
    2637
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 192.29.85.23, port 2637
    PREP: Tell server to close connection
    PREP: Wait for connection to close
    TEST: Send on closed connection
    TEST: SIGPIPE received
    ERROR: Expected SIGPIPE signal, count of SIGPIPE signals = 0
    CLEANUP: Send SIGTERM to server
    PREP: Server: create socket
    PREP: Server: bind address 192.29.85.23, port 2637 to socket
    PREP: Server: listen on socket
    PREP: Server: notify client server is ready
    PREP: Server: accept connection
    INFO: Server: accepted connection from address 192.29.85.23,
    port 33017
    PREP: close_server: wait for client to be ready
    PREP: close_server: close connection
    PREP: close_server: tell client connection is closed
    INFO: Server terminated


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


    ****************************************************************************************************************
    /tset/CAPI.os/sockets/sendto/T.sendto 18 Failed

    Test Description:
    Base Conditional Deviance
    If the implementation supports a communications domain and a
    connection-oriented socket type:
    EPIPE in errno and return -1 on a call to ssize_t sendto(int
    socket,
    const void *message, size_t length, int flags, const struct
    sockaddr
    *dest_addr, size_t dest_len) when the socket is connection
    oriented
    and the peer is closed.

    Test Information:
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 192.29.85.23, port =
    2721
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 192.29.85.23, port 2721
    PREP: Tell server to close connection
    PREP: Wait for connection to close
    TEST: Send on closed connection
    TEST: Return value
    ERROR: sendto call succeeded unexpectedly, returned 5
    CLEANUP: Send SIGTERM to server
    PREP: Server: create socket
    PREP: Server: bind address 192.29.85.23, port 2721 to socket
    PREP: Server: listen on socket
    PREP: Server: notify client server is ready
    PREP: Server: accept connection
    INFO: Server: accepted connection from address 192.29.85.23,
    port 33026
    PREP: close_server: wait for client to be ready
    PREP: close_server: close connection
    PREP: close_server: tell client connection is closed
    INFO: Server terminated


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


    ****************************************************************************************************************
    /tset/CAPI.os/sockets/sendto/T.sendto 20 Failed

    Test Description:
    Base Conditional Deviance
    If the implementation supports a communications domain and the
    SOCK_STREAM socket type:
    A call to ssize_t sendto(int socket, const void *message, size_t
    length, int flags, const struct sockaddr *dest_addr, size_t
    dest_len)
    when the socket is of type SOCK_STREAM and the peer is closed
    shall
    generate a SIGPIPE signal for the calling process.

    Test Information:
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 192.29.85.73, port =
    1681
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 192.29.85.73, port 1681
    PREP: Tell server to close connection
    PREP: Wait for connection to close
    TEST: Send on closed connection
    TEST: SIGPIPE received
    ERROR: Expected SIGPIPE signal, count of SIGPIPE signals = 0
    CLEANUP: Send SIGTERM to server
    PREP: Server: create socket
    PREP: Server: bind address 192.29.85.73, port 1681 to socket
    PREP: Server: listen on socket
    PREP: Server: notify client server is ready
    PREP: Server: accept connection
    INFO: Server: accepted connection from address 192.29.85.73,
    port 33030
    PREP: close_server: wait for client to be ready
    PREP: close_server: close connection
    PREP: close_server: tell client connection is closed
    INFO: Server terminated

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

    Review Information

    Review Type TSMA Review
    Start Date 2004-06-17 23:55
    Last Updated 2004-06-18 01:26
    Completed 2004-06-18 01:26
    Status Complete
    Review Recommendation Test Suite Deficiency (TSD)
    Review Response This is accepted as a fault in the test suite.

    Review Type SA Review
    Start Date 2004-06-18 00:26
    Last Updated 2004-06-24 01:06
    Completed 2004-06-24 01:06
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion This PR represents an agreed test suite deficiency.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority