HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1322 Details

Help 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 End

    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 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:

     

    Back   


Contact the Certification Authority