|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2402 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 2402.
Report 2402 Actions
Problem Report Number 2402 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0659 Raised 2004-06-19 01:43 Updated 2004-06-23 01:14 Published 2004-06-23 01:14 Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03) Certification Program The Open Brand certification program Test Suite VSU version 5.2.5 Test Identification CAPI.os/procprim/getitimer/T.getitimer 2
CAPI.os/procprim/getitimer/T.getitimer 3Specification Base Definitions Issue 6 Problem Summary Tests uses lower granularity time function for verifying success. Problem Text The problems with these assertions is that getitimer() is a
high-resolution timestamp which measures time in nanoseconds. However,
the times() system call, which is normalized to ticks, has less
precision than using high-resolution timestamps.
The tests are using a comparing a less precise timestamp
to a more precise timstamp, and not appropriately approximating.Test Output
************************************************************************
/tset/CAPI.os/procprim/getitimer/T.getitimer 2 Failed
Test Description:
Base Required Conformance
A call to int getitimer(int which, struct itimerval *value) when
which
is ITIMER_VIRTUAL shall store the current value of the
ITIMER_VIRTUAL
timer into the structure pointed to by value and return 0.
Test Information:
PREP: Open a temporary scratch file
PREP: Set the ITIMER_VIRTUAL timer to a known value.
PREP: Loop in the program for arbitrary time.
Perform dummy I/O on temporary scratch file.
PREP: Obtain the ITIMER_VIRTUAL timer through getitimer().
TEST: getitimer() returns the correct timer value
timer value = original timer set - time elapsed
ERROR: Invalid value returned by getitimer()
Expecting: (360.000000 - 18.000000) approx Received:
348.630000
************************************************************************
************************************************************************
/tset/CAPI.os/procprim/getitimer/T.getitimer 3 Failed
Test Description:
Base Required Conformance
A successful call to int getitimer(int which, struct itimerval
*value)
when which is ITIMER_PROF shall store the current value of the
ITIMER_PROF timer into the structure pointed to by value and
return 0.
Test Information:
PREP: Open a temporary scratch file
PREP: Set the ITIMER_PROF timer to a known value.
PREP: Loop in the program for arbitrary time.
Perform dummy I/O on temporary scratch file.
PREP: Obtain the ITIMER_PROF timer through getitimer().
TEST: getitimer() returns the correct timer value
timer value = original timer set - time elapsed
ERROR: Invalid value returned by getitimer()
Expecting: (360.000000 - 18.000000) approx Received:
346.650000
************************************************************************Review Information
Review Type TSMA Review Start Date 2004-06-19 01:43 Last Updated 2004-06-21 18:20 Completed 2004-06-21 18:20 Status Complete Review Recommendation Rejected (REJ) Review Response The expected and actual values reported by the tests differ by several
seconds. This discrepancy is much greater than could be explained by
the difference in clock resolutions as claimed by the submitter.
For example in test 2, the test has compared the tms_utime values
returned by times() to determine that the process has consumed
approximately 18 seconds of "user" CPU time. It therefore expects the
time remaining for the ITIMER_VIRTUAL timer to have reduced by roughly
that amount. It generously allows half a second leeway in the
comparison (i.e. it expects between 17.5 and 18.5 seconds timer
reduction) and this should be more than enough to allow for the effects
of different clock resolutions.
The actual time remaining reported by the test is 348.63 seconds, a
reduction of only 11.37 seconds from the original 360 second timer
setting. The test appears to have uncovered a major discrepancy between
the CPU time usage seen by times() and getitimer().
Review Type SA Review Start Date 2004-06-21 17:20 Last Updated 2004-06-22 00:20 Completed 2004-06-22 00:20 Status Complete Review Resolution Rejected (REJ) Review Conclusion The SA does not find that a compelling argument has been presented
that an error is present in the test which appears to be behaving as
designed.
Problem Reporting System Options:
- View Report 2402
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority