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

Problem: bash 2.01 dumps core!



I hit a <ahem> small problem while installing packages from
Incoming... Bash now dumps core on startup. And one of the interesting side
effects of this is that I can't install/remove packages anymore:

sysadmin@pianocktail:[~chrish/deb] #dpkg -i libc5_5.4.33-5_i386.deb
(Reading database ... 53797 files and directories currently installed.)
Preparing to replace libc5 5.4.33-5 (using libc5_5.4.33-5_i386.deb) ...
dpkg: error processing libc5_5.4.33-5_i386.deb (--install):
 subprocess pre-installation script killed by signal (Segmentation fault), core dumped
Errors were encountered while processing:
 libc5_5.4.33-5_i386.deb
Exit 1

... since many packages have installation scripts that are bash
scripts. Needless to say, this is *bad*.

I'll give as much detail as I can... Hopefully someone else can figure out
what the problem is and fix the relevant packages. I'll post a followup
message once I've fixed the problem on my machine

I did:

dpkg -iEG bash_2.01-0_i386.deb bash-builtins_2.01-0_i386.deb
chimera2_2.0a2-2_i386.deb ching_1.0-1_i386.deb cpp_2.7.2.2-4.deb
ddd_2.1.1-1_i386.deb gdb_4.16-8_i386.deb inform_6.13-2_i386.deb
inform-docs_6.13-2_all.deb lftp_0.11.1-2_i386.deb libc5_5.4.33-5_i386.deb
libgdbm1_1.7.3-22_i386.deb libgdbmg1_1.7.3-22_i386.deb
libgdbmg1-dev_1.7.3-22_i386.deb libreadline2_2.1-2.1_i386.deb
libreadlineg2_2.1-2.1_i386.deb libreadlineg2-dev_2.1-2.1_i386.deb
metamail_2.7-22_i386.deb mount_2.6g-2_i386.deb ncurses3.0_1.9.9e-2_i386.deb
ncurses3.4_1.9.9g-1_i386.deb ncurses3.4_1.9.9g-2_i386.deb
ncurses3.4-dev_1.9.9g-1_i386.deb ncurses3.4-dev_1.9.9g-2_i386.deb
ncurses-base_1.9.9g-2_all.deb ncurses-bin_1.9.9g-2_i386.deb
procps_1.12.1_i386.deb slang0.99.34_0.99.38-2.1.deb
slang0.99.34_0.99.38-2.4_i386.deb slang0.99.34-dev_0.99.38-2.1.deb
svgatextmode_1.5-1_i386.deb

The bash install failed because I didn't have libreadlineg2 installed. Then
at some point in the middle (can't more precise, I can't scroll back far
enough) all the prerm's started dumping core when invoked.

Here's the current state of my system:

sysadmin@pianocktail:[~chrish/deb] #dpkg --audit
The following packages are in a mess due to serious problems during
installation.  They must be reinstalled for them (and any packages
that depend on them) to function properly:
 metamail             An implementation of MIME.
 mount                Tools for mounting and manipulating filesystems.

The following packages have been unpacked but not yet configured.
They must be configured using dpkg --configure or the configure
menu option in dselect for them to work:
 ncurses3.4-dev       Video terminal manipulation - Developer's libraries and d
 slang0.99.34-dev     A C programming library for user interfaces - development
 libgdbm1             GNU dbm database routines (runtime version). [libc5 compa
 libc5                The Linux C library version 5 (run-time libraries).
 libgdbmg1-dev        GNU dbm database routines (development files) [libc6 vers
 gdb                  The GNU Debugger
 lftp                 Sophisticated command-line FTP client programs
 bash-builtins        Bash loadable builtins - headers & examples
 libreadlineg2        GNU readline and history libraries, run-time libraries. [
 libreadline2         GNU readline and history libraries, run-time libraries. [
 chimera2             Web browser for X

The following packages are only half configured, probably due to problems
configuring them the first time.  The configuration should be retried using
dpkg --configure <package> or the configure menu option in dselect:
 inform               A compiler for adventure games.
 ncurses3.0           Old libc5 curses - shared libraries
 ncurses3.4           Video terminal manipulation - shared libraries
 inform-docs          Supplementary documentation for inform
 slang0.99.34         A C programming library for user interfaces - shared libr
 ching                I Ching hexagram/fortune generator
 libgdbmg1            GNU dbm database routines (runtime version). [libc6 versi

Here's some version information (my machine is tracking unstable fairly
closely):

chrish@pianocktail:[~/deb] >dpkg -l bash libc5 libc6 ldso libreadline2 libreadlineg2 ncurses3.0 ncurses3.4 libgdbm1 libgdbmg1
Desired=Unknown/Install/Remove/Purge
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name            Version        Description
+++-===============-==============-============================================
ii  bash            2.0-3          The GNU Bourne Again SHell
iU  libc5           5.4.33-5       The Linux C library version 5 (run-time libr
ii  libc6           2.0.4-1        The GNU C library version 2 (run-time files)
ii  ldso            1.9.2-2        The Linux dynamic linker, library and utilit
iU  libreadline2    2.1-2.1        GNU readline and history libraries, run-time
iU  libreadlineg2   2.1-2.1        GNU readline and history libraries, run-time
iF  ncurses3.0      1.9.9e-2       Old libc5 curses - shared libraries
iF  ncurses3.4      1.9.9g-2       Video terminal manipulation - shared librari
iU  libgdbm1        1.7.3-22       GNU dbm database routines (runtime version).
iF  libgdbmg1       1.7.3-22       GNU dbm database routines (runtime version).

Here's some info about the bash problem:

chrish@pianocktail:[~/deb] >ldd /bin/bash
        libreadline.so.2 => /lib/libreadline.so.2 (0x4000b000)
        libncurses.so.3.0 => /lib/libncurses.so.3.0 (0x4002c000)
        libdl.so.1 => /lib/libdl.so.1 (0x40068000)
        libc.so.5 => /lib/libc.so.5 (0x4006b000)
        libc.so.6 => /lib/libc.so.6 (0x40127000)
        ld-linux.so.2 => /lib/ld-linux.so.2 (0x401c5000)
        libncurses.so.3.4 => /lib/libncurses.so.3.4 (0x401d1000)

[Isn't that odd? Two ncurses' and two libc's?]

And strace /bin/bash says:

execve("/bin/bash", ["/bin/bash"], [/* 37 vars */]) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000
mprotect(0x40000000, 20500, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x8048000, 303753, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=10190, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY)      = 3
mmap(0, 10190, PROT_READ, MAP_SHARED, 3, 0) = 0x40008000
close(3)                                = 0
stat("/etc/ld.so.preload", 0xbffff9dc)  = -1 ENOENT (No such file or directory)
open("/lib/libreadline.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 135168, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000b000
mmap(0x4000b000, 113264, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x4000b000
mmap(0x40027000, 16648, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1b000) = 0x40027000
close(3)                                = 0
mprotect(0x4000b000, 113264, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
open("/lib/libncurses.so.3.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 245760, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4002c000
mmap(0x4002c000, 193514, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x4002c000
mmap(0x4005c000, 30072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2f000) = 0x4005c000
mmap(0x40064000, 13228, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40064000
close(3)                                = 0
mprotect(0x4002c000, 193514, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
open("/lib/libdl.so.1", O_RDONLY)       = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 12288, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40068000
mmap(0x40068000, 4186, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x40068000
mmap(0x4006a000, 364, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x4006a000
close(3)                                = 0
mprotect(0x40068000, 4186, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
open("/lib/libc.so.5", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 770048, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4006b000
mmap(0x4006b000, 536575, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x4006b000
mmap(0x400ef000, 20140, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x83000) = 0x400ef000
mmap(0x400f4000, 208336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400f4000
close(3)                                = 0
mprotect(0x4006b000, 536575, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
open("/usr/lib/libc.so.6", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 647168, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40127000
mmap(0x40127000, 580019, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x40127000
mmap(0x401b5000, 16364, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x8d000) = 0x401b5000
mmap(0x401b9000, 48816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401b9000
close(3)                                = 0
mprotect(0x40127000, 580019, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
open("/lib/ld-linux.so.2", O_RDONLY)    = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 49152, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x401c5000
mmap(0x401c5000, 39152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x401c5000
mmap(0x401cf000, 3720, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x9000) = 0x401cf000
mmap(0x401d0000, 696, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401d0000
close(3)                                = 0
mprotect(0x401c5000, 39152, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
open("/lib/libncurses.so.3.4", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 282624, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x401d1000
mmap(0x401d1000, 207672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x401d1000
mmap(0x40204000, 32420, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x32000) = 0x40204000
mmap(0x4020c000, 37952, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4020c000
close(3)                                = 0
mprotect(0x401d1000, 207672, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
munmap(0x40008000, 10190)               = 0
mprotect(0x8048000, 303753, PROT_READ|PROT_EXEC) = 0
mprotect(0x4000b000, 113264, PROT_READ|PROT_EXEC) = 0
mprotect(0x4002c000, 193514, PROT_READ|PROT_EXEC) = 0
mprotect(0x40068000, 4186, PROT_READ|PROT_EXEC) = 0
mprotect(0x4006b000, 536575, PROT_READ|PROT_EXEC) = 0
mprotect(0x40127000, 580019, PROT_READ|PROT_EXEC) = 0
mprotect(0x401c5000, 39152, PROT_READ|PROT_EXEC) = 0
mprotect(0x401d1000, 207672, PROT_READ|PROT_EXEC) = 0
mprotect(0x40000000, 20500, PROT_READ|PROT_EXEC) = 0
geteuid()                               = 501
getuid()                                = 501
getgid()                                = 100
getegid()                               = 100
getpid()                                = 5564
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++

That's all I can think of... I'll be back once my system is in working
order again.

  Christian


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: