[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#28251: marked as done (libc should cause programs which leave stuff in stdio to fail)



Your message dated Fri, 30 Sep 2011 00:10:33 +0200
with message-id <fff737add319847f32d471b86f4753bd@emailmarketer-sys2.webnext.com>
and subject line Registry Easy, fix your pc
has caused the Debian Bug report #28251,
regarding libc should cause programs which leave stuff in stdio to fail
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
28251: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=28251
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libc6
Version: 2.0.7t-1
Severity: grave

Many programs (even the standard hello world examples) do this
 int main(void) {
   if (!fputs("hello world\n",stdout)) { perror("stdout"); exit(-1); }
   return 0;
 }

Of course stdout is usually buffered, and the error isn't reported by
the kernel until the implicit close(0) done at exit, but then there is
no application for the libc to pass the error to.

1. All programs which do this are buggy in the sense that they won't
work correctly on any UN*X when the disk becomes full, if they have
less than a stdio buffer of output.  I have filed a several bug
reports about this - some years ago I got `echo' fixed (both /bin/echo
and the builtins in bash and tcsh) - and now I've reported the same
bug in mawk, GNU sed and printf (from shellutils).

2. libc should either:

(a) Cause these programs to fail all the time (eg, the implicit
close(0) should be replaced by a call which aborts if there is
anything in stdio buffers).  This would allow these programs to be
detected, because they'd all break.  This would affect nearly every
stdio-using program, which would all have to be fixed, and should not
be done just before a release :-).  There would have to be an
environment variable to turn the behaviour off for old programs, so
that people can have useability if not reliability.

or

(b) It should do the error handling itself.  Ie, if the implicit
close(0) fails then libc should print a message to stderr (if
possible) and exit with status 255.

I prefer (b) because it means that we don't have to change many
programs, however it is somewhat lazier, and doesn't result in the bug
being fixed anywhere but glibc-based systems.

Neither of (a) or (b) is likely to be standards-compliant, but if the
standard is to be broken then we shouldn't follow it.

Ian.

--- End Message ---
--- Begin Message ---

Registry Easy : Fix your PC NOW !

Avoid WINDOWS crash - Try it trial now.

How to repair your pc  errors and speed up pc performance?
Do it all with Registry Easy!

I am proud to say that Registry Easy is the best PC correcting errors in its class. The reason is simple - the software Registry Easy ™ is an award-winning Windows Registry Cleaner allows you to scan your PC safely. Registry Easy ™ cleans the errors and invalid entries that cause system slowdown, freezing and crashing.

regeasy-safe.jpg

>> CLICK HERE <<
regeasy-download.jpg

Scan on your demand

 Registry Easy provides a completely automatic scan and it can analyze registry of your computers in seconds. By selecting the category you want, the industry-leading scanning engine will find out and list the detected problems for you.

Reparing Made Easy

Registry Easy is easy to use for the overwhelming majority users. It provides robust and effective registry reparing solutions with simple interface where our users can restore their systems to the optimal state by only a few clicks.

Safe Backup Mechanism

Whenever you run Registry Easy (after the first time) for scanning and fixing, a backup file will be automatically created and you can recover the registry within the powerful Backups section.

To stop receiving emails, click here for unsubscribe.
iCONVERGENCE - RC 44145 - MARRAKECH
free.gif

--- End Message ---

Reply to: