Ever since I upgraded rpm itself to rpm-4.0-31mdk, querries work fine
but any attempt to install/upgrade a package is met with a core dump.
Has anyone else seen this behavior? As an aside, how does one fix things
when rpm itself breaks?
# rpm -q rpm popt perl
rpm-4.0-31mdk
popt-1.6-31mdk
perl-5.600-30mdk
# rpm -i /tmp/plugger-3.2-7mdk.i586.rpm
Segmentation fault (core dumped)
# gdb rpm core
GNU gdb 5.0mdk-11mdk Linux-Mandrake 8.0
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "i386-mandrake-linux"...
(no debugging symbols found)...
Core was generated by `rpm -i /tmp/plugger-3.2-7mdk.i586.rpm'.
Program terminated with signal 11, Segmentation fault.
#0 0x081276a1 in ?? ()
(gdb) where
#0 0x081276a1 in ?? ()
#1 0x08070433 in ?? ()
#2 0x73656761 in ?? ()
Cannot access memory at address 0x6b636150
(gdb)
I've attached an strace of rpm up until it core dumps.
execve("/bin/rpm", ["rpm", "-i", "/tmp/plugger-3.2-7mdk.i586.rpm"], [/* 39 vars */]) = 0
shmat(0, 0xbffff984, 0x1) = ?
shmat(1, 0xbffff984, 0x1) = ?
shmat(2, 0xbffff984, 0x1) = ?
uname({sys="Linux", node="server.xxx.net", ...}) = 0
semop(3, 0x20403, 0) = 0
SYS_199(0, 0, 0x81bc9e4, 0x20403, 0x3) = 0
semget(IPC_PRIVATE, 0, IPC_NOWAIT|0x81bc1e4|0644) = 0
ipc_subcall(0, 0, 0x81bc9e4, 0) = 0
brk(0) = 0x81bd824
brk(0x81bd844) = 0x81bd844
brk(0x81be000) = 0x81be000
getpid() = 21816
open("/usr/share/locale/locale.alias", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=2567, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40000000
read(4, "# Locale name alias data base.\n#"..., 4096) = 2567
brk(0x81bf000) = 0x81bf000
read(4, "", 4096) = 0
close(4) = 0
munmap(0x40000000, 4096) = 0
open("/usr/share/locale/en/LC_IDENTIFICATION", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=244, ...}) = 0
old_mmap(NULL, 244, PROT_READ, MAP_PRIVATE, 4, 0) = 0x40000000
munmap(0x40000000, 244) = 0
close(4) = 0
open("/usr/lib/rpm/rpmpopt-4.0", O_RDONLY) = 4
lseek(4, 0, SEEK_END) = 11479
lseek(4, 0, SEEK_SET) = 0
read(4, "#\n# This file *should not be mod"..., 11479) = 11479
close(4) = 0
brk(0x81c0000) = 0x81c0000
brk(0x81c1000) = 0x81c1000
open("/etc/popt", O_RDONLY) = -1 ENOENT (No such file or directory)
SYS_199(0xbffff984, 0x2, 0x81bc9e4, 0x81be790, 0x81be790) = 0
semop(0, 0x81be790, 2) = 0
open("/root/.popt", O_RDONLY) = -1 ENOENT (No such file or directory)
uname({sys="Linux", node="server.xxx.net", ...}) = 0
open("/usr/lib/rpm/rpmrc", O_RDONLY) = 4
gettimeofday({991021863, 301779}, NULL) = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=7922, ...}) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40000000
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 302989}, NULL) = 0
read(4, "# $Id: rpmrc.in,v 2.28 2000/07/0"..., 8192) = 7922
gettimeofday({991021863, 303467}, NULL) = 0
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 304034}, NULL) = 0
read(4, "", 270) = 0
gettimeofday({991021863, 304353}, NULL) = 0
gettimeofday({991021863, 304590}, NULL) = 0
close(4) = 0
gettimeofday({991021863, 304888}, NULL) = 0
gettimeofday({991021863, 305047}, NULL) = 0
gettimeofday({991021863, 305190}, NULL) = 0
munmap(0x40000000, 8192) = 0
brk(0x81c2000) = 0x81c2000
brk(0x81c3000) = 0x81c3000
brk(0x81c4000) = 0x81c4000
brk(0x81c5000) = 0x81c5000
open("/etc/rpmrc", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/root/.rpmrc", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/rpm/macros", O_RDONLY) = 4
gettimeofday({991021863, 308840}, NULL) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40000000
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 309677}, NULL) = 0
read(4, "# $Id: macros.in,v 1.66 2000/07/"..., 8192) = 8192
gettimeofday({991021863, 310183}, NULL) = 0
brk(0x81c6000) = 0x81c6000
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 315855}, NULL) = 0
read(4, "_DIR RPM_OPT_FLAGS RPM_ARCH RPM_"..., 8192) = 8192
gettimeofday({991021863, 316268}, NULL) = 0
brk(0x81c7000) = 0x81c7000
brk(0x81c8000) = 0x81c8000
brk(0x81c9000) = 0x81c9000
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 328453}, NULL) = 0
read(4, "ig.guess and config.sub.\n# "..., 8192) = 3900
gettimeofday({991021863, 328843}, NULL) = 0
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 329381}, NULL) = 0
read(4, "", 4292) = 0
gettimeofday({991021863, 329683}, NULL) = 0
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 331748}, NULL) = 0
read(4, "", 8192) = 0
gettimeofday({991021863, 332062}, NULL) = 0
gettimeofday({991021863, 332224}, NULL) = 0
close(4) = 0
gettimeofday({991021863, 332511}, NULL) = 0
gettimeofday({991021863, 332666}, NULL) = 0
gettimeofday({991021863, 332809}, NULL) = 0
munmap(0x40000000, 8192) = 0
open("/usr/lib/rpm/i686-linux/macros", O_RDONLY) = 4
gettimeofday({991021863, 333430}, NULL) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40000000
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 334223}, NULL) = 0
read(4, "# Per-platform rpm configuration"..., 8192) = 3461
gettimeofday({991021863, 334646}, NULL) = 0
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 335181}, NULL) = 0
read(4, "", 4731) = 0
gettimeofday({991021863, 335490}, NULL) = 0
brk(0x81ca000) = 0x81ca000
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 341070}, NULL) = 0
read(4, "", 8192) = 0
gettimeofday({991021863, 341377}, NULL) = 0
gettimeofday({991021863, 341538}, NULL) = 0
close(4) = 0
gettimeofday({991021863, 341822}, NULL) = 0
gettimeofday({991021863, 341975}, NULL) = 0
gettimeofday({991021863, 342117}, NULL) = 0
munmap(0x40000000, 8192) = 0
open("/etc/rpm/macros.specspo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/rpm/macros", O_RDONLY) = 4
gettimeofday({991021863, 342843}, NULL) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40000000
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 343631}, NULL) = 0
read(4, "\n\n%_install_langs en_US:en\n", 8192) = 27
gettimeofday({991021863, 344033}, NULL) = 0
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 344569}, NULL) = 0
read(4, "", 8165) = 0
gettimeofday({991021863, 344881}, NULL) = 0
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 345456}, NULL) = 0
read(4, "", 8192) = 0
gettimeofday({991021863, 345759}, NULL) = 0
gettimeofday({991021863, 345915}, NULL) = 0
close(4) = 0
gettimeofday({991021863, 346197}, NULL) = 0
gettimeofday({991021863, 346347}, NULL) = 0
gettimeofday({991021863, 346490}, NULL) = 0
munmap(0x40000000, 8192) = 0
open("/etc/rpm/i686-linux/macros", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/root/.rpmmacros", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/rpm/%{_target_platform}/macros", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/tmp/plugger-3.2-7mdk.i586.rpm", O_RDONLY) = 4
gettimeofday({991021863, 348269}, NULL) = 0
fstat64(4, {st_mode=S_IFREG|0600, st_size=24582, ...}) = 0
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 349107}, NULL) = 0
read(4, "\355\253\356\333\4\0\0\0\1\0plugger-3.2-7mdk\0\0\0\0\0"..., 96) = 96
gettimeofday({991021863, 349510}, NULL) = 0
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 350070}, NULL) = 0
read(4, "\216\255\350\1\0\0\0\0\0\0\0\3\0\0\0U", 16) = 16
gettimeofday({991021863, 350436}, NULL) = 0
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 351152}, NULL) = 0
read(4, "\0\0\3\350\0\0\0\4\0\0\0\0\0\0\0\1\0\0\3\354\0\0\0\7\0"..., 133) = 133
gettimeofday({991021863, 351621}, NULL) = 0
fstat64(4, {st_mode=S_IFREG|0600, st_size=24582, ...}) = 0
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 352484}, NULL) = 0
read(4, "\0\0\0", 3) = 3
gettimeofday({991021863, 352816}, NULL) = 0
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 353361}, NULL) = 0
read(4, "\216\255\350\1\0\0\0\0\0\0\0008\0\0\n$", 16) = 16
gettimeofday({991021863, 353733}, NULL) = 0
brk(0x81cb000) = 0x81cb000
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {1, 0})
gettimeofday({991021863, 354454}, NULL) = 0
read(4, "\0\0\0d\0\0\0\10\0\0\0\0\0\0\0\1\0\0\3\350\0\0\0\6\0\0"..., 3492) = 3492
gettimeofday({991021863, 354886}, NULL) = 0
brk(0x81cc000) = 0x81cc000
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++