% rpm -qf /usr/lib/rpm/perl.req rpm-build-4.1-1.06 Segmentation fault (core dumped) (gdb) run -q --file /usr/lib/rpm/perl.req Starting program: /usr/lib/rpm/rpmq -q --file /usr/lib/rpm/perl.req [New Thread 8192 (LWP 17771)] rpm-build-4.1-1.06 Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 8192 (LWP 17771)] 0x42074005 in _int_free () from /lib/i686/libc.so.6 (gdb) bt #0 0x42074005 in _int_free () from /lib/i686/libc.so.6 #1 0x42074a2c in free () from /lib/i686/libc.so.6 #2 0x400bde54 in db3Free () from /usr/lib/librpmdb-4.1.so #3 0x400cf63a in db3close () from /usr/lib/librpmdb-4.1.so #4 0x400c7c84 in rpmdbClose () from /usr/lib/librpmdb-4.1.so #5 0x40087e78 in rpmtsCloseDB () from /usr/lib/librpm-4.1.so #6 0x40088f42 in rpmtsFree () from /usr/lib/librpm-4.1.so #7 0x08049708 in main () #8 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6 % rpm -q rpm glibc rpm-4.1-1.06 glibc-2.2.93-5 P.S. Reproducible 100%.
What happens if you do --rebuilddb?
Hm, somehow never though of that. --rebuilddb indeed made this go away, although it's still not clear what caused it in the first place. This system was upgraded from 7.2 to 8.0 (using the anaconda installer).
I can't tell what caused the problem either. I can say that, for packages that have header-only signatures, segfaults due to bad data retrieved should be a thing of the past.