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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1350 Actions


    Problem Report Number 1350
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0632
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1997-05-27 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 base/swapcontext 1
    Problem Summary TSD4U.00185 This test may fail because the stack allocated is not large enough for the calls being made.
    Problem Text
    The problem is that the stack being allocated is not large enough to
    accommodate all of the stack space needed by the functions that are
    being called. (The value of MINSIGSTKSZ is 512). In particular, the
    program exceeds its stack space when test_func() calls tet_infoline(),
    which calls sprintf(), which in turn calls _idoprnt(). The _idoprnt()
    routine alone uses close to 512 bytes of stack space; it's within this
    routine that the stack gets overrun; this eventually causes a SIGSEGV
    when getenv() tries to access the data pointed at by the "environ"
    variable,
    which has been overwritten due to the stack overrun.

    XSH p. 554, sigaltstack() states:
    The value SIGSTKSZ is a system default specifying the number of bytes
    that would be used to cover the usual case when manually allocating an
    alternate stack area. The value MINSIGSTKSZ is defined to be the minimum
    stack size for a signal handler. In computing an alternate stack size, a
    program should add that amount to its stack requirements to allow for the
    system implementation overhead. The constants SS_ONSTACK, SS_DISABLE,
    SIGSTKSZ, and MINSIGSTKSZ are defined in <signal.h>.

    Thus the test suite is responsible for allocating a large enough stack
    for the calls it will be making. We temporarily modified the code to
    allocate MINSIGSTKSZ*4 bytes and to set ucp.uc_stack.ss_size =
    MINSIGSTKSZ*4;
    this allowed the test to run successfully.
    Test Output
    70||"SPEC1170TESTSUITE AREA swapcontext 0"
    110|0 /tset/CAPIbase/fswapconte/fswapconte1 17:38:09|Build Start,
    scenario ref 3-1
    100|0| c89 -D _XOPEN_SOURCE -D _XOPEN_SOURCE_EXTENDED=1 -I
    /usr/local/Rel1.10/inc/posix_c -I /usr/local/Rel1.10/CAPI/SRC/INC -o
    fswapconte1 dswapconte1.c /usr/local/Rel1.10/CAPI/SRC/LIB/capi_com.a
    /usr/local/Rel1.10/lib/posix_c/tcm.o
    /usr/local/Rel1.10/lib/posix_c/libapi.a -l c
    130|0 0 17:38:20|Build End
    10|1 /tset/CAPIbase/fswapconte/fswapconte1 17:38:20|TC Start, scenario
    ref 3-1, ICs {1}
    15|1 1.10 1|TCM Start
    400|1 1 1 17:38:20|IC Start
    200|1 1 17:38:20|TP Start
    520|1 1 26597 1 1|SPEC1170TESTSUITE CASE 1
    520|1 1 26597 1 2|A successful call to int swapcontext(ucontext_t *oucp,
    520|1 1 26597 1 3|const ucontext_t *ucp) shall save the current context
    520|1 1 26597 1 4|in the context structure pointed to by oucp, set the
    520|1 1 26597 1 5|context to the context structure pointed to by ucp,
    520|1 1 26597 1 6|and return 0.
    520|1 1 26598 1 1|PREP: Generate a new context
    520|1 1 26598 1 2|INFO: Executing in original context
    520|1 1 26598 1 3|TEST: Context set to new context
    520|1 1 26598 1 4|INFO: Entered function passed to makecontext()
    520|1 1 26598 1 5|INFO: Exiting function passed to makecontext()
    520|1 1 26598 1 6|TEST: swapcontext returns 0
    520|1 1 26598 1 7|TEST: Function passed to makecontext() invoked
    520|1 1 26597 2 1|ERROR: TEST TERMINATED DUE TO SIGSEGV SIGNAL (11)
    220|1 1 1 17:38:20|FAIL
    410|1 1 1 17:38:20|IC End
    80|1 0 17:38:21|TC End
    300|2 /tset/CAPIbase/fswapconte/fswapconte1 17:38:21|Clean Start,
    scenario
    ref 3-1
    320|2 0 17:38:21|Clean End
    900|17:38:21|TCC 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