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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0510 Actions


    Problem Report Number 0510
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0129
    Raised 1996-04-16 08:00
    Updated 2003-03-13 08:00
    Published null
    Product Standard Internationalised System Calls and Libraries (XPG4)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.3.5
    Test Identification ANSI.os/streamio/fputc 7
    Problem Summary PG4R.130 This interpretation requests covers the following assertions: /tset/ANSI.os/streamio/Mputc/T.fputc 7 /tset/ANSI.os/streamio/Mputc/T.putc 7 /tset/ANSI.os/streamio/Mputc/T.putchar 7 /tset/ANSI.os/stream...
    Problem Text
    This interpretation requests covers the following assertions:

    /tset/ANSI.os/streamio/Mputc/T.fputc 7
    /tset/ANSI.os/streamio/Mputc/T.putc 7
    /tset/ANSI.os/streamio/Mputc/T.putchar 7
    /tset/ANSI.os/streamio/fclose/T.fclose 14
    /tset/ANSI.os/streamio/fflush/T.fflush 9
    /tset/ANSI.os/streamio/fputs/T.fputs 7
    /tset/ANSI.os/streamio/fseek/T.fseek 11
    /tset/ANSI.os/streamio/fwrite/T.fwrite 2
    /tset/ANSI.os/streamio/fwrite/T.fwrite 3
    /tset/ANSI.os/streamio/fwrite/T.fwrite 13
    /tset/ANSI.os/streamio/printf/T.fprintf 64
    /tset/ANSI.os/streamio/printf/T.printf 64
    /tset/ANSI.os/streamio/putc/T.fputc 7
    /tset/ANSI.os/streamio/putc/T.putc 7
    /tset/ANSI.os/streamio/putc/T.putchar 7
    /tset/ANSI.os/streamio/puts/T.puts 7
    /tset/ANSI.os/streamio/vprintf/T.vfprintf 64
    /tset/ANSI.os/streamio/vprintf/T.vprintf 64
    /tset/POSIX.os/ioprim/write/T.write 24
    /tset/XOPEN.os/procenv/ulimit/T.ulimit 2
    /tset/XOPEN.os/streamio/putw/T.putw 7
    /tset/XPG4.os/wstreamio/fputws/T.fputws 7
    /tset/XPG4.os/wstreamio/putwc/T.fputwc 9
    /tset/XPG4.os/wstreamio/putwc/T.putwc 9
    /tset/XPG4.os/wstreamio/putwc/T.putwchar 9

    These tests are failing on our implementation due to UNIX 95 conformance.
    These assertions are all testing for EFBIG error on process defined
    file size limits. They are failing because signal SIGXFSZ(signal number = 25)
    is being received by the tests and causing the tests to abort. On page 739 of
    XPG4 V2 XSH spec it states the following:

    "If a write() requests that more bytes be written than there is room for
    (for example, the ulimit or the physical end of a medium), only as many
    bytes as there room for will be written. .... The next write of a non-zero
    number of bytes will give a failure return (except as noted below) and
    the implementation will generate a SIGXFSZ signal for the process."

    On page 269 it states the following:

    "RLIMIT_FSIZE This is the maximum size of a file in bytes that my be created
    by a process. .... If a write or truncate operation would
    cause this limit to be execeed, SIGXFSZ is generated for the
    process. ...."

    Also note the table on page 795 states the following:

    "Signal Default Action Description
    SIGXFSZ ii File size limit execeeded


    ii Abnormal termination of the process.
    Additionally, implementation-dependent abnormal termination actions, such
    as creation of a core file, may occur."

    Under UNIX95, a process must set up a handler for SIGXFSZ or use
    sigignore(SIGXFSZ) and watch the return code and errno from the system
    call. This requirement is further re-enforced in base resolution request 1170/81.


    Test Output
    ************************************************************************
    /tset/ANSI.os/streamio/Mputc/T.fputc 7 Unresolved

    Test Description:
    EFBIG in errno and a return value of EOF when fputc() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.
    Posix Ref: Component FPUTC Assertion 8.2.3.11-08(B)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    11(EAGAIN)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/Mputc/T.putc 7 Unresolved

    Test Description:
    EFBIG in errno and a return value of EOF when putc() attempts to write
    to a file that exceeds an implementation defined maximum file size.
    Posix Ref: Component PUTC Assertion 8.2.3.11-08(B)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    11(EAGAIN)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/Mputc/T.putchar 7 Unresolved

    Test Description:
    EFBIG in errno and a return value of EOF when putchar() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.
    Posix Ref: Component PUTCHAR Assertion 8.2.3.11-08(B)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    11(EAGAIN)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/fclose/T.fclose 14 Unresolved

    Test Description:
    EFBIG in errno and a return value of EOF when fclose() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.
    Posix Ref: Component FCLOSE Assertion 8.2.3.11-12(D)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    4(EINTR)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/fflush/T.fflush 9 Unresolved

    Test Description:
    EFBIG in errno and a return value of EOF when fflush() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.
    Posix Ref: Component FFLUSH Assertion 8.2.3.11-10(D)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    4(EINTR)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/fputs/T.fputs 7 Unresolved

    Test Description:
    EFBIG in errno and a return value of EOF when fputs() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.
    Posix Ref: Component FPUTS Assertion 8.2.3.11-08(B)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    4(EINTR)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/fseek/T.fseek 11 Unresolved

    Test Description:
    EFBIG in errno and a non-zero return value when fseek() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.
    Posix Ref: Component FSEEK Assertion 8.2.3.11-08(D)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    9(EBADF)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/fwrite/T.fwrite 2 Failed

    Test Description:
    fwrite() returns the number of items of size size, read from the array
    pointed to by ptr and appended to stream, before the user's file size
    limit is reached, an I/O error or EOF condition occurred.

    Test Strategy:
    CREATE synchronisation channel using opensync()
    CREATE child process
    CHILD:
    SET signal catching function so that the parent is informed that a
    signal has been caught
    SET maximum file size (in 512 byte blocks) to be ULIMIT_BLKS or 4,
    whichever is greater
    OPEN stream readonly using fopen()
    SET stream to be unbuffered using setbuf()
    WRITE data to stream so that the file is almost full using fwrite()
    WRITE data to stream so that the maximum file size is exceeded
    INFORM parent of the return value of fwrite() using sendsync() -
    (genlib)
    SET flag to indicate that data has been sent to the parent
    CLOSE stream using fclose()
    PARENT:
    WAIT for child to complete processing using waitsync() - (genlib)
    DELETE the test case if the child process has taken too long
    VERIFY that the child process has successfully completed processing
    VERIFY that no errors occurred in the child process
    VERIFY that the expected number of items have been written to the file
    UNLINK data file
    CLOSE synchronisation channel

    Test Information:
    fwrite() that exceeded file size limit caused signal 25(non-X/Open
    signal)
    ************************************************************************

    ************************************************************************
    /tset/ANSI.os/streamio/fwrite/T.fwrite 3 Unresolved

    Test Description:
    When fwrite() writes greater than zero bytes but fewer than requested,
    then the error indicator for the stream is set.
    Posix Ref: Component FWRITE Assertion 8.2.3-05(A)

    Test Information:
    deletion reason: failed to receive data from child
    child process was terminated by signal 25 (unknown signal)
    ************************************************************************

    ************************************************************************
    /tset/ANSI.os/streamio/fwrite/T.fwrite 13 Unresolved

    Test Description:
    EFBIG in errno and a return value of EOF when fwrite() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.
    Posix Ref: Component FWRITE Assertion 8.2.3.11-09(B)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    4(EINTR)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/printf/T.fprintf 64 Unresolved

    Test Description:
    EFBIG in errno and a return negative value when fprintf() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.
    Posix Ref: Component FPRINTF Assertion 8.2.3.11-08(B)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    11(EAGAIN)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/printf/T.printf 64 Unresolved

    Test Description:
    EFBIG in errno and a return negative value when printf() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.
    Posix Ref: Component PRINTF Assertion 8.2.3.11-08(B)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    11(EAGAIN)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/putc/T.fputc 7 Unresolved

    Test Description:
    EFBIG in errno and a return value of EOF when fputc() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.
    Posix Ref: Component FPUTC Assertion 8.2.3.11-08(B)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    11(EAGAIN)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/putc/T.putc 7 Unresolved

    Test Description:
    EFBIG in errno and a return value of EOF when putc() attempts to write
    to a file that exceeds an implementation defined maximum file size.
    Posix Ref: Component PUTC Assertion 8.2.3.11-08(B)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    11(EAGAIN)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/putc/T.putchar 7 Unresolved

    Test Description:
    EFBIG in errno and a return value of EOF when putchar() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.
    Posix Ref: Component PUTCHAR Assertion 8.2.3.11-08(B)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    11(EAGAIN)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/puts/T.puts 7 Unresolved

    Test Description:
    EFBIG in errno and a return value of EOF when puts() attempts to write
    to a file that exceeds an implementation defined maximum file size.
    Posix Ref: Component PUTS Assertion 8.2.3.11-08(B)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    11(EAGAIN)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/vprintf/T.vfprintf 64 Unresolved

    Test Description:
    EFBIG in errno and a return negative value when vfprintf() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.
    Posix Ref: Component VFPRINTF Assertion 8.2.3.11-08(D)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    11(EAGAIN)
    ************************************************************************
    ************************************************************************
    /tset/ANSI.os/streamio/vprintf/T.vprintf 64 Unresolved

    Test Description:
    EFBIG in errno and a return negative value when vprintf() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.
    Posix Ref: Component VPRINTF Assertion 8.2.3.11-08(D)

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25, errno =
    11(EAGAIN)
    ************************************************************************
    ************************************************************************
    /tset/POSIX.os/ioprim/write/T.write 24 Unresolved

    Test Description:
    EFBIG in errno and -1 returned by write() if an attempt was made to
    write a file that exceeds the system's maximum file size limit.
    Posix Ref: Component WRITE Assertion 6.4.2.4-29(D)

    Test Information:
    child process was terminated by signal 25 (unknown signal)
    ************************************************************************
    ************************************************************************
    /tset/XOPEN.os/procenv/ulimit/T.ulimit 2 Unresolved

    Test Description:
    Files of any size may be read by any process, but only those with
    maximum size less than or equal to the value returned by ulimit() may
    be written.

    Test Information:
    child process was terminated by signal 25 (unknown signal)
    path tracing error: path counter 7, expected 8
    ************************************************************************
    ************************************************************************
    /tset/XOPEN.os/streamio/putw/T.putw 7 Unresolved

    Test Description:
    EFBIG in errno and a return value of non-zero when putw() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.

    Test Information:
    error in do_ferr(): child wait status = 25, errno = 4(EINTR)
    ************************************************************************
    ************************************************************************
    /tset/XPG4.os/wstreamio/fputws/T.fputws 7 Unresolved

    Test Description:
    EFBIG in errno and a return value of -1 when fputws() attempts to
    write to a file that exceeds an implementation defined maximum file
    size.

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25
    ************************************************************************
    ************************************************************************
    /tset/XPG4.os/wstreamio/putwc/T.fputwc 9 Unresolved

    Test Description:
    EFBIG in errno and a return value of WEOF when fputwc() attempts to
    write to a file that exceeds an implementation defined maximum file
    size. The error indicator for the stream is set.

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25
    ************************************************************************
    ************************************************************************
    /tset/XPG4.os/wstreamio/putwc/T.putwc 9 Unresolved

    Test Description:
    EFBIG in errno and a return value of WEOF when putwc() attempts to
    write to a file that exceeds an implementation defined maximum file
    size. The error indicator for the stream is set.

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25
    ************************************************************************
    ************************************************************************
    /tset/XPG4.os/wstreamio/putwc/T.putwchar 9 Unresolved

    Test Description:
    EFBIG in errno and a return value of WEOF when putwchar() attempts to
    write to a file that exceeds an implementation defined maximum file
    size. The error indicator for the standard output stream is set.

    Test Information:
    deletion reason: error in do_ferr(): child wait status = 25
    ************************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    The TET_SIG_IGN configuration parameter allows for signals to be ignored
    during the execution of a test suite and the SIGXFSZ signal should be
    included in the TET_SIG_IGN list when executing the VSX test suite. A note
    will be added to the VSX User Guide to clarify this.

    It is recommended that this request is refused and that the VSX user sets
    the configuration to ignore this signal, as recommended in the UNIX95
    specification.

    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