Bug 119592

Summary: ttmkfdir segfaults after XFree86->xorg upgrade
Product: [Fedora] Fedora Reporter: Ville Herva <v>
Component: ttmkfdirAssignee: Yu Shao <yshao>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-03-31 20:15:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ville Herva 2004-03-31 19:29:16 UTC
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.

Comment 1 Ville Herva 2004-03-31 19:30:17 UTC
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 ?? ()                                                         

Comment 2 Ville Herva 2004-03-31 20:15:43 UTC
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.)