We upgraded a 64 bit server from Centos 4 to 5 and encountered some strange problems. Tcsh segfaulted irregurarily and emacs gave irregurarily strange error messages about regular expressions. Both problems disappeared when a 32-bit version was installed instead of the 64-bit. Ldconfig still occasionally segfaults.
64-bit servers where Centos 5 was installed from scratch have no problems. It is like there were some sort of remnant of the previous OS, but I can't figure out where.
Strace of a 64-bit tcsh usually ends like this:
open("/usr/lib/locale/locale-archive", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=55537056, ...}) = 0 mmap(NULL, 55537056, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2aaaaaae0000 close(3) = 0 brk(0) = 0x15b30000 brk(0x15b30800) = 0x15b30000 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++
and ltrace gives:
__libc_start_main(0x405180, 1, 0x7fff89087298, 0x440b30, 0x440b20 <unfinished ...> setlocale(5, "" <unfinished ...> sbrk(0) = 0x141f1000 sbrk(2048) = 0xffffffffffffffff --- SIGSEGV (Segmentation fault) --- +++ killed by SIGSEGV +++
Does anyone have any ideas?