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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1195 Actions


    Problem Report Number 1195
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0397
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published null
    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 base/select 2
    Problem Summary PG4U.00070 This test may fail on non-ASCII IUTs.
    Problem Text
    This test may fail on non-ASCII IUTs.

    These assertion as written is non-portable to a non-ASCII platform,
    for the same reason as cited in TSD4U.00124, however the actual
    symptoms of the failure as seen in the journal are different.
    The AF_UNIX SOCK_DGRAM portion of the assertion is failing because
    the sendto() called from the server (in the subroutine unix_server)
    fails EINVAL because no sockaddr is filled in. (It was corrupted
    for the same reason cited in TSD4U.00124.) The subsequent select
    by the client times out because there is nothing to read, and the
    test fails.

    The following picture helps clarify this:

    SERVER CLIENT
    ------- ----------
    socket
    bind
    recvfrom socket
    connect
    write
    select (on read)
    sendto (fails - EINVAL
    no sockaddr filled in)
    select times out - nothing
    to read.

    The problem becomes even clearer when compared with the similar
    picture for the AF_UNIX SOCK_STREAM case:

    SERVER CLIENT
    ------- -------
    socket
    bind
    listen
    accept socket
    connect
    receive write
    select (on read)
    send
    receive select completes - ok to read



    (Note also that the failures for the STREAMS portion of this
    assertion is independent of this problem and will be covered by
    a seperate IR to be submitted in the near future.)
    Test Output
    IC Start
    TP Start
    SPEC1170TESTSUITE CASE 2
    A call to int select(int nfds, fd_set *readfds, fd_set
    *writefds, fd_set *exceptfds, const struct timeval
    *timeout) when readfds is not a null pointer shall
    check each regular file, terminal, pseudo-terminal
    device, STREAMS-based file, sockets, FIFOs and pipes
    file descriptor less than nfds specified by a bit set
    in the structure pointed to by readfds and set the
    corresponding bit in the structure pointed to by
    readfds when the file descriptor is ready to read.
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 198.151.241.50, port = 64673
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 198.151.241.50, port 64673
    PREP: Write data into socket
    TEST: select checks readfds and sets appropriate bits
    CLEANUP: Close socket, kill server
    TEST: AF_UNIX SOCK_STREAM
    PREP: Create test sockaddr_un: path = ../tmp/unix.ahDGxQ
    PREP: Server: create socket
    PREP: Server: bind address 198.151.241.50, port 64673 to socket
    PREP: Server: listen on socket
    PREP: Server: notify client server is ready
    PREP: Server: accept connection
    INFO: Server: accepted connection from address 198.151.241.50, port 1033
    PREP: echo_server: read and echo data
    INFO: echo_server: echoed 10 bytes of data (write data)
    INFO: echo_server: recv returned -1, errno = 1121(ECONNRESET - Connection reset)
    INFO: Server received signal 15
    INFO: Server terminated
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect to address ../tmp/unix.ahDGxQ
    PREP: Write data into socket
    TEST: select checks readfds and sets appropriate bits
    CLEANUP: Close socket, kill server
    TEST: AF_INET SOCK_DGRAM
    PREP: Create test sockaddr_in: address = 198.151.241.50, port = 64674
    PREP: Server: create socket
    PREP: Server: bind address ../tmp/unix.ahDGxQ to socket
    PREP: Server: listen on socket
    PREP: Server: notify client ready to accept
    PREP: Server: accept connection
    INFO: Server: accepted connection from address 5h
    PREP: echo_server: read and echo data
    INFO: echo_server: echoed 10 bytes of data (write data)
    INFO: Server received signal 15
    INFO: Server terminated
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 198.151.241.50, port 64674
    PREP: Write data into socket
    TEST: select checks readfds and sets appropriate bits
    CLEANUP: Close socket, kill server
    TEST: AF_UNIX SOCK_DGRAM
    PREP: Create test sockaddr_un: path = ../tmp/unix.eBhCxQ
    PREP: Server: create socket
    PREP: Server: bind address 198.151.241.50, port 64674 to socket
    PREP: Server: notify client server is ready
    PREP: Server: read and echo data
    INFO: Server: echoed 10 bytes of data (write data), peer is 198.151.241.50, port 1037
    INFO: Server received signal 15
    INFO: Server terminated
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect to address ../tmp/unix.eBhCxQ
    PREP: Write data into socket
    TEST: select checks readfds and sets appropriate bits
    ERROR: Descriptors are not set correctly:
    Expected descriptor 8 set
    Received descriptor 8 clear
    PREP: Create pipe
    PREP: Write data into pipe
    TEST: select checks readfds and sets appropriate bits
    CLEANUP: Close pipe
    PREP: Create fifo
    PREP: Write data into fifo
    TEST: select checks readfds and sets appropriate bits
    CLEANUP: Remove fifo
    PREP: Open pseudo ttys
    PREP: Write data into pty
    TEST: select checks readfds and sets appropriate bits
    CLEANUP: Close pseudo terminal
    PREP: Create file
    TEST: select checks readfds and sets appropriate bits
    CLEANUP: Close file
    PREP: Create a pipe
    PREP: Determine if pipe is a stream
    INFO: Pipes are not STREAMs on this implementation
    PREP: Open master pseudo tty
    PREP: Determine if pseudo tty is a stream
    ERROR: Neither pipes nor pseudo terminals are STREAMS
    based on this implementation. The sample code
    in $TET_ROOT/CAPI/SRC/LIB/capi_user/sreflect.c
    must be modified to provide routines with the
    equivalent functionality and interfaces for the
    implementation.
    PREP: Server: create socket
    PREP: Server: bind address ../tmp/unix.eBhCxQ to socket
    PREP: Server: notify client server is ready
    PREP: Server: read and echo data
    INFO: Server: echoed 10 bytes of data (write data), peer is
    FAIL
    IC 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.

    Patch VSU 4.1.0D provides a workaround for these failures. We
    reccommend that the implementation be required to apply this
    patch prior to making a single branding run.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Rejected (REJ)
    Review Conclusion
    This request is refused.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority