|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1051 Details
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:
- View Report 1051
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority