[lug] fedora 4,5 segmentation fault (strange)

D. Stimits stimits at comcast.net
Sat Jul 1 20:57:32 MDT 2006


KRITZBERG DAVID OWEN wrote:

>Hello BLUG folks,
>
>I was using yum to install a newer version of gnuchess on my FC4
>machine.  Previously I tried using yum to upgrade from FC4 to FC5 but
>ran into some bad DSA signatures and abandoned that task.  I never got
>back to it but never had any indication that there was anything wrong
>either.
>
>But I still had the FC5 repositories set up in yum.  After the install
>of a newer version of gnuchess, which required updating some libc rpms
>and maybe some other stuff I didn't notice, I got a segmentation fault
>when attempting to start gnuchess from the command line.  Then I
>noticed emacs had crashed giving a "bad window" error report to the
>command line in another shell window.
>  
>

It's very very likely your version of glibc got "upgraded". When you 
abandoned the update, the version you had left is probably too new for 
the rest of the system. Glibc is linked to almost everything. The 
functions might stay the same from release to release, but the offset 
that apps were compiled against to find those functions can change...you 
end up with access to invalid addresses, and segfault as the message. If 
that's the case, you're going to have a tough time making anything work 
that isn't statically linked and independent of glibc.

If rpm works, see what you get from:
rpm -qva | grep -i glibc

There are other components related to it, especially the linker 
(ldconfig). You might wish to check if the glibc has a similar or 
different version via:
rpm -q --whatprovides /sbin/ldconfig

If this is the case that you're mixing glibc versions, you can attempt 
to force it back to the correct one...but it's a long way from reliable 
recovery. The filesystem should be ok though, if you can back up 
anything before you go further you'd be advised to do so. Keep in mind 
that you can boot in any rescue mode CD and access the filesystem that 
way. You would be best off tackling as few upgrades/downgrades as you 
can at once, you might want to set default runlevel to 3 till you have 
it fixed (/etc/inittab:
id:3:initdefault:
)

D. Stimits, stimits AT comcast DOT net

PS: You can see what any individual app is actually linked against via 
"ldd /usr/bin/appname". You can see what the system thinks is available 
via "/sbin/ldconfig -p". If ldconfig -p shows what ldd wants, you're in 
luck; else you have a segfault.



More information about the LUG mailing list