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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1051 Actions


    Problem Report Number 1051
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0288
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published null
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSRT version 5.0.2
    Test Identification rt.os/aio/aio_cancel 1
    Problem Summary PG4R.00016 These tests may fail on systems with limited pty buffer capacity.
    Problem Text
    This request concerns:

    /tset/rt.os/aio/aio_cancel/T.aio_cancel 1 Failed
    /tset/rt.os/aio/aio_cancel/T.aio_cancel 3 Failed
    /tset/rt.os/aio/aio_cancel/T.aio_cancel 4 Failed
    /tset/rt.os/aio/aio_cancel/T.aio_cancel 6 Failed
    /tset/rt.os/aio/aio_write/T.aio_write 1 Failed

    These tests fail intermittently on some platforms because of a timing
    problem in the test suite. The suite uses the following strategy:

    Fill a pty by writing lots of data to it.
    Start some aio_writes to the full pty, expecting them to block.
    Cancel one of the blocked aio_writes.
    Use read(2) to drain the pty.
    Verify that the aio_writes not cancelled complete normally.

    The suite uses:

    while (read(readfd, bbuf, sizeof(bbuf)) > 0)
    ;

    to drain the pty. When the line fails with errno EAGAIN, the data from
    the aio_writes has not yet entered the pty, leaving the aio_writes still
    in progress.

    One solution to this problem is for the testsuite to record the number of
    bytes needed to fill the pty and drain the pty using synchronous reads.
    Then aio_read can read the data written by aio_write. The above algorithm
    becomes:

    Fill the pty by writing lots of data to it
    Start some aio_writes, which block because the pty is full
    Cancel one of the blocked aio_writes
    Use read(2) to read exactly the number of bytes used to fill the pty
    Use aio_read to read the data written by the aio_writes
    Verify that the aio_writes which were not canceled complete

    The failure does not manifest itself on any platform when the test uses
    the latter strategy.
    Test Output


    ************************************************************************
    /tset/rt.os/aio/aio_cancel/T.aio_cancel 1 Failed

    Test Description:
    If _POSIX_ASYNCHRONOUS_IO is defined or the implementation
    supports
    the aio_cancel() function as described in System Interfaces and
    Headers, Issue 5, and there are one or more asynchronous I/O
    operations which the implementation defines as cancelable:
    A call to aio_cancel() when aiocbp is not NULL shall cancel the
    the
    corresponding asynchronous I/O request against fildes.

    Test Information:
    INFO: No limit on AIO_MAX
    > test with pipe
    > test with pty
    > test with tty
    tty testing not configured
    > test with pipe
    > test with pty
    request 1 is still in progress
    request 2 is still in progress
    request 3 is still in progress
    request 4 is still in progress
    request 5 is still in progress
    request 6 is still in progress
    request 7 is still in progress
    request 8 is still in progress
    request 9 is still in progress
    request 10 is still in progress
    request 11 is still in progress
    request 12 is still in progress
    request 13 is still in progress
    request 14 is still in progress
    request 15 is still in progress
    request 16 is still in progress
    request 17 is still in progress
    request 18 is still in progress
    request 19 is still in progress
    request 20 is still in progress
    request 21 is still in progress
    request 22 is still in progress
    request 23 is still in progress
    request 24 is still in progress
    request 25 is still in progress
    request 26 is still in progress
    request 27 is still in progress
    request 28 is still in progress
    request 29 is still in progress
    request 30 is still in progress
    request 31 is still in progress
    request 32 is still in progress
    request 33 is still in progress
    request 34 is still in progress
    request 35 is still in progress
    request 36 is still in progress
    request 37 is still in progress
    request 38 is still in progress
    request 39 is still in progress
    request 40 is still in progress
    request 41 is still in progress
    request 42 is still in progress
    request 43 is still in progress
    request 44 is still in progress
    request 45 is still in progress
    request 46 is still in progress
    request 47 is still in progress
    request 48 is still in progress
    > test with tty
    tty testing not configured


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


    ************************************************************************
    /tset/rt.os/aio/aio_cancel/T.aio_cancel 3 Failed

    Test Description:
    If _POSIX_ASYNCHRONOUS_IO is defined or the implementation
    supports
    the aio_cancel() function as described in System Interfaces and
    Headers, Issue 5, and there are one or more asynchronous I/O
    operations which the implementation defines as cancelable:
    A call to aio_cancel() shall return AIO_CANCELED if all the
    requested operation(s) were canceled.

    Test Information:
    INFO: No limit on AIO_MAX
    > test with pipe
    > test with pty
    > test with tty
    tty testing not configured
    > test with pipe
    > test with pty
    > test with tty
    tty testing not configured
    > test with pipe
    > test with pty
    request 39 is still in progress
    request 41 is still in progress
    request 43 is still in progress
    request 44 is still in progress
    request 47 is still in progress
    > test with tty
    tty testing not configured
    > test with pipe
    > test with pty
    > test with tty
    tty testing not configured


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


    ************************************************************************
    /tset/rt.os/aio/aio_cancel/T.aio_cancel 4 Failed

    Test Description:
    If _POSIX_ASYNCHRONOUS_IO is defined or the implementation
    supports
    the aio_cancel() function as described in System Interfaces and
    Headers, Issue 5, and there are one or more asynchronous I/O
    operations which the implementation defines as cancelable:
    A call to aio_cancel() shall return AIO_ALLDONE if all the
    requested
    operation(s) have already completed.

    Test Information:
    INFO: No limit on AIO_MAX
    > test with pipe
    > test with pty
    > test with tty
    tty testing not configured
    > test with pipe
    > test with pty
    request 1 is still in progress
    request 2 is still in progress
    request 3 is still in progress
    request 4 is still in progress
    request 5 is still in progress
    request 6 is still in progress
    request 7 is still in progress
    request 8 is still in progress
    request 9 is still in progress
    request 10 is still in progress
    request 11 is still in progress
    request 12 is still in progress
    request 13 is still in progress
    request 14 is still in progress
    request 15 is still in progress
    request 16 is still in progress
    request 17 is still in progress
    request 18 is still in progress
    request 19 is still in progress
    request 20 is still in progress
    request 21 is still in progress
    request 22 is still in progress
    request 23 is still in progress
    request 24 is still in progress
    request 25 is still in progress
    request 26 is still in progress
    request 27 is still in progress
    request 28 is still in progress
    request 29 is still in progress
    request 30 is still in progress
    request 31 is still in progress
    request 32 is still in progress
    request 33 is still in progress
    request 34 is still in progress
    request 35 is still in progress
    request 36 is still in progress
    request 37 is still in progress
    request 38 is still in progress
    request 39 is still in progress
    request 40 is still in progress
    request 41 is still in progress
    request 42 is still in progress
    request 43 is still in progress
    request 44 is still in progress
    request 45 is still in progress
    request 46 is still in progress
    request 47 is still in progress
    request 48 is still in progress
    request 49 is still in progress
    > test with tty
    tty testing not configured


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


    ************************************************************************
    /tset/rt.os/aio/aio_cancel/T.aio_cancel 6 Failed

    Test Description:
    If _POSIX_ASYNCHRONOUS_IO is defined or the implementation
    supports
    the aio_cancel() function as described in System Interfaces and
    Headers, Issue 5, and there are one or more asynchronous I/O
    operations which the implementation defines as cancelable:
    After a call to aio_cancel() the associated error status for
    operations that are successfully canceled shall be set to
    ECANCELED
    and return status set to -1.

    Test Information:
    INFO: No limit on AIO_MAX
    > test with pipe
    > test with pty
    > test with tty
    tty testing not configured
    > test with pipe
    > test with pty
    > test with tty
    tty testing not configured
    > test with pipe
    > test with pty
    request 1 is still in progress
    request 2 is still in progress
    request 3 is still in progress
    request 4 is still in progress
    request 5 is still in progress
    request 6 is still in progress
    request 7 is still in progress
    request 8 is still in progress
    request 9 is still in progress
    request 10 is still in progress
    request 11 is still in progress
    request 12 is still in progress
    request 13 is still in progress
    request 14 is still in progress
    request 15 is still in progress
    request 16 is still in progress
    request 17 is still in progress
    request 18 is still in progress
    request 19 is still in progress
    request 20 is still in progress
    request 21 is still in progress
    request 22 is still in progress
    request 23 is still in progress
    request 24 is still in progress
    request 25 is still in progress
    request 26 is still in progress
    request 27 is still in progress
    request 28 is still in progress
    request 29 is still in progress
    request 30 is still in progress
    request 31 is still in progress
    request 32 is still in progress
    request 33 is still in progress
    request 34 is still in progress
    request 35 is still in progress
    request 36 is still in progress
    request 37 is still in progress
    request 38 is still in progress
    request 39 is still in progress
    request 40 is still in progress
    request 41 is still in progress
    request 42 is still in progress
    request 43 is still in progress
    request 44 is still in progress
    request 45 is still in progress
    request 46 is still in progress
    request 47 is still in progress
    request 48 is still in progress
    > test with tty
    tty testing not configured
    > test with pipe
    > test with pty
    > test with tty
    tty testing not configured


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


    ************************************************************************
    /tset/rt.os/aio/aio_write/T.aio_write 1 Failed

    Test Description:
    If _POSIX_ASYNCHRONOUS_IO is defined or the implementation
    supports
    the aio_write() function as described in System Interfaces and
    Headers, Issue 5:
    A successful call to aio_write() shall initiate or queue a
    request
    on behalf of the calling process to write aiocbp->aio_nbytes
    from
    the file associated with aiocbp->aio_fildes from the buffer
    pointed
    to by aiocbp->aio_buf and return 0.

    Test Information:
    INFO: No limit on AIO_MAX
    > test with file
    > test with pipe
    > test with pty
    > test with tty
    tty testing not configured
    > test with pipe
    > test with pty
    request 1 is still in progress
    request 2 is still in progress
    request 3 is still in progress
    request 4 is still in progress
    request 5 is still in progress
    request 6 is still in progress
    request 7 is still in progress
    request 8 is still in progress
    request 9 is still in progress
    > test with tty
    tty testing not configured
    > test with pipe
    > test with pty
    > test with tty
    tty testing not configured


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

    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. As this impacts a number of test
    however we recommend this request be refused. A work around has instead
    been provided.

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

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority