On Wed, 9 Mar 2005, Damian Menscher wrote:
Questions: Why did this affect only half of my machines? How could the RPM databases have been broken? The update that seems to be killing them is less-378-7.2.legacy, which has managed to get installed even on two of the broken machines.
Finally, I know the standard thing-to-do is rm -f /var/lib/rpm/__db* and install a more recent version of rpm. But I've already got rpm-4.2-1 on these machines, so those locking issues shouldn't be causing a problem. Besides, the reboot would have done that rm -f as part of rc.sysinit.
Anyone else have this problem with this week's updates? It'd be nice to know that it's not just me.... Other suggestions also welcome.
yep, i saw segfaults and hangs with less on a few of my legacy systems. rebuilddb cleaned it all up.
Talking to others, it's clear that there's some problem with the recent "less" rpm. Here's an example:
# yum -y update Gathering header information file(s) from server(s) Server: Fedora Linux / stable for Red Hat Linux 9 (i386) Server: Macromedia Flash Player for Red Hat Linux 9 Server: Red Hat Linux 9 (i386) Server: Red Hat Linux 9 (i386) updates Finding updated packages Downloading needed headers Resolving dependencies Segmentation fault
Trying again with -d 10 it makes it further: less 100 % done 1/2 while an strace shows it's hung on: futex(0x40ec10d0, FUTEX_WAIT, 0, NULL
That was on a machine that had just finished an "rpm --rebuilddb" just to make sure there wasn't a pre-existing problem.
Another machine died also... I caught it segfaulting with the -d 10: [snip] localhdrpath= /var/cache/yum/redhat-os/headers/macutils-0-2.0b3-24.i386.hdr for macutils i386 localhdrpath= /var/cache/yum/fedora-stable/headers/netdiag-0-2.4-0.fdr.4.rh90.i386.hdr for netdiag i386 localhdrpath= /var/cache/yum/redhat-os/headers/pilot-link095-compat-1-0.9.5-22.i386.hdr for pilot-link095-compat i386 Segmentation fault
Finally, I tried (after again cleaning the rpm database): # strace yum -d 10 -y update [really huge snip] pread(6, "\0\0\0\0\1\0\0\0\373\f\0\0\372\f\0\0\374\f\0\0\1\0\346"..., 4096, 13611008) = 4096 pread(6, "\0\0\0\0\1\0\0\0\374\f\0\0\373\f\0\0\375\f\0\0\1\0\346"..., 4096, 13615104) = 4096 pread(6, "\0\0\0\0\1\0\0\0\375\f\0\0\374\f\0\0\376\f\0\0\1\0\346"..., 4096, 13619200) = 4096 pread(6, "\0\0\0\0\1\0\0\0\376\f\0\0\375\f\0\0\377\f\0\0\1\0\346"..., 4096, 13623296) = 4096 pread(6, "\0\0\0\0\1\0\0\0\377\f\0\0\376\f\0\0\0\r\0\0\1\0\346\17"..., 4096, 13627392) = 4096 pread(6, "\0\0\0\0\1\0\0\0\0\r\0\0\377\f\0\0\1\r\0\0\1\0\346\17\0"..., 4096, 13631488) = 4096 pread(6, "\0\0\0\0\1\0\0\0\1\r\0\0\0\r\0\0\2\r\0\0\1\0\346\17\0\7"..., 4096, 13635584) = 4096 pread(6, "\0\0\0\0\1\0\0\0\2\r\0\0\1\r\0\0\3\r\0\0\1\0\346\17\0\7"..., 4096, 13639680) = 4096 pread(6, "\0\0\0\0\1\0\0\0\3\r\0\0\2\r\0\0\4\r\0\0\1\0\346\17\0\7"..., 4096, 13643776) = 4096 pread(6, "\0\0\0\0\1\0\0\0\4\r\0\0\3\r\0\0\5\r\0\0\1\0\346\17\0\7"..., 4096, 13647872) = 4096 pread(6, "\0\0\0\0\1\0\0\0\5\r\0\0\4\r\0\0\6\r\0\0\1\0\346\17\0\007"..., 4096, 13651968) = 4096 pread(6, "\0\0\0\0\1\0\0\0\6\r\0\0\5\r\0\0\7\r\0\0\1\0\346\17\0\7"..., 4096, 13656064) = 4096 pread(6, "\0\0\0\0\1\0\0\0\7\r\0\0\6\r\0\0\10\r\0\0\1\0\346\17\0"..., 4096, 13660160) = 4096 pread(6, "\0\0\0\0\1\0\0\0\10\r\0\0\7\r\0\0\t\r\0\0\1\0\346\17\0"..., 4096, 13664256) = 4096 pread(6, "\0\0\0\0\1\0\0\0\t\r\0\0\10\r\0\0\n\r\0\0\1\0\346\17\0"..., 4096, 13668352) = 4096 pread(6, "\0\0\0\0\1\0\0\0\n\r\0\0\t\r\0\0\v\r\0\0\1\0\346\17\0\7"..., 4096, 13672448) = 4096 pread(6, "\0\0\0\0\1\0\0\0\v\r\0\0\n\r\0\0\f\r\0\0\1\0\346\17\0\7"..., 4096, 13676544) = 4096 pread(6, "\0\0\0\0\1\0\0\0\f\r\0\0\v\r\0\0\r\r\0\0\1\0\346\17\0\7"..., 4096, 13680640) = 4096 pread(6, "\0\0\0\0\1\0\0\0\r\r\0\0\f\r\0\0\16\r\0\0\1\0\346\17\0"..., 4096, 13684736) = 4096 pread(6, "\0\0\0\0\1\0\0\0\16\r\0\0\r\r\0\0\17\r\0\0\1\0\346\17\0"..., 4096, 13688832) = 4096 pread(6, "\0\0\0\0\1\0\0\0\17\r\0\0\16\r\0\0\20\r\0\0\1\0\346\17"..., 4096, 13692928) = 4096 pread(6, "\0\0\0\0\1\0\0\0\20\r\0\0\17\r\0\0\21\r\0\0\1\0\346\17"..., 4096, 13697024) = 4096 pread(6, "\0\0\0\0\1\0\0\0\21\r\0\0\20\r\0\0\22\r\0\0\1\0\346\17"..., 4096, 13701120) = 4096 pread(6, "\0\0\0\0\1\0\0\0\22\r\0\0\21\r\0\0\23\r\0\0\1\0\346\17"..., 4096, 13705216) = 4096 pread(6, "\0\0\0\0\1\0\0\0\23\r\0\0\22\r\0\0\0\0\0\0\1\0\220\5\0"..., 4096, 13709312) = 4096 mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x41099000 munmap(0x41099000, 262144) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [33], 8) = 0 rt_sigprocmask(SIG_SETMASK, [33], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [33], 8) = 0 rt_sigprocmask(SIG_SETMASK, [33], NULL, 8) = 0 getgid32() = 0 getuid32() = 0 stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64("/var/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64("/var/lib/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64("/var/lib/rpm", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 access("/var/lib/rpm", W_OK) = 0 access("/var/lib/rpm/__db.001", F_OK) = 0 access("/var/lib/rpm/Requirename", F_OK) = 0 stat64("/var/lib/rpm/Requirename", {st_mode=S_IFREG|0644, st_size=225280, ...}) = 0 open("/var/lib/rpm/Requirename", O_RDONLY|O_LARGEFILE) = 12 fcntl64(12, F_SETFD, FD_CLOEXEC) = 0 read(12, "\0\0\0\0\1\0\0\0\0\0\0\0a\25\6\0\10\0\0\0\0\20\0\0\0\10"..., 512) = 512 close(12) = 0 open("/var/lib/rpm/Requirename", O_RDONLY|O_LARGEFILE) = 12 fcntl64(12, F_SETFD, FD_CLOEXEC) = 0 fstat64(12, {st_mode=S_IFREG|0644, st_size=225280, ...}) = 0 pread(12, "\0\0\0\0\1\0\0\0\0\0\0\0a\25\6\0\10\0\0\0\0\20\0\0\0\10"..., 4096, 0) = 4096 pread(12, "\0\0\0\0\1\0\0\0\35\0\0\0\0\0\0\0\0\0\0\0j\0R\4\0\2\373"..., 4096, 118784) = 4096 pread(6, "\0\0\0\0\1\0\0\0\363\1\0\0\0\0\0\0\364\1\0\0\1\0\346\17"..., 4096, 2043904) = 4096 pread(6, "\0\0\0\0\1\0\0\0\364\1\0\0\363\1\0\0\365\1\0\0\1\0\346"..., 4096, 2048000) = 4096 pread(6, "\0\0\0\0\1\0\0\0\365\1\0\0\364\1\0\0\366\1\0\0\1\0\346"..., 4096, 2052096) = 4096 pread(6, "\0\0\0\0\1\0\0\0\367\1\0\0\366\1\0\0\370\1\0\0\1\0\346"..., 4096, 2060288) = 4096 pread(6, "\0\0\0\0\1\0\0\0\370\1\0\0\367\1\0\0\371\1\0\0\1\0\346"..., 4096, 2064384) = 4096 pread(6, "\0\0\0\0\1\0\0\0\371\1\0\0\370\1\0\0\372\1\0\0\1\0\346"..., 4096, 2068480) = 4096 pread(6, "\0\0\0\0\1\0\0\0\372\1\0\0\371\1\0\0\373\1\0\0\1\0\346"..., 4096, 2072576) = 4096 pread(6, "\0\0\0\0\1\0\0\0\373\1\0\0\372\1\0\0\374\1\0\0\1\0\346"..., 4096, 2076672) = 4096 pread(6, "\0\0\0\0\1\0\0\0\374\1\0\0\373\1\0\0\375\1\0\0\1\0\346"..., 4096, 2080768) = 4096 pread(6, "\0\0\0\0\1\0\0\0\375\1\0\0\374\1\0\0\376\1\0\0\1\0\346"..., 4096, 2084864) = 4096 pread(6, "\0\0\0\0\1\0\0\0\376\1\0\0\375\1\0\0\377\1\0\0\1\0\346"..., 4096, 2088960) = 4096 pread(6, "\0\0\0\0\1\0\0\0\377\1\0\0\376\1\0\0\0\2\0\0\1\0\346\17"..., 4096, 2093056) = 4096 pread(6, "\0\0\0\0\1\0\0\0\0\2\0\0\377\1\0\0\1\2\0\0\1\0\346\17\0"..., 4096, 2097152) = 4096 pread(6, "\0\0\0\0\1\0\0\0\1\2\0\0\0\2\0\0\2\2\0\0\1\0\346\17\0\7"..., 4096, 2101248) = 4096 pread(6, "\0\0\0\0\1\0\0\0\2\2\0\0\1\2\0\0\3\2\0\0\1\0\346\17\0\7"..., 4096, 2105344) = 4096 pread(6, "\0\0\0\0\1\0\0\0\3\2\0\0\2\2\0\0\4\2\0\0\1\0\346\17\0\7"..., 4096, 2109440) = 4096 pread(6, "\0\0\0\0\1\0\0\0\4\2\0\0\3\2\0\0\5\2\0\0\1\0\346\17\0\7"..., 4096, 2113536) = 4096 pread(6, "\0\0\0\0\1\0\0\0\5\2\0\0\4\2\0\0\6\2\0\0\1\0\346\17\0\7"..., 4096, 2117632) = 4096 pread(6, "\0\0\0\0\1\0\0\0\6\2\0\0\5\2\0\0\7\2\0\0\1\0\346\17\0\7"..., 4096, 2121728) = 4096 pread(6, "\0\0\0\0\1\0\0\0\7\2\0\0\6\2\0\0\10\2\0\0\1\0\346\17\0"..., 4096, 2125824) = 4096 pread(6, "\0\0\0\0\1\0\0\0\10\2\0\0\7\2\0\0\t\2\0\0\1\0\346\17\0"..., 4096, 2129920) = 4096 pread(6, "\0\0\0\0\1\0\0\0\t\2\0\0\10\2\0\0\n\2\0\0\1\0\346\17\0"..., 4096, 2134016) = 4096 pread(6, "\0\0\0\0\1\0\0\0\n\2\0\0\t\2\0\0\v\2\0\0\1\0\346\17\0\7"..., 4096, 2138112) = 4096 pread(6, "\0\0\0\0\1\0\0\0\v\2\0\0\n\2\0\0\f\2\0\0\1\0\346\17\0\7"..., 4096, 2142208) = 4096 pread(6, "\0\0\0\0\1\0\0\0\f\2\0\0\v\2\0\0\r\2\0\0\1\0\346\17\0\7"..., 4096, 2146304) = 4096 pread(6, "\0\0\0\0\1\0\0\0\r\2\0\0\f\2\0\0\16\2\0\0\1\0\346\17\0"..., 4096, 2150400) = 4096 pread(6, "\0\0\0\0\1\0\0\0\16\2\0\0\r\2\0\0\17\2\0\0\1\0\346\17\0"..., 4096, 2154496) = 4096 pread(6, "\0\0\0\0\1\0\0\0\17\2\0\0\16\2\0\0\20\2\0\0\1\0\346\17"..., 4096, 2158592) = 4096 pread(6, "\0\0\0\0\1\0\0\0\20\2\0\0\17\2\0\0\21\2\0\0\1\0\346\17"..., 4096, 2162688) = 4096 pread(6, "\0\0\0\0\1\0\0\0\21\2\0\0\20\2\0\0\22\2\0\0\1\0\346\17"..., 4096, 2166784) = 4096 pread(6, "\0\0\0\0\1\0\0\0\22\2\0\0\21\2\0\0\23\2\0\0\1\0\346\17"..., 4096, 2170880) = 4096 pread(6, "\0\0\0\0\1\0\0\0\23\2\0\0\22\2\0\0\0\0\0\0\1\0\200\n\0"..., 4096, 2174976) = 4096 mmap2(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x41099000 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++
My machines are all running kernel-smp-2.4.20-42.9.legacy with yum-2.0.4-2 and rpm-4.2-1. Has anyone seen this on a NON-smp machine? Or with yum-2.0.5? I'm hoping to narrow down the bug a bit further.
Damian Menscher -- -=#| Physics Grad Student & SysAdmin @ U Illinois Urbana-Champaign |#=- -=#| 488 LLP, 1110 W. Green St, Urbana, IL 61801 Ofc:(217)333-0038 |#=- -=#| 4602 Beckman, VMIL/MS, Imaging Technology Group:(217)244-3074 |#=- -=#| <menscher@xxxxxxxx> www.uiuc.edu/~menscher/ Fax:(217)333-9819 |#=- -=#| The above opinions are not necessarily those of my employers. |#=-
-- fedora-legacy-list@xxxxxxxxxx http://www.redhat.com/mailman/listinfo/fedora-legacy-list