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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1669 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 1669 and all reviews you are authorized to see.


Report 1669 Actions


    Problem Report Number 1669
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0473
    Raised 2000-08-27 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.4
    Test Identification CAPIbase/writev 76,77
    Problem Summary PG4U.00176 The test failures in this IR are already covered by TIN4U.00003.
    Problem Text

    Note, req.4.U.00555 has been submitted for VSU 5.1.1 as a 14 day interpretation.


    in PG4U.00175 the consultants state

    The question is whether it is valid for the test suite to assume
    that regular files created in a particular directory (e.g. the one
    specified by VSU_LFS_DIR) will either always have a maximum size that
    is at least 2^32 bytes or always have a maximum size that is less
    than 2^32 bytes. The answer can be determined from the required
    behaviour of a call to pathconf(VSU_LFS_DIR, _PC_FILESIZEBITS).
    Specifically, the note in the description of pathconf:

    "If path or fildes refers to a directory, the value returned
    applies to filenames within the directory."

    and the definition of FILESIZEBITS in <limits.h>:

    "Minimum number of bits needed to represent, as a signed integer
    value, the maximum size of a regular file allowed in the specified
    directory"

    clearly show that on a UNIX98-compliant system, the minimum number of
    bits needed to represent the maximum size of regular files in one
    particular directory must be the same for all of the files in that
    directory. Therefore the assumption by the test suite concerning
    VSU_LFS_DIR is valid, and the writev test failures are due to a
    non-compliance of the system.


    A regular file on a LFS enabled filesystem will be a file with a 64 bit off_t.
    And our FILESIZEBITS returns the correct value for this case. However programs
    compiled in IPL32_OFF32 cannot generate or correctly access LFS files. Table
    3-4 (Page 165) of the XCU clearly shows that an program compiled in IPL32_OFF32
    has an off_t of 32 bits. And that a 64 bit off_t is reguired to
    create/access/modify large files.

    The XSH open() syscall requirements(page 572) states the following:


    "The largest value that can be represented correctly in an object of type off_t
    will be established as the offset maximum in the open file description."

    This clearly states that the maximum file size is dependent on the off_t size.

    In addition, the XSH exec() requirements states the following:


    "For those file descriptors that remain open, all attributes of the open file
    description, including file locks remain unchanged."

    These two statement mean that an IPL_OFF32 program can only open a file with
    maximum size of 2^32 and passing this file descriptor to a OFFBIG or OFF64
    program will not change this maximum file size.
    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
    PREP: Obtain off_t size in XBS5_LP64_OFF64 environment
    PREP: Obtain off_t size in XBS5_LPBIG_OFFBIG environment
    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
    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_LP64_OFF64(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
    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_LPBIG_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
    PREP: Obtain off_t size in XBS5_LP64_OFF64 environment
    PREP: Obtain off_t size in XBS5_LPBIG_OFFBIG environment
    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
    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_LP64_OFF64(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
    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_LPBIG_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
    Except for the test suite version, this request is identical to
    req.4.U.00557, which has now been issued as TIN4U.00003.

    Since TINs are not specific to the test suite version, TIN4U.00003
    also covers the test failures in this request, and it is therefore
    recommended that the request is refused.

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    Except for the test suite version, this request is identical to
    req.4.U.00557, which has now been issued as TIN4U.00003.

    Since TINs are not specific to the test suite version, TIN4U.00003
    also covers the test failures in this request, and it is therefore
    recommended that the request is refused.

    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