This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Crashes in x86_64 math functions
- From: Allan McRae <allan at archlinux dot org>
- To: libc-help at sourceware dot org
- Date: Mon, 02 Jan 2012 12:24:34 +1000
- Subject: Crashes in x86_64 math functions
I am seeing some crashes in subversion and apache from various math
functions in glibc-2.15 on x86_64 with backtraces like:
#0 0x0000000000005446 in ?? ()
#1 0x00007fffebddb095 in floor () from /lib/libm.so.6
#2 0x00007ffff7de805c in _dl_relocate_object () from
/lib/ld-linux-x86-64.so.2
#3 0x00007ffff7dee526 in dl_open_worker () from /lib/ld-linux-x86-64.so.2
#4 0x00007ffff7dea286 in _dl_catch_error () from /lib/ld-linux-x86-64.so.2
#5 0x00007ffff7dede6a in _dl_open () from /lib/ld-linux-x86-64.so.2
#6 0x00007ffff66fef26 in ?? () from /lib/libdl.so.2
#7 0x00007ffff7dea286 in _dl_catch_error () from /lib/ld-linux-x86-64.so.2
#8 0x00007ffff66ff4cf in ?? () from /lib/libdl.so.2
#9 0x00007ffff66fefc1 in dlopen () from /lib/libdl.so.2
#10 0x00007ffff7742e5b in apr_dso_load () from /usr/lib/libapr-1.so.0
...
I bisected the issues to commits:
Use rounds{s,d} for x86 rint, ceil, floor
http://sourceware.org/git/?p=glibc.git;a=commit;h=ad0f5cad
(crashes in floor/ceil)
Optimize accurate 64-bit routines for FMA4 on x86-64
http://sourceware.org/git/?p=glibc.git;a=commit;h=af968f62
(crash in sin/tan)
Not all x86_64 machines are affected so I figured it was probably
multiarch stuff and this seems confirmed by the issues being "fixed" by
deleting the relevant files in sysdeps/x86_64/fpu/multiarch.
This is using glibc-2.15 built with gcc-4.6.2 (20111223), binutils
2.22.0 (20111227) and linux-3.1.5.
Is anyone else seeing similar issues?
Allan