Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 7628

Summary: rpm gets into an infinite loop....
Product: [Retired] Red Hat Linux Reporter: luca.formaggia
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED WORKSFORME QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: 6.1   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 1999-12-08 17:33:42 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description luca.formaggia 1999-12-06 11:13:47 UTC
Rpm hangs and I need to stop it with kill -9.

I am sure I have done something wrong with one of the previous updates (but
I dont know what), yet I think rpm should be more 'foolproof'. Here the
lines I get when I want to upgrade a  package

rpm -Fhvv  lpr-0.46-1.i386.rpm
D: counting packages to install
D: found 1 packages
D: looking for packages to download
D: retrieved 0 packages
D: New Header signature
D: Signature size: 149
D: Signature pad : 3
D: sigsize         : 152
D: Header + Archive: 78392
D: expected size   : 78392
D: opening database mode 0x42 in //var/lib/rpm/
D: found 0 source and 1 binary packages
D:  requires: /sbin/chkconfig   satisfied by db file lists.
D:  requires: /bin/sh   satisfied by db file lists.
D:  requires: ld-linux.so.2  satisfied by db provides.
D:  requires: libc.so.6  satisfied by db provides.
D:  requires: /bin/sh  satisfied by db file lists.
D:  requires: libc.so.6(GLIBC_2.0)  satisfied by db provides.
D:  requires: libc.so.6(GLIBC_2.1)  satisfied by db provides.
D:   YES    A lpr = 0.46-1      B lpr >= 0.16
D:  requires: lpr >= 0.16 satisfied by added package.
D:   YES    A lpr = 0.46-1      B lpr >= 0.17
D:  requires: lpr >= 0.17 satisfied by added package.
D: installing binary packages
D: getting list of mounted filesystems
D: New Header signature
D: Signature size: 149
D: Signature pad : 3
D: sigsize         : 152
D: Header + Archive: 78392
D: expected size   : 78392
D: package: lpr-0.46-1 files test = 0
D:    file: /etc/rc.d/init.d/lpd action: create
D:    file: /etc/rc.d/rc0.d/K60lpd action: create
D:    file: /etc/rc.d/rc1.d/K60lpd action: create
D:    file: /etc/rc.d/rc2.d/S60lpd action: create
D:    file: /etc/rc.d/rc3.d/S60lpd action: create
D:    file: /etc/rc.d/rc5.d/S60lpd action: create
D:    file: /etc/rc.d/rc6.d/K60lpd action: create
D:    file: /usr/bin/lpq action: create
D:    file: /usr/bin/lpr action: create
D:    file: /usr/bin/lprm action: create
D:    file: /usr/bin/lptest action: create
D:    file: /usr/man/man1/lpq.1 action: create
D:    file: /usr/man/man1/lpr.1 action: create
D:    file: /usr/man/man1/lprm.1 action: create
D:    file: /usr/man/man1/lptest.1 action: create
D:    file: /usr/man/man5/printcap.5 action: create
D:    file: /usr/man/man8/lpc.8 action: create
D:    file: /usr/man/man8/lpd.8 action: create
D:    file: /usr/man/man8/pac.8 action: create
D:    file: /usr/sbin/lpc action: create
D:    file: /usr/sbin/lpd action: create
D:    file: /usr/sbin/lpf action: create
D:    file: /usr/sbin/pac action: create
D:    file: /var/spool/lpd action: create
D: running preinstall script (if any)
lpr
##################################################

And then nothing happens, the process eats up 90% of the CPU and runs
forever (until killed).

Comment 1 Jeff Johnson 1999-12-07 19:11:59 UTC
If you have installed rpm-3.0.4, you should go back to the production
rpm-3.0.3 release (unless you wish to help fix problems like this).

------- Email Received From  Luca Formaggia <Luca.Formaggia@epfl.ch> 12/08/99 04:36 -------

Comment 2 Jeff Johnson 1999-12-08 11:16:59 UTC
Ah, that's a horse of a different color :-)

Instead of doing
	rpm -Fhvv  lpr-0.46-1.i386.rpm
try
	rpm -Uhvv  lpr-0.46-1.i386.rpm
Upgrading, rather than "freshening", will be simpler to debug.

Prefix the rpm command with "strace -o /tmp/xxx" and use ^C to stop after
a minute or two in order to see what rpm is looping on. If the file /tmp/xxx
contains a loop consisting of a sequence of lseek, read, read, then this
is a rpm database problem that will be fixed by doing "rpm --rebuilddb".

Otherwise, send me (jbj@redhat.com) the strace output and I'll try to figure
out what's happening.

------- Email From  Luca Formaggia <Luca.Formaggia@epfl.ch> 12/08/99 12:30 -------
Attached to Bug # 7628.