|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1474 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 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 FAILReview 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 1474
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority