|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1322 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 1322.
Report 1322 Actions
Problem Report Number 1322 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0604 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1998-03-19 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.1 Test Identification CAPIbase/setrlimit 21 Problem Summary TSD4U.00213 This test may fail on implementations which do not by default return the signal which actually caused abnormal termination of a child to the parent if that signal is of default type ii. is Problem Text
Problem Description:
We believe that test case for setrlimit 21 is testing for a
circumstance not defined by the SUS.
Specifically, the test (setrlimit 21) is testing for the clause in
setrlimit which states (XSH 4.2, page 269-270):
If the process is blocking or ignoring SIGSEGV, or is catching
SEGSEGV and has not made arrangements to use an alternate
stack, the disposition of SIGSEGV will be set to SIG_DFL before
it is generated.
The test (fsetrlimit.21) essentially creates a child who changes the
stack limits to RLIM_INFINITY, sets a signal handler, then goes into
a procedure call recursive loop until it overflows the stack.
The parent does a waitpid (in function "wait_for") until the child dies,
and returns the process exit status back to the parent. The parent then
checks the return status for the signal termination status and the SIGSEGV
status.
The problem is that the SUS defines the default action for SIGSEGV as a
type ii default action (XSH 4.2, page 795; <signal.h>). The type ii
default action states:
"Abnormal termination of the process.
Additionally, implementation-dependant abnormal termination actions,
such as creation of a core file, may occur."
This action is different and distinct from the type i action defined
on the same page which states:
"Abnormal termination of the process. The process is terminated with all
the consequences of _exit() except that the status is made available to
wait() and waitpid() indicates abnormal termination by the specified
signal."
Clearly, the test is incorrectly testing for the type i default action.
The test should only test for an abnormal termination of the child process
(if it can). It should not try to assert or define the circumstances under
which the child must die.Test Output
520|6475 1 4551 1 1|SPEC1170TESTSUITE CASE 21
520|6475 1 4551 1 2|If the implementation does not inhibit enforcement of
520|6475 1 4551 1 3|limits for the resource RLIMIT_STACK:
520|6475 1 4551 1 4|When the size of the stack for the calling process
520|6475 1 4551 1 5|exceeds the limit set by a call to int setrlimit(int
520|6475 1 4551 1 6|resource, const struct rlimit *rlp) for resource
520|6475 1 4551 1 7|RLIMIT_STACK and the process is blocking or ignoring
520|6475 1 4551 1 8|SIGSEGV, or is catching SIGSEGV and has not made
520|6475 1 4551 1 9|arrangements to use an alternate stack, the
520|6475 1 4551 1 10|disposition of SIGSEGV shall be set to SIG_DFL before
520|6475 1 4551 1 11|it is generated.
520|6475 1 4553 1 1|PREP: Obtain the current stack limits
520|6475 1 4553 1 2|TEST: Set limits with setrlimit
520|6475 1 4553 1 3|INFO: Raise failed
520|6475 1 4553 1 4|INFO: Lower succeeded
520|6475 1 4553 1 5|PREP: Set up a signal handler for SIGSEGV
520|6475 1 4553 1 6|TEST: The signal disposition was set to SIG_DFL
520|6475 1 4553 1 7| before delivery
520|6475 1 4552 2 1|ERROR: Process didn't terminate with SIGSEGV
220|6475 1 1 15:38:16|FAIL
410|6475 21 1 15:38:16|IC End
80|6475 0 15:38:16|TC EndReview 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 in the test
suite version(s) listed.
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:
- View Report 1322
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority