Zwis rpma na weryfikacji pakietu ntpd

Adam Osuchowski adwol at zonk.pl
Tue Oct 16 21:58:02 CEST 2012


Trochę dziwna sprawa, ale po rpmie 5 już wszystkiego się mogę spodziewać.

rpm zwisa na weryfikacji pakietu ntpd-4.2.6p5-5. Po wydaniu komendy
`rpm -V ntpd' w środku operacji, po wypisaniu niezgodności md5ek kilku
plików (niezależny problem, patrz inny wątek) proces zawisa i zeżera
całego procka. Strace pokazuje, że kręci się w kółko w syscallach
około-mmapowych:

1587  mremap(0x2d382925000, 135168, 4096, MREMAP_MAYMOVE) = 0x2d382925000
1587  munmap(0x2d382925000, 4096)       = 0
1587  mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2d382925000
1587  mremap(0x2d382925000, 135168, 4096, MREMAP_MAYMOVE) = 0x2d382925000
1587  munmap(0x2d382925000, 4096)       = 0
1587  mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2d382925000
1587  mremap(0x2d382925000, 135168, 4096, MREMAP_MAYMOVE) = 0x2d382925000
1587  munmap(0x2d382925000, 4096)       = 0
1587  mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2d382925000
1587  mremap(0x2d382925000, 135168, 4096, MREMAP_MAYMOVE) = 0x2d382925000
1587  munmap(0x2d382925000, 4096)       = 0
1587  mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2d382925000

Problem zaobserowałem wyłącznie na pakiecie ntpd i jak na razie na żadnym
innym (co nie znaczy, że nie występuje na innych). Nawet na innych pakietach
budowanych z tego samego speca (np. ntpdate) jest wszystko ok. Lokalne
przebudowanie pakietu też nie pomaga. Problem występuje nawet przy
weryfikacji paczki z pliku (rpm -Vp ~/rpm/RPMS/ntpd-4.2.6p5-5.x86_64.rpm).

Inne operacje jak np. listowanie zawartości pakietu ntpd przechodzą bez
problemów. Działa nawet jego odinstalowanie, ale ponowna próba instalacji
też powoduje podobny zwis (proponuję nie odinstalowywać na produkcyjnych
systemach bo się nie da ponownie zainstalować).

`/usr/lib/rpm/bin/dbconvert --rebuilddb' i `db5.3_recover -ev' nic nie
zmieniają, jakby się kto pytał.

Jest to powtarzalne na kilku moich niezależnych instalacjach, bez różnicy
czy odpalane z roota czy ze zwykłego usera i występuje zarówno na x86 jak
i x86-64. Czy ktoś może to potwierdzić (kolejny bug w rpmie?) i ew.
spróbować coś więcej zdiagnozować?


More information about the pld-devel-pl mailing list