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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1086 Actions


    Problem Report Number 1086
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0542
    Raised 1999-12-15 08:00
    Updated 2003-03-13 08:00
    Published 2000-01-04 08:00
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSRT version 5.0.3
    Test Identification rt.os/aio/lio_listio 44
    Problem Summary TSD4R.00014 Intermittent failure due to a timing issue with non-blocking read() calls.
    Problem Text

    The failure is intermittent: the test sometimes passes and sometimes
    presents different but similar results.

    This test case causes flow blockage by writing messages into the pty
    stream until a write fails. At this point there are several messages
    in the stream, one at each of the modules and at the read side stream
    head.

    We get data flowing again by doing a 'while(read(readfd))'. This will
    backenable the successive queues one at a time. However, the next read
    loop can come back around and find there is nothing to read yet (the
    message has not yet percolated up to the stream head) and will fail,
    allowing us to drop into waiting for writes to complete.
    Unfortunately, we have allowed fewer messages to be written than read
    before we flow control again. This stops other writes from
    proceeding.

    We connor assume that a while(read()) will consume all the data since the
    write()s are asynchronous and, on a STREAM, the read()s are too.

    Making sure the write()s are unblocked:

    9599d9598
    <
    9619,9627d9617
    < /*
    < * We came here because a write was outstanding
    < .
    < * Best to do a read in case the writes were
    < * flow blocked and the above reads didn't
    < * catch it.
    < */
    < while (read(readfd, bbuf, sizeof(bbuf)) > 0)
    < ;

    solves the problem.


    Test Output


    ************************************************************************
    /tset/rt.os/aio/lio_listio/T.lio_listio 44 Failed

    Test Description:
    If _POSIX_ASYNCHRONOUS_IO is defined or the implementation supports
    the lio_listio() function as described in System Interfaces and
    Headers, Issue 5:
    On a call to lio_listio() when a requested operation is canceled by
    a call to aio_cancel() the return status of the asynchronous
    operation shall be set to -1 and its error status shall be set to
    ECANCELED.

    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 0 is still in progress
    request 1 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 24 is still in progress
    > 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
    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