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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1474 Actions


    Problem Report Number 1474
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0756
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1995-11-01 08:00
    Product Standard Internationalised System Calls and Libraries Extended (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSU version 4.0.2
    Test Identification Base/setcontext 1
    Problem Summary TSD4U.00057 This test may fail on all implementations.
    Problem Text
    This test may fail on all implementations.

    The test calls getcontext(&ucp_base) to initialize the ucp_base
    structure. This is the point the test wants to resume execution
    at after the setcontext call. It then calls getcontext(&ucp) to
    initialize the ucp structure. Then ucp.uc_link is set to
    &ucp_base. This assigns the point the ucp context will return to
    when it exits(returns) to the point the test is expecting. The
    test then calls makecontext(function, &ucp) to assign function as
    the point control is transferred to when setcontext(&ucp) is
    called.

    The test then calls setcontext(&ucp), The theory is that function
    will be called. On return ucp.uc_link will transfer execution to
    ucp_base which is the location the test is expecting.

    Unfortunately, the stack initialization for the context (ucp)
    that is being used by the makecontext call is incorrect. The
    test is trying to use the current stack. If the makecontext call
    saves function's arguments on this (the current) stack then
    execution continues and the arguments on the stack are scribbled
    over. When the setcontext call is made the corrupted stack
    causes a segv.
    Test Output
    TEST CASE: setcontext

    TEST PURPOSE #1
    A successful call to int setcontext(ucontext_t *ucp)
    when ucp is created with makecontext() shall continue
    program execution with the function passed to
    makecontext() and when that function returns the
    process shall continue as if after a call to
    setcontext() with the ucp argument that was input to
    makecontext().
    PREP: Set atexit for premature exits
    PREP: Save first context
    PREP: Save second context
    PREP: Link second context to first context
    PREP: Allocate stack space for second context
    PREP: Call makecontext to modify second context
    TEST: Call setcontext with modified second context
    TEST: Parameters passed to function after setcontext
    INFO: Exiting function
    ERROR: TEST TERMINATED DUE TO SIGSEGV SIGNAL (11)
    1 FAIL

    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