Summary: | sys-libs/uclibc: fclose(stdout) does not throw ENOSPC when piped to /dev/full. | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | René Rhéaume <rene.rheaume> |
Component: | [OLD] Core system | Assignee: | Embedded Gentoo Team <embedded> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 570544 | ||
Attachments: |
emerge --info output
build.log from portage tests/test-suite.log inside work directory |
Created attachment 399330 [details]
build.log from portage
Created attachment 399332 [details]
tests/test-suite.log inside work directory
For reasons I don't yet understand, its failing the disk full test. On glibc I get: # gzip --help >/dev/full 2>/dev/null ; echo $? 1 # gzip --version >/dev/full 2>/dev/null ; echo $? 1 On uclibc I get: # gzip --help >/dev/full 2>/dev/null ; echo $? 0 # gzip --version >/dev/full 2>/dev/null ; echo $? 0 It fails the same way for all the built functions: gzip gunzip gzexe zcat zforce zless zmore znew gzip gunzip gzexe zcat zforce zless zmore znew gzip gunzip gzexe zcat zforce zless zmore znew More succinctly you can see the problem with: glibc: # echo "hi" > /dev/full -bash: echo: write error: No space left on device # gzip --version > /dev/full gzip: write error: No space left on device # uclibc: # echo "hi" > /dev/full -su: echo: write error: No space left on device # gzip --version > /dev/full # So >/dev/full is working on uclibc, just not for gzip. The following reduced code show the problem: #include <stdio.h> #include <errno.h> int main() { printf("sutff\n"); if (fclose (stdout) != 0) error (0, errno, ""); return 0; } On glibc, building this program and running gives # ./test > /dev/full ./test: : No space left on device # while on uclibc it is silent: # ./test > /dev/full # uclibc support in Gentoo has been removed. |
Created attachment 399328 [details] emerge --info output As part of a system update, gzip should be updated to version 1.6. However, it fails in its test suite. Steps to reproduce : 1. FEATURES="test" emerge -1 app-arch/gzip