RPM Community Forums

Mailing List Message of <rpm-devel>

Re: rpm 5.1 segfaults

From: Jeff Johnson <n3npq@mac.com>
Date: Tue 15 Apr 2008 - 00:40:48 CEST
Message-Id: <FD4B4446-D908-415C-BB1E-E2DDFED77F3F@mac.com>

On Apr 14, 2008, at 3:34 PM, Per Øyvind Karlsen wrote:

> På Mandag 14 april 2008 , 19:52:30 skrev Per Øyvind Karlsen:
>> På Mandag 14 april 2008 , 18:50:07 skrev Per Øyvind Karlsen:
>>> See attachment for more info, reproducer found at
>>> ftp://ftp.uninett.no/pub/linux/MandrivaLinux/devel/cooker/x86_64/ 
>>> media/ma
>>> in /release/ .
>>
>> updated running with --rpmdsdebug
>
> grf, here's the correct one
>

Um, how was the drakxtools-curses-10.29-1mdv2008.1.x86_64.rpm
package produced?

Every modern version of rpm attempts to insure that dependencies
are pre-sorted so that binary, rather than linear, search can be used.

Now I find that one of the packages in your segfault has unsorted  
requires:

$ rpm -qp --requires drakxtools-curses-10.29-1mdv2008.1.x86_64.rpm
warning: drakxtools-curses-10.29-1mdv2008.1.x86_64.rpm: Header V3 DSA  
signature: NOKEY, key ID 26752624
perl-base >= 2:5.8.6-1mdk
urpmi >= 4.8.23
usermode-consoleonly >= 1.44-4mdk
perl-Locale-gettext >= 1.05-4mdv2007
module-init-tools
drakxtools-backend = 10.29-1mdv2008.1
drakx-net-text
rpmlib(VersionedDependencies) <= 3.0.3-1
/bin/sh
/bin/sh
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
perl-base
perl(Config)
perl(Curses::UI)
perl(Libconf)
perl(Libconf::Glueconf::NUT::Ups_conf)
perl(POSIX)

$ rpm -qp --qf '%{RPMVERSION}' drakxtools- 
curses-10.29-1mdv2008.1.x86_64.rpm
warning: drakxtools-curses-10.29-1mdv2008.1.x86_64.rpm: Header V3 DSA  
signature: NOKEY, key ID 26752624
4.4.2.3-rc1

I'm not at all surprised that rpm-5.1 has unusual behavior with this  
package, including segfaults,
when fed something that claims to be an rpm package but isn't.

Sure I can explicitly add checks to verify if data is sorted. That kinda
misses the point. Linearly searching unsorted data is S-L-O-O-O-O-W,
and adding a sort when loading data has never been necessary in rpm  
before now,
and a sort while loading dependency sets is implemented in no rpm  
version that I'm aware of.

73 de Jeff
Received on Tue Apr 15 00:41:37 2008
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.