|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2386 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 2386.
Report 2386 Actions
Problem Report Number 2386 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.1233 Raised 2004-05-29 01:42 Updated 2004-06-05 04:46 Published 2004-06-05 04:46 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/procenv/getrusage Specification Base Definitions Issue 6 Problem Summary Parent process in getrusage 3 does not wait long enough for child
to finish busy work.Problem Text The problem with this assertion is the parent does not wait long
enough
for a child process to do some busy work. The relevant code is in
the
file: TET3.3h/vsx/tset/CAPI.os/procenv/getrusage/getrusage3.c in the
function subtest3():
if (WAIT_EVENTN(CHILD_DONE, (5*MAX_TIME_TO_RUN)) == -1)
{
tet_result(TET_UNRESOLVED);
return -1;
}
MAX_TIME_TO_RUN is a calculated constant based on the vsxspeed value
(1=fast, 10=slow), it is 3 + 3*SPEEDFACTOR. For a speed factor of 3,
MAX_TIME_TO_RUN is 12 seconds, and the above code thus waits for 60
seconds. The actual time which the child code took was approximately
200 seconds.
Changing the speed factor for this machine to get a wait time of 200
seconds would mean setting vsxspeed to 12, which is not possible and if
it were, would be too slow for the other tests which use this value.
Extening the parent's wait time does not fix the problem because
doing so for slower machines causes the test to take so long the
harness
assumes it is hung. Decreasing the child's work load seems to be the
correct solution.Test Output
***********************************************************************
*****************************************
/tset/CAPI.os/procenv/getrusage/T.getrusage 3 Unresolved
Test Description:
Base Required Conformance
A successful call to int getrusage(int who, struct rusage
*r_usage)
when who is RUSAGE_CHILDREN shall not include resource
information for
child processes which are never waited for.
Test Information:
PREP: Set SIGCHLD to SIG_DFL with sa_flags=0
PREP: Fork a child process and consume CPU time
PREP: Parent: Do not wait for child to exit
ERROR: Timed out waiting for completion.
PREP: Set SIGCHLD to SIG_DFL with sa_flags=SA_NOCLDWAIT
PREP: Fork a child process and consume CPU time
PREP: Parent: Do not wait for child to exit
ERROR: Timed out waiting for completion.
PREP: Set SIGCHLD to SIG_IGN with sa_flags=0
PREP: Fork a child process and consume CPU time
PREP: Parent: Do not wait for child to exit
ERROR: Timed out waiting for completion.
***********************************************************************
*****************************************Review Information
Review Type TSMA Review Start Date 2004-05-29 01:42 Last Updated 2004-06-01 17:39 Completed 2004-06-01 17:39 Status Complete Review Recommendation Test Suite Deficiency (TSD) Review Response This is accepted as a fault in the test suite.
Review Type SA Review Start Date 2004-06-01 16:39 Last Updated 2004-06-02 00:29 Completed 2004-06-02 00:29 Status Complete Review Resolution Test Suite Deficiency (TSD) Review Conclusion This PR represents an agreed test suite deficiency.
Problem Reporting System Options:
- View Report 2386
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority