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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1611 Actions


    Problem Report Number 1611
    Submitter's Classification Specification problem
    State Resolved
    Resolution Permanent Interpretation (PIN)
    Problem Resolution ID PIN.X.0168
    Raised 1996-08-09 08:00
    Updated 2003-03-13 08:00
    Published 1996-08-20 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 CAPI.os/genuts/sbrk 1 2
    Specification System Interfaces and Libraries Issue 4 Version 2
    Location in Spec See Problem Text
    Problem Summary PIN4U.00034 This test may fail on implementations that perform some type of rounding on the requested sbrk() increment.
    Problem Text
    Our implementation of sbrk() works on 8 byte boundaries. This means that
    more bytes can get allocated than asked for. We consider this an enhancement
    since it guarantees that at least the requested amount of space is added to
    the data segment or at most, the requested amount of space is removed from the
    data seqment. The tests need to be aware of this and allow for this.

    As further argument, The X/Open specification states the following under
    DESCRIPTION:

    The brk() and sbrk() functions are used to change the amount of
    space allocated for the calling process. The change is made by
    resetting the process' break value and allocating the appropriate
    amount of space.

    In addition, under APPLICATION USAGE, the following statement is made:

    It is unspecified whether the pointer returned by sbrk() is
    aligned suitably for any purpose.

    Again, our implementation of sbrk is allocating the appropriate amount of
    space insuring that the the pointer returned by sbrk() is aligned suitably.
    Test Output
    TEST CASE: sbrk

    TEST PURPOSE #1
    A successful call to void *sbrk(int incr) when incr is
    positive shall increase the break value (the address
    at which dynamic memory allocation starts) for the
    calling process by incr bytes, set the newly allocated
    space to 0, and return the old break value.
    PREP: Determine original break value
    TEST: sbrk(830) returns original break value
    TEST: Break value set
    ERROR: Break value set to 2f988 expected 2f986
    1 FAIL

    TEST PURPOSE #2
    A successful call to void *sbrk(int incr) when incr is
    negative shall decrease the break value (the address
    at which dynamic memory allocation starts) for the
    calling process by the absolute value of incr bytes
    and return the old break value.
    PREP: Allocate a large piece of memory for negative sbrk()s
    TEST: sbrk(-830) returns original break value
    TEST: New break value set
    ERROR: Break value set to 3f178 expected 3f172
    2 FAIL

    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.

    The the sbrk() spec clearly states:

    The sbrk() function adds incr bytes to the break value and
    changes the allocated space accordingly.

    Thus the "resetting of the process break value" mentioned in the
    submitter's first quote above must be on a byte by byte rather
    than on some coarser basis.

    We do not understand how the verbage the submitter quotes from the
    APPLICATION USAGE section adds to or subtracts from this discussion.
    In any case the APPLICATION USAGE section of the spec is not normative.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution No Resolution Given
    Review Conclusion
    The text quoted from Application usage has been identified by the Base WG
    as normative during the CAE XSH Issue 5 application usage cleanup
    activity and moved to the description section in that draft volume.

    The CAE Issue 5 base specs Application usage section
    will only contain informative text .

    The waiver should be granted.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Permanent Interpretation (PIN)
    Review Conclusion
    A Permanent Interpretation is granted.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority