Report 1410 Actions
Problem Report Number |
1410 |
Submitter's Classification |
Test Suite problem |
State |
Resolved |
Resolution |
Test Suite Deficiency (TSD) |
Problem Resolution ID |
TSD.X.0692 |
Raised |
1970-01-01 08:00 |
Updated |
2003-03-13 08:00 |
Published |
1996-04-16 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.0 |
Test Identification |
CAPIbase/munmap 5 |
Problem Summary |
TSD4U.00123 This test may fail on implementations where the process address space is larger than the maximum process memory size. |
Problem Text |
XSH states that addresses in the range [addr,addr+len] must be in the valid range for the address space of a process. The RLIMIT_AS resource, however, is the maximum size of a process' total available memory. The test uses the RLIMIT_AS resource for an approximation of the size of the process' address space range (SPASR), and will therefore fail, unless the RLIMIT_AS resource is equal to (or greater than) SPASR. Some systems cannot configure the RLIMIT_AS resource as high as SPASR. If the test is retained in future versions of VSU, SPASR will probably have to be a configuration parameter for the test suite, as there seems to be no simple, portable way to determine it's value.
|
Test Output |
SPEC1170TESTSUITE CASE 5 If the implementation does not inhibit enforcement of limits for the resource RLIMIT_AS: EINVAL in errno and return -1 on a call to int munmap(void *addr, size_t len) when addresses in the range [addr,addr+len] are outside the valid range for the address space of the calling process. TEST: Return -1 on a call to munmap(addr, len) when [addr,addr+len] is outside process address space ERROR: munmap() did not return -1 Expected: -1 Received: 0
|
Review Information
Review Type |
TSMA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Recommendation |
No Resolution Given |
Review Response |
We recommend this request be refused. We believe the test is correct. The getrlimit() spec clearly states that RLIMIT_AS defines the maximum size of the process' total available memory and that if this limit is exceeded the memory management functions will fail.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
The specification appears clear for brk(), sbrk(), malloc() and mmap() but unclear for munmap(), we would like this forwarded to the Base WG for review.
|
Review Type |
Expert Group Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
The Base Working Group considers this to be a Test Suite Deficiency. The rationale put forward was that the test case in question uses the limit on the "Memory" resource to try to guess what would be the limit of the "Memory Space". But because there is no standardized linkage between the two, this guess is wrong. An implementation of XSH may provide a large address space to a process and at the same time allow a small amount of memory to be allocated. There was no disagreement with this opinion.
|
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:
|