|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 0510 Details
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:
- View Report 0510
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority