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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1533 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 1533.


Report 1533 Actions


    Problem Report Number 1533
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0815
    Raised 1999-10-14 08:00
    Updated 2003-03-13 08:00
    Published 1999-10-15 08:00
    Product Standard Internationalised System Calls and Libraries Extended (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.0.4
    Test Identification base/setrlimit 20,25
    Problem Summary TSD4U.00276 This test may fail on machines with agressive compiler optimization.
    Problem Text
    This is applicable to all setrlimit function tests that use a
    recursive
    function for repeatedly allocating memory so that the resource
    limits are exceeded.

    The recursive function (recursive_fn in dsetrlimnit20.c)
    invocation in the
    child process is expected to cause stack failure with a SIGSEGV.
    The parent
    process waits for the termination of the child. The assumption is
    that storage
    for the volatile arrays declared in the recursive function will
    be retained
    across invocations causing the limit to be exceeded.

    But, in the absence of references to the volatile arrays, a
    compiler need not
    retain the arrays and they can be optimized out of existence. Our
    compiler
    implementation allows for such optimization, causing the child
    process
    to remain within stack limits, making it loop. The parent process
    times out
    waiting for the child to terminate.

    Our compiler treats the storage for the arrays to be discardable,
    as there
    are no references to it. To make the test more robust and work
    with different
    compilers, the arrays declared in recursive_fn should be
    referenced,
    perhaps using an assignment to an externally declared pointer.
    Test Output
    TEST CASE: setrlimit

    TEST PURPOSE #20
    If the implementation does not inhibit enforcement of
    limits for the resource RLIMIT_STACK:
    When the size of the stack for the calling process
    exceeds the limit set by a call to int setrlimit(int
    resource, const struct rlimit *rlp) for resource
    RLIMIT_STACK the process shall receive a SIGSEGV
    signal.
    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
    TEST: Process receives SIGSEGV when the stack grows
    beyond the limit
    ERROR: wait_for: Timed-out waiting for child to exit.
    20 FAIL

    TEST PURPOSE #25
    If the implementation does not inhibit enforcement of
    limits for the resource RLIMIT_AS:
    When the size of the stack for the calling process
    causes the size of the total available memory for the
    calling process to exceed the limit set by a call to
    int setrlimit(int resource, const struct rlimit *rlp)
    for resource RLIMIT_AS the process shall receive a
    SIGSEGV signal.
    PREP: Save the current limits
    TEST: Set limits with setrlimit
    INFO: Raise succeeded
    PREP: Get set to catch SIGSEGV on an alternate stack
    TEST: Process receives SIGSEGV when the stack grows
    beyond the limit
    ERROR: wait_for: Timed-out waiting for child to exit.
    25 FAIL

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    Reissue of TSD4U.00263, as the fault was not fixed in VSU5.0.4.

    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