Description of problem: After upgrading from XFree86 to xorg ttmkfdir segfaults everytime I run it (eg. by doing service xfs restart). Version-Release number of selected component (if applicable): >ldd /usr/bin/ttmkfdir linux-gate.so.1 => (0xffffe000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x4d33c000) libz.so.1 => /usr/lib/libz.so.1 (0x4d2f4000) libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x4d425000) libm.so.6 => /lib/tls/libm.so.6 (0x4d1d9000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4d410000) libc.so.6 => /lib/tls/libc.so.6 (0x4d0bc000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x4d0a4000) > ldd /usr/bin/ttmkfdir | gawk '{print $3}' | xargs rpm -qf freetype-2.1.7-3 zlib-1.2.1.1-2.1 libstdc++-3.3.3-3 glibc-2.3.3-18 libgcc-3.3.3-2.1 libgcc-3.3.3-3 glibc-2.3.3-18 glibc-2.3.3-18 xorg-x11-base-fonts-0.0.6.6-0.0.2004_03_11.9 How reproducible: always Steps to Reproduce: 1. cd /usr/X11R6/lib/X11/fonts/TrueType 2. ttmkfdir 3. Actual results: segfault Expected results: no segfault Additional info: I verified that none of the libraries nor the ttmkfdir package itself (I had ttmkfdir-3.0. 9-9) makes difference. I tried LD_LIBRARY_PATH=/backup-versioned/2004-03-19T052000/usr/lib: /backup-versioned/2004-03-19T052000/lib /backup-versioned/2004-03-19T052000/usr/bin/ttmkfdir and verified with strace that it actually loads the libraries from /backup-versioned/2004-03-19T052000. Still crashes. However, when I replace /usr/X11R6/lib/X11/fonts/encodings/ with the older version, it works. The failing encodings directory is from xorg-x11-base-fonts-0.0.6.6-0.0.2004_03_11.9, the working is from XFree86-base-fonts-4.3.0-63.
gdb gives this: (gdb) run Starting program: /usr/bin/ttmkfdir (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... Program received signal SIGSEGV, Segmentation fault. 0x080555a9 in std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () (gdb) bt #0 0x080555a9 in std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () #1 0x080541f9 in std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () #2 0x0805445c in std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () #3 0x0804fa4d in std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () #4 0x0804b0fe in ?? () #5 0x4d0d0eb3 in __libc_start_main () from /lib/tls/libc.so.6 #6 0x08049d91 in ?? ()
Apparently new ttmkfdir-3.0.9-11 fixes this. (I did try yum update ttmkfdir before reporting, but apparently my mirror was not up to date. Sorry for the confusion.)