[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