glibc segfault on "special" long double values is _ok_!?

Jan-Benedict Glaw jbglaw@lug-owl.de
Fri Jun 8 11:17:00 GMT 2007


On Fri, 2007-06-08 11:54:17 +0100, James Youngman <jay@gnu.org> wrote:
> On 6/8/07, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote:
> > hexdump (&my_long_double, sizeof my_long_double());
> > kill (getpid (), SIGABRT);
> 
> or just call abort() which is designed for the purpose.
> 
> > That way, you get a nice core dump and can call GDB with it. With
> > "clean" floats, just use GDB's "print" to print it (or even call
> > printf() with it.)
> 
> If printf fails on the offending bit pattern, presumably that is not
> going to help.

It does!  You've got the core file, so you have a second (and
third...) try to examine the offending bit pattern with different
methods.

> > You can fully control your cluster, but in the case discussed here,
> > the data was injected by a non-controlled source.
> 
> No item of hardware is fully under control either.  Push enough bits
> through it, some will get corrupted.  As I said in the email to which
> you are replying, this happens in practice, for real.

Even for those cases: a loud crash is something that can be easily
debugged.

MfG, JBG

-- 
      Jan-Benedict Glaw      jbglaw@lug-owl.de              +49-172-7608481
Signature of:                 Gib Dein Bestes. Dann übertriff Dich selbst!
the second  :
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20070608/703b1db5/attachment.sig>


More information about the Libc-alpha mailing list