Bug 456983 - fingerprinting has gone from bad to AIYEEEEE
Summary: fingerprinting has gone from bad to AIYEEEEE
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: rawhide
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Panu Matilainen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-07-29 02:15 UTC by Bill Nottingham
Modified: 2014-03-17 03:15 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-10-28 19:43:07 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Bill Nottingham 2008-07-29 02:15:21 UTC
Description of problem:

Fingerprinting gone wild! Available now, free!

Version-Release number of selected component (if applicable):

rpm-4.5.90-0.git8426.9.x86_64

How reproducible:

Every time

Steps to Reproduce:
1. Have some kernels installed, for example:

$ rpm -q kernel-devel
kernel-devel-2.6.25.6-55.fc9.x86_64
kernel-devel-2.6.27-0.156.rc0.git4.fc10.x86_64
kernel-devel-2.6.27-0.159.rc0.git6.fc10.x86_64
kernel-devel-2.6.27-0.166.rc0.git8.fc10.x86_64

2. Attempt to upgrade kernel-devel, for example, to:

Installing:
 kernel-devel            x86_64     2.6.27-0.186.rc0.git15.fc10  rawhide       
   5.4 M
Removing:
 kernel-devel            x86_64     2.6.27-0.156.rc0.git4.fc10  installed      
   34 M

3. There is no step 3.
  
Actual results:

rpm uses all available memory, grinds the system to a halt, and then falls over
20 minutes later with a 'memory alloc (25102464 bytes) returned NULL' error.

Expected results:

Not that.

Comment 1 Panu Matilainen 2008-07-30 07:18:14 UTC
Hmm, I haven't seen any significant difference in fingerprinting (or otherwise)
memory use between 4.4.x and the new version. The fp code is untouched except
for alloca() elimination and such.

I can reproduce rpm memory use exploding on fingerprinting easily enough, but
all the cases I've seen so far explode on both 4.4.x and 4.5.90. It'd be helpful
if you can test whether rpm 4.4.x survives the same operation on same hw and
packageset so I know if I'm actually looking for a regression. 

Comment 2 Bill Nottingham 2008-07-30 14:33:20 UTC
I couldn't reproduce it in a third try, so that's going to make it difficult.


Comment 3 Jeff Johnson 2008-08-04 14:08:08 UTC
no reproducer != fixed

I can hazard a guess:

Fingerprints are heavily used when multiple kernel-devel packages are installed,
and the malloc assertion failure is dependent on retrieving reliable rpmdb
data.

There's a class of problems with __db* cache inconsistency, and NPTL locking, that have
x86_64 as the only obvious correlate (to me). E.g. see bz #455681 and a long line of other
bug reports from Orion on x86_64. The platform in this report is also "x86_64" judging
from the reported installed rpm version.

Failures with cache inconsistency are dramatically different, and with no simple reproducers, yes.

But there still appears to be a NPTL locking issue with rpmdb's on x86_64 imho.

Comment 4 Christopher D. Stover 2008-10-28 19:31:57 UTC
Have you run into this problem again Bill?

Panu, would you like this to be assigned to you to look at still or should it be closed if Bill can't recreate the problem again?

Comment 5 Bill Nottingham 2008-10-28 19:43:07 UTC
I believe this has been addressed upstream in a recent commit. I'll reopen if it comes back.

Comment 6 Jeff Johnson 2008-10-28 19:43:33 UTC
The fingerprinting issue is unlikely to be resolved by any timestamp imposed by bugzilla.

The issue is a fundamental design flaw dating back to RHL 6.0 and rpm-3.0
that is nowhere near being "fixed" anywhere.

Perhaps bugzilla is not the right place to track design flaws in rpm.

But if notting can't reproduce, the symptom was surely cured long ago.


Note You need to log in before you can comment on or make changes to this bug.