On Feb 1, 2011, at 8:14 AM, Silvan Calarco wrote:

> On Wednesday 19 January 2011 03:40:07 Jeff Johnson wrote:
>> 260:lxde-icon-theme       
>>> ########################################### [ 87%] rpm: header.c:1044:
>>> headerLoad: Assertion `(rpmint32_t)rdl >= 0' failed.
>> 
>> This is the code from rpmdb/header.c:
>> 
>> ...
>>                rpmuint32_t * stei = memcpy(alloca(nb), dataStart + off,
>> nb); rdl = (rpmuint32_t)-ntohl(stei[2]);     /* negative offset */
>> assert((rpmint32_t)rdl >= 0);   /* XXX insurance */
>>                ril = (rpmuint32_t)(rdl/sizeof(*pe));
>> ...
>> 
>> The assertion is a check on the Header format. The value is ALWAYS a
>> negative 32bit integer, in fact this is just about the only usage case
>> remaining for a signed integer anything in *.rpm format/content.
>> 
>> If you send along some more details, I'll sort the issue out. RPM hasn't
>> been used on ARM recently or frequently enough to know anything for sure.
> 
> Hi,
> it's time for me to fix this problem but I think I don't have the necessary 
> knowledge of the data structures implied.
> BTW i've added a printf to produce debug information like that (I can also 
> print other information if needed):
> 
> ...
>                rpmuint32_t * stei = memcpy(alloca(nb), dataStart + off, nb);
>                rdl = (rpmuint32_t)-ntohl(stei[2]);     /* negative offset */
> printf("rdl=%d\n",rdl);
> assert((rpmint32_t)rdl >= 0);   /* XXX insurance */
>                ril = (rpmuint32_t)(rdl/sizeof(*pe));
> ...
> 

Yes, that's the start of the diagnosis.

> This is the output:
> 
> 199:lrzsz                  ########################################### [ 82%]
> rdl=80
> rdl=992
> 200:openmamba-devel        ########################################### [ 82%]
> rdl=80
> rdl=992
> 201:mobile-broadband-provid########################################### [ 82%]
> rdl=80
> rdl=928
> 202:lxde-icon-theme        ########################################### [ 83%]
> rdl=112
> rdl=800
> rdl=-1869575168
> rpm: header.c:1045: headerLoad: Assertion `(rpmint32_t)rdl >= 0' failed.
> ./functions.inc.sh: line 320: 15601 Abortito                
> LANG=${LANGUAGE}_${COUNTRY}.UTF-8 $RPM --ignorearch -r $MOUNTDIR -hiv --
> replacepkgs $rpmextraargs $2 $TOINSTALL_RPMS
> makedist.sh: fatal error, aborting installation
> makedist.sh: exit code was: 134
> 
> As you can notice the singular thing is that rdl is printed three times 
> instead of two only when the failure occours. I can sent the whole 
> installation log if needed.

Its not the 3 times per se but rather the negative number that triggers the 
issue.

But the 3 might be relevant as well.

> 
> As said, installing the package alone does not produce the error and this is 
> the output:
> 
> $ sudo rpm -r /var/makedist/root.tmp -i 
> /var/ftp/pub/openmamba/devel/RPMS.arm/lxde-icon-theme-0.0.1-3mamba.arm.rpm 
> rdl=80
> rdl=928
> error: LOOP:
> error: removing lxde-icon-theme-0.0.1-3mamba.arm "Requires: 
> /usr/share/doc/lxde-icon-theme-0.0.1" from tsort relations.
> rdl=80
> rdl=928
> 

If the package installed alone doesn't reproduce that starts to hint
that the issue is specific to that set of packages.

You might try running valgrind to ensure that all memory accesses are sane.

Another thing to try is to bisect on the 200+ packages being installed to
see if the context can be simplified somehow.

> Thanks for any kind of help...
> 

I have openmamba-livedvd-en-snapshot-20110119.i586.iso downloaded
and headed for installation into a VMFusion VM.

Is that DVD the right starting point to try to reproduce the problem?

73 de Jeff
> Regards,
> Silvan
> 
> -- 
> mambaSoft di Calarco Silvan
> Web: http://www.mambasoft.it
> 
> mambaSoft Store @ http://www.mambastore.it
> openmamba GNU/Linux development @ http://www.openmamba.org
> ______________________________________________________________________
> RPM Package Manager                                    http://rpm5.org
> Developer Communication List                        rpm-devel@rpm5.org

______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
Developer Communication List                        rpm-devel@rpm5.org

Reply via email to