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