rpm-4.5-69.i686 crash on Qt upgrade

Jan Rękorajski baggins at pld-linux.org
Tue Oct 2 19:51:28 CEST 2012


On Tue, 02 Oct 2012, Jeffrey Johnson wrote:

> 
> 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.

That package is built from the, quite large, qt4.spec so it's hard to
spot anything there :(
Maybe %files will give a hint?

%define         _qtdir          %{_libdir}/qt4

%files -n QtXmlPatterns
%defattr(644,root,root,755)
%attr(755,root,root) %{_qtdir}/bin/xmlpatterns
%attr(755,root,root) %{_qtdir}/bin/xmlpatternsvalidator
%attr(755,root,root) %{_bindir}/xmlpatternsvalidator
%attr(755,root,root) %{_libdir}/libQtXmlPatterns.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libQtXmlPatterns.so.4

-- 
Jan Rękorajski                                 | PLD/Linux
SysAdm                                         | http://www.pld-linux.org/
baggins<at>mimuw.edu.pl
baggins<at>pld-linux.org


More information about the pld-devel-en mailing list