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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1107 Actions


    Problem Report Number 1107
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0309
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published null
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.0.3
    Test Identification CAPIbase/fwritev 76 77
    Problem Summary PG4U.00164 Writev should raise SIGXFSZ when an LFS EFBIG error is detected.
    Problem Text
    In PG4U.00159 the consultants make the following statements:

    "The SUS specifies conditions under which writev() raises SIGXFSZ but
    this is not one of them. Though implementations are free to add
    extensions beyond the SUS' requirements these must not impact the
    operation of a conforming application. This extension does have such
    an application portability impact, preventing for instance the execution
    of these tests which we believe to be conforming and correct as written."

    The consultants have failed to note the following requirement for conforming
    implementations on page 367 of the XPG5 XSH:

    "RLIMIT_FSIZE This is the maximum size of file in bytes that may be created
    by a process. If a write or truncate operation would cause this
    limit to exceed, SIGXFSZ is generated for the thread. If the
    thread is blocking, or the process is catching or ignoring
    SIGXFSZ, continued attempts to increase the size of a file from
    end-of-file to beyond the limit will fail with errno set to
    [EFBIG]."


    As these testcases do a write that exceeds the maximum file size for a small
    off_t file and the tests do not ignore or catch SIGXFSZ, our implementation
    generates the SIGXFSZ as required.
    Test Output
    TEST CASE: writev

    TEST PURPOSE #76
    If the implementation allows creation of a file
    description with an offset maximum less than the
    largest size it supports for an off_t:
    EFBIG in errno and return -1 on a call to ssize_t
    writev(int fildes, const struct iovec *iov, int
    iovcnt) when the file is a regular file, nbyte is
    greater than zero, and the starting position is equal
    to the offset maximum established in the open file
    description associated with fildes.
    PREP: Check for existence of programming environments
    PREP: Obtain off_t size in XBS5_ILP32_OFF32 environment
    PREP: Obtain off_t size in XBS5_ILP32_OFFBIG environment
    INFO: Execution environment for XBS5_LP64_OFF64 not supported
    INFO: Execution environment for XBS5_LPBIG_OFFBIG not supported
    TEST: Execute a program compiled in XBS5_ILP32_OFF32(32-bit off_t)
    environment that:
    opens a regular file
    execs a program compiled in XBS5_ILP32_OFFBIG(64-bit off_t) environment,
    passing it the open file descriptor
    this program:
    sets the offset equal to the value that can be
    represented in a 32-bit off_t,
    verifies writev returns -1 and sets errno to EFBIG
    ERROR: In 32-bit program: ERROR: Child terminated due to signal 25
    76 UNRESOLVED


    TEST PURPOSE #77
    If the implementation allows creation of a file
    description with an offset maximum less than the
    largest size it supports for an off_t:
    EFBIG in errno and return -1 on a call to ssize_t
    writev(int fildes, const struct iovec *iov, int
    iovcnt) when the file is a regular file, nbyte is
    greater than zero, and the starting position is
    greater than the offset maximum established in the
    open file description associated with fildes.
    PREP: Check for existence of programming environments
    PREP: Obtain off_t size in XBS5_ILP32_OFF32 environment
    PREP: Obtain off_t size in XBS5_ILP32_OFFBIG environment
    INFO: Execution environment for XBS5_LP64_OFF64 not supported
    INFO: Execution environment for XBS5_LPBIG_OFFBIG not supported
    TEST: Execute a program compiled in XBS5_ILP32_OFF32(32-bit off_t)
    environment that:
    opens a regular file
    execs a program compiled in XBS5_ILP32_OFFBIG(64-bit off_t) environment,
    passing it the open file descriptor
    this program:
    sets the offset to a value greater than what can be
    represented in 32-bit off_t,
    verifies writev returns -1 and sets errno to EFBIG
    ERROR: In 32-bit program: ERROR: Child terminated due to signal 25
    77 UNRESOLVED

    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.

    As the process in question is a 64-bit off_t process the maximum size
    that can be represented in a small off_t is not inherently a limitation
    on the size of the files it can create. Rather it would seem the
    submitter has just set their limit to this level. However as per the
    VSU User's Guide the test suite requires a system under test to be
    configured to accomodate large files for LFS testing. As such we
    consider this issue a configuration problem.

    4.1.3 File size limit

    For UNIX 98 testing, VSU generates files with sizes as large
    as 2.5GB in the course of testing. The file size limit on the
    implementation must be set to accommodate these files sizes,
    unless Large File testing cannot be performed on the implementation
    (see section 5.1.6 on page 35). In this case, and for UNIX 95
    testing, files of at least 1MB in size must be accommodated.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Rejected (REJ)
    Review Conclusion
    This request is refused.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority