Gdebi crashes while trying to install a deb package, TypeError: not enough arguments for format string

Bug #591470 reported by Michael Martin-Smucker on 2010-06-08
70
This bug affects 25 people
Affects Status Importance Assigned to Milestone
gdebi
Fix Released
Medium
Unassigned
gdebi (Ubuntu)
Medium
Unassigned
Lucid
Medium
Unassigned

Bug Description

TEST CASE:
1. test if gdebi keeps working after the upgrade

(a more sophisticated testcase would be good, but we need a link to a package that triggers the crash).

The following issue is now fixed in Maverick but affects Lucid.

Backporting the entirety of gdebi 0.6.1 from Maverick won't do, but the fix is a fairly simple one-line (one character!) change in lp:gdebi, revision 314. I picked that revision specifically and pushed it to lp:~dylanmccall/ubuntu/lucid/gdebi/bug-591470

This bug creates a crash that makes some packages impossible for our users to install without resorting to a terminal. For example, in directing a user to install the proposed libusb package to fix a printer problem, I found that I could not give him easy directions with gdebi because it crashed upon opening the package. The issue can definitely harm the experience for our end users, and it will be especially troublesome going forwards as developers running newer systems will not recognize that packages they are sending to Lucid users will create this crash.

There is, unfortunately, some regression potential because this is a string change. There are 40 translations based on (and, themselves, containing) the offending string:
https://translations.edge.launchpad.net/ubuntu/lucid/+source/gdebi/+pots/gdebi

Thankfully, we can change those really easily (a simple script would do it, though even doing it by brute force wouldn't take _too_ long). The only thing is I expect this would need some work to be timed right :)

Original bug report follows…
-----

gdebi crashes when I try to install the package: liferea-data_1.7.4-2~llfsyncfix1+sikon8_all.deb from https://edge.launchpad.net/~sikon/+archive/liferea-libindicate/+packages

This happens on a fully up-to-date Lucid x64 installation. Even if there's something wrong with the package, it would be nice if gdebi would give some useful output instead of crashing. Here's the trace:

michael@michael-desktop:~/Downloads$ gdebi ./liferea-data_1.7.4-2~llfsyncfix1+sikon8_all.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Building data structures... Done
  Traceback (most recent call last):
  File "/usr/bin/gdebi", line 83, in <module>
    if not debi.open(args[0]):
  File "/usr/lib/python2.6/dist-packages/GDebi/GDebiCli.py", line 86, in open
    if not self._deb.checkDeb():
  File "/usr/lib/python2.6/dist-packages/GDebi/DebPackage.py", line 368, in checkDeb
    if not self.checkBreaksExistingPackages():
  File "/usr/lib/python2.6/dist-packages/GDebi/DebPackage.py", line 283, in checkBreaksExistingPackages
    'depversion' : dep.version}
TypeError: not enough arguments for format string

Let me know if there's any more information that I can provide.

Related branches

security vulnerability: yes → no
visibility: private → public
Luca Falavigna (dktrkranz) wrote :

Fixed in 0.6.1

Changed in gdebi:
importance: Undecided → Medium
status: New → Fix Released
Dylan McCall (dylanmccall) wrote :

Any chance this fix can be ported to Lucid? It just messed with my attempt to help someone without using a command line. It created a great deal of confusion, because I was already running a system with the bug fixed at the time — a case that will only become more common.

gdebi 0.6.1 has a dependency on a newer version of python-debian with its other bug fixes, so a smaller patch will be needed…
https://edge.launchpad.net/ubuntu/+source/gdebi/0.6.1

bbordwell (benbordwell) wrote :

Looks like this has been ready to be marked as triaged for a while so doing so to remove it from the untriaged bugs list.

Changed in gdebi (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
bbordwell (benbordwell) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. However, I am closing it because the bug has been fixed in the latest development version of Ubuntu - Maverick Meerkat.

This is a significant bug in Ubuntu. If you need a fix for the bug in previous versions of Ubuntu, please do steps 1 and 2 of the SRU Procedure [1] to bring the need to a developer's attention.

[1]: https://wiki.ubuntu.com/StableReleaseUpdates#Procedure

Changed in gdebi (Ubuntu):
status: Triaged → Fix Released
Dylan McCall (dylanmccall) wrote :

Thanks, bbordwell! I've never done this before, so hopefully it's all right :)

description: updated
description: updated
description: updated

Dylan, thanks for adding to the description -- I completely agree, especially considering Lucid's LTS status. What is the process from here? Should this bug be re-opened against the "gdebi (Ubuntu)" component?

Changed in gdebi (Ubuntu):
status: Fix Released → Confirmed
status: Confirmed → Fix Released
Dylan McCall (dylanmccall) wrote :

As far as I'm aware, we just wait for the folks on the SRU team to respond to the request :)

Martin Pitt (pitti) wrote :

Please go ahead and upload. Thanks!

Michael Vogt (mvo) wrote :

Uploaded to lucid-proposed, many thanks Dylan!

Changed in gdebi (Ubuntu Lucid):
status: New → In Progress
importance: Undecided → Medium
Michael Vogt (mvo) wrote :

It would be great if you could add instructions how to re-create the crash (the current description indicates that is possible with the right libusb deb package). A link to the package that triggers the crash would be cool.

description: updated
Dylan McCall (dylanmccall) wrote :

All of a sudden I can't reproduce this, but that package is (or was):
http://archive.ubuntu.com/ubuntu/pool/main/libu/libusb/libusb-0.1-4_0.1.12-15ubuntu2_i386.deb

Accepted gdebi into lucid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in gdebi (Ubuntu Lucid):
status: In Progress → Fix Committed
tags: added: verification-needed

@Michael Martin-Smucker, I'm unable to reproduce the problem in Lucid with the package you're referring to (liferea-data_1.7.4-2~llfsyncfix1+sikon9_all.deb). Could you please try the version of gdebi in lucid-proposed and give your feedback here.
Thanks in advance.

Yup, looks like backporting the fix makes installation of that package possible via Gdebi in Lucid. Chaging from Fix Committed to Fix Released...

Changed in gdebi (Ubuntu Lucid):
status: Fix Committed → Fix Released

Thanks for confirming. I'm setting tag to 'verification-done'

Changed in gdebi (Ubuntu Lucid):
status: Fix Released → Fix Committed
tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gdebi - 0.6.0ubuntu2

---------------
gdebi (0.6.0ubuntu2) lucid-proposed; urgency=low

  * cherry pick r314 from lp:~gdebi-developers/gdebi/trunk to
    fix format string crash (LP: #591470)
 -- Dylan McCall <email address hidden> Fri, 16 Jul 2010 15:17:52 -0700

Changed in gdebi (Ubuntu Lucid):
status: Fix Committed → Fix Released
tags: added: testcase
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers