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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2550 Actions


    Problem Report Number 2550
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Permanent Interpretation (PIN)
    Problem Resolution ID PIN.X.0286
    Raised 2010-12-14 04:34
    Updated 2011-01-11 17:37
    Published 2011-01-11 17:37
    Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.3.2
    Test Identification CAPI.os/sockets/ssockopt/T.ssockopt.29,31
    Specification Base Definitions Issue 6
    Problem Summary For SO_SNDTIMEO, CAPI.os/sockets/ssockopt/T.ssockopt{29,31} expect
    getsockopt() to return the same tv_usec value passed into setsockopt()
    rather than the actual value used based on system clock granularity
    Problem Text The test assumes that the timeout value assigned using setsockopt() and
    returned by getsockopt() are exactly the same. However, since Solaris
    only supports a timeout granularity of ticks, the timeout set by
    setsockopt() may not be exactly what is used by the system. In this
    case, the getsockopt() call returns the actual value being used by the
    system and not the value set using setsockopt(). This is causing the
    test to fail.

    Under a 'complete implementation' of SO_RCVTIMEO, it would seem
    reasonable that getsockopt() should return the actual timeout value
    being used by the system, which may not be identical to that passed in
    the setsockopt() call due to system clock granularity. However, the
    test case fails if the getsockopt() timeout value is not identical to
    the value passed to it in setsockopt().
    Test Output ***BEG*BEG* CAPI.os/sockets/ssockopt/T.ssockopt 29 Failed *BEG*BEG***
    CAPI.os/sockets/ssockopt/T.ssockopt 29 Failed
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 129.146.219.178, port = 2353
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 129.146.219.178, port 2353
    TEST: Call setsockopt to set value
    PREP: Set variable where value will be stored to -1
    TEST: Check value with getsockopt
    ERROR: Value of tv_usec incorrect, expected 123, received 10000
    CLEANUP: Send SIGTERM to server
    PREP: Server: create socket
    PREP: Server: bind address 129.146.219.178, port 2353 to socket
    PREP: Server: listen on socket
    PREP: Server: notify client server is ready
    PREP: Server: accept connection
    INFO: Server: accepted connection from address 129.146.219.178, port 42364
    PREP: echo_server: read and echo data
    INFO: Server received signal 15
    INFO: Server terminated
    ***END*END* CAPI.os/sockets/ssockopt/T.ssockopt 29 Failed *END*END***

    ***BEG*BEG* CAPI.os/sockets/ssockopt/T.ssockopt 31 Failed *BEG*BEG***
    CAPI.os/sockets/ssockopt/T.ssockopt 31 Failed
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 129.146.219.178, port = 3353
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 129.146.219.178, port 3353
    TEST: Call setsockopt to set value
    TEST: Call getsockopt
    ERROR: Value of tv_usec incorrect, expected 123, received 10000
    CLEANUP: Send SIGTERM to server
    PREP: Server: create socket
    PREP: Server: bind address 129.146.219.178, port 3353 to socket
    PREP: Server: listen on socket
    PREP: Server: notify client server is ready
    PREP: Server: accept connection
    INFO: Server: accepted connection from address 129.146.219.178, port 34066
    PREP: echo_server: read and echo data
    INFO: Server received signal 15
    INFO: Server terminated
    ***END*END* CAPI.os/sockets/ssockopt/T.ssockopt 31 Failed *END*END***

    Review Information

    Review Type TSMA Review
    Start Date 2010-12-14 04:34
    Last Updated 2010-12-14 10:42
    Completed 2010-12-14 10:42
    Status Complete
    Review Recommendation Temporary Interpretation (TIN)
    Review Response A similar issue arose for pthread_setschedparam() in Austin Group
    Interpretation 1003.1-2001 #119, which resulted in an explicit
    statement being added in SUSv4: "It is unspecified whether the
    sched_ss_repl_period and sched_ss_init_budget values are stored as
    provided by this function or are rounded to align with the resolution
    of the clock being used."

    It is likely that the Austin Group will want to make a similar
    change for setsockopt(). A Temporary Interpretation should be
    granted while the issue is forwarded to the Austin Group for
    consideration.

    Review Type SA Review
    Start Date 2010-12-14 18:42
    Last Updated 2011-01-11 16:17
    Completed 2011-01-11 16:17
    Status Complete
    Review Resolution Temporary Interpretation (TIN)
    Review Conclusion Pending review by the Austin Group.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority