rpm-4.5-69.i686 crash on Qt upgrade

Jeffrey Johnson n3npq at me.com
Tue Oct 2 19:20:33 CEST 2012


On Oct 2, 2012, at 1:10 PM, Jan Rękorajski <baggins at pld-linux.org> wrote:

> On Tue, 02 Oct 2012, Jeffrey Johnson wrote:
> 
>> Then examine all the data that is in the rpm header, looking for
>> a file digest that has an odd (as in 1, 3, 5, …) no. of hex digits
>> in the string.
>> 
>> If the assert failure is happening only sometimes, then the
>> root cause, not just the assert failure symptom, needs to
>> be identified.
>> 
>> WYSIWYG
>> 	rpm -qp --yaml foo*.rpm
>> 
> 
> Diff between package built with rpm-4.5 and rpm5:
> 
> --- QtXmlPatterns-4.8.2-8.x86_64.rpm.yaml	2012-10-02 18:58:09.785203104 +0200
> +++ QtXmlPatterns-4.8.3-6.x86_64.rpm.yaml	2012-10-02 18:58:09.805203104 +0200
> @@ -53,14 +69,14 @@
>   Filedigests:
>     - ~
>     - ~
>     - ~
> -    - ca8235752f514d51cf0ffeb9e341ec9d
> -    - b35726f465b533a4406165d9e524d5bf
> -    - 829fb2332a1dd35094a626c5610f3f74
> +    - 46b61400c99701b4c11d11d910e028bbdator
> +    - 53d8d681212d8e71bba13fe28b7a6faadator
> +    - f5ca838ce74266d1803ee0659572e884dator
>   Filelinktos:
>     - ../lib64/qt4/bin/xmlpatternsvalidator
> -    - libQtXmlPatterns.so.4.8.2
> -    - libQtXmlPatterns.so.4.8.2
> +    - libQtXmlPatterns.so.4.8.3
> +    - libQtXmlPatterns.so.4.8.3
>     - ~
>     - ~
>     - ~
> 
> Looks like buffer error.

Looks like a missing \0 being added on some (but not all)
code paths.

Running valgrind is worth doing to see if there is
anything wildly amiss: but I don't expect valgrind
to be able to spot the missing \0 because of buffer reuse
on the stack.

There's something screwy on this package that is triggering
the flaw (or all packages would be affected equally).

Can you spot the root cause in the QtXmlPatterns.spec syntax?
If I have some hint what the trigger is, I can likely find/fix
the problem very quickly.

>> 
>> What solution is possible if no code can be changed? Dropping the
>> Filedigests index is a C-O-N-F-I-G-U-R-A-T-I-O-N change btw.
> 
> The solution is to fix the buffer error which effects can be seen above.
> 

Absolutely: meanwhile the assert failure can be avoided by
not generating the Filedigests index.

>>> BTW what's going on with rpm5.org? I can't connect to it from anywhere.
>> 
>> Yep @rpm5.org http is busted atm, maybe forever.
> 
> Awww :(
> What is the current place of rpm5 now in that case?
> 

Same place as always, just busted (and I have other more
important tasks to accomplish) atm.

73 de Jeff
> -- 
> Jan Rękorajski                                 | PLD/Linux
> SysAdm                                         | http://www.pld-linux.org/
> baggins<at>mimuw.edu.pl
> baggins<at>pld-linux.org
> _______________________________________________
> pld-devel-en mailing list
> pld-devel-en at lists.pld-linux.org
> http://lists.pld-linux.org/mailman/listinfo/pld-devel-en



More information about the pld-devel-en mailing list