[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [muon] [Bug 327544] Software updater crashed when I clicked the tray icon
From:       Harald Sitter <sitter () kde ! org>
Date:       2014-01-31 18:39:04
Message-ID: bug-327544-17878-oT0HaSTRg8 () http ! bugs ! kde ! org/
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=327544

Harald Sitter <sitter@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|CONFIRMED                   |ASSIGNED
           Assignee|echidnaman@kubuntu.org      |aleixpol@kde.org

--- Comment #42 from Harald Sitter <sitter@kde.org> ---
Thanks guys, I found the issue. 

To work around the issue you can use the following command or wait for Muon
2.1.3, which will be available in about 7 days:
sudo apt-get dist-upgrade


Analysis
=======
upgrades from nvidia-331.20 on xorgedgers will pull in bumblebee, bumblebee
depends on primus depends on libprimus-libs-ia32:i386. However muon-updater
cannot resolve libpriums-libs-ia32 because of the architecture difference.

In particular QApt::Package::isMultiArchDuplicate() apparently yields the wrong
value. This is supposedly because it uses 
> d->packageIter.Group().FindPkg() 
rather than
> d->packageIter.Group().FindPreferredPkg()
which would yield the correct result. The function comments that it attempts to
check whether /this/ is the best possible version of a multiarch package, which
appears to not be what FindPkg is doing, rather it is checking whether it is
the host architectures' duplicate package (i.e. in order to have the function
return false the package needs to be :amd64 when running amd64...). However
primus-libs-ia32 has no actual native version, there only is the i386 version,
so isMultiArchDuplicate leads to it being discarded even tough it is the
preferred package, or rather it is the only possible package.

Recommendation solution
a) use FindPreferredPkg inside isMultiArchDuplicate
b) kDebug() when a package is being discarded be it because of duplicatedness
or other factors, to improve debugability of similar issues
c) evaluate whether discarding packages based on duplicatedness is even an
acceptable thing to do in the update/upgrade use case

Also there's other weirdness with the updater exposed by this particular
package lineup, needs separate investigation and doesn't seem related to the
bug at hand though.

-- 
You are receiving this mail because:
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic