Problem Report Number |
1371 |
Submitter's Classification |
Test Suite problem |
State |
Resolved |
Resolution |
Test Suite Deficiency (TSD) |
Problem Resolution ID |
TSD.X.0653 |
Raised |
1970-01-01 08:00 |
Updated |
2003-03-13 08:00 |
Published |
1996-11-12 08:00 |
Product Standard |
Internationalised System Calls and Libraries Extended (UNIX 95) |
Certification Program |
The Open Brand certification program |
Test Suite |
VSU version 4.1.0 |
Test Identification |
Base/setrlimit 19 |
Problem Summary |
TSD4U.00164 This test may fail intermittently when run on a heavily used system. |
Problem Text |
This test intermittently fails. The test uses a recursive function, recursive_fn(), to find the stack resource limit. It does not distinguish between finding a resource limit and running out of system resources. On our implementation, the resource limits are set too high for this to be a good approach. Because this test does not distinguish between finding a resource limit and running out of system resources, the test is fundamentally flawed. In order for this test to function properly, it needs to be modified to decrease the resource limits to a value just beyond the end of the program's data area.
|
Test Output |
TEST CASE: setrlimit TEST PURPOSE #19 If the implementation does not inhibit enforcement of limits for the resource RLIMIT_STACK: When the size of the stack for the calling process would exceed the limit set by a call to int setrlimit(int resource, const struct rlimit *rlp) for resource RLIMIT_STACK the implementation shall not automatically grow the stack. PREP: Save the current stack limits PREP: Check if limits are enforced TEST: Set limits with setrlimit INFO: Raise succeeded PREP: Get set to catch SIGSEGV on an alternate stack PREP: Call sigsetjmp() to save the environment PREP: Make the stack grow such that a SIGSEGV is generated. Awaiting return from siglongjmp() PREP: Set to catch SIGSEGV again PREP: Call sigsetjmp() to save the environment PREP: Make the stack grow such that another SIGSEGV is generated. Awaiting return from siglongjmp() TEST: The implementation does not automatically grow the stack ERROR: The stack automatically grew once the limit was reached 19 FAIL
|