[ubuntu-dev] Bug#717858: gdebi-core: gdebi-gtk/kde crashes if the package is already installed for another architecture
Francois Gouget
fgouget at free.fr
Thu Jul 25 17:38:48 UTC 2013
Package: gdebi-core
Version: 0.9
Severity: normal
Dear Maintainer,
Here is how to reproduce this bug:
* Download http://fgouget.free.fr/bugs/testdep.tar.bz2
This is a small archive that contains a set of test, empty, Debian
package files along with their source.
(run ./build to rebuild them)
* Assuming you have a 64-bit system, install the
testdep-same_1.0-1_amd64.deb package.
(if you have a 32-bit system exchange amd64 and i386 everywhere)
* Then run:
gdebi-gtk testdep-same_1.0-1_i386.deb
The gdebi-gtk GUI will come up and then disappear and you will get the
following backtrace on the terminal:
$ gdebi-gtk testdep-same_1.0-1_i386.deb
Traceback (most recent call last):
File "/usr/bin/gdebi-gtk", line 82, in <module>
app = GDebiGtk(datadir=data,options=options,file=afile)
File "/usr/share/gdebi/GDebi/GDebiGtk.py", line 151, in __init__
self.open(file)
File "/usr/share/gdebi/GDebi/GDebiGtk.py", line 353, in open
self.compareDebWithCache()
File "/usr/share/gdebi/GDebi/GDebiCommon.py", line 109, in compareDebWithCache
pkg = self._cache[self._deb.pkgname]
File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 204, in __getitem__
raise KeyError('The cache has no package named %r' % key)
KeyError: "The cache has no package named 'testdep-same:i386'"
gdebi-kde shows a very similar backtrace:
$ gdebi-kde ~/testdep-same_1.0-1_i386.deb
Traceback (most recent call last):
File "/usr/bin/gdebi-kde", line 101, in <module>
gdebi = GDebiKDE(datadir=data,options=options,file=afile)
File "/usr/share/gdebi/GDebi/GDebiKDE.py", line 162, in __init__
self.open(file)
File "/usr/share/gdebi/GDebi/GDebiKDE.py", line 237, in open
self.compareDebWithCache()
File "/usr/share/gdebi/GDebi/GDebiCommon.py", line 100, in compareDebWithCache
pkg = self._cache[self._deb.pkgname]
File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 185, in __getitem__
raise KeyError('The cache has no package named %r' % key)
KeyError: "The cache has no package named 'testdep-same:i386'"
This is why I'm reporting this bug against gdebi-core rather than gdebi
and gdebi-kde separately.
Also note that, still on a 64-bit system, this bug does not happen if one
installs the i386 package first and then run gdebi-gtk on the amd64
package.
Finally one can also reproduce this bug with the other types of multiarch
packages. For instance from the set of test packages:
* Install testdep-foreign_1.0-1_amd64.deb
Then run gdebi-gtk testdep-foreign_1.0-1_i386.deb
This should replace the amd64 package with the i386 one.
* Install testdep-allowed_1.0-1_amd64.deb
Then run gdebi-gtk testdep-allowed_1.0-1_i386.deb
This should replace the amd64 package with the i386 one.
-- System Information:
Debian Release: jessie/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages gdebi-core depends on:
ii file 1:5.14-2
ii python 2.7.5-2
ii python-apt 0.8.9
ii python-debian 0.1.21+nmu2
gdebi-core recommends no packages.
Versions of packages gdebi-core suggests:
ii xz-utils 5.1.1alpha+20120614-2
-- no debconf information
More information about the ubuntu-dev-team
mailing list