[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash segfaulting and not being able to log in



Lo, on , March 19, Anthony Fox did write:

> I recompiled bash from a source .deb.  Last night, while /bin/bash was
> segfaulting, I ran the newly compiled bash and it worked just fine.
> The differences in sizes of the binaries is large.
> 
> ===[ant@driver] ~ $ ls -l bash-2.04/bash
> -rwxr-xr-x 1 ant ant 1527145 Mar 18 21:54 bash-2.04/bash*
> ===[ant@driver] ~ $ ls -l /bin/bash
> -rwxr-xr-x 1 root root 404340 Nov 20 17:38 /bin/bash*
> 
> The newly compiled binary is almost quadruple the size of the
> installed binary.  It is compiled for i686-pc-linux-gnu, but I
> wouldn't think that would make such a difference.

I can't be certain, but this is most probably because bash-2.04/bash has
not been stripped, so it still has all of the debugging info and symbol
tables in it.  Try running

file bash-2.04/bash

It'll print out something like

bash: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses
shared libs), stripped

If the last bit says `not stripped', then that's the deal.  You can remove
the extra stuff with the strip command, but these tables don't do any harm
besides taking up disk space.  (Since GNU/Linux, like most modern Unixes,
uses demand loading, the symbol tables and such never get brought into
memory.)  If you do strip the stuff out, though, gdb won't be able to tell
you as much useful information.  In any case, if this is the reason for the
size difference, this is almost certainly not related to your problem.

Unfortunately, I've never experienced the sort of behavior you describe
with bash, so I may not be much help.

Richard



Reply to: