aptdcon crashed with IOError in _get_terminal_width(): [Errno 5] Input/output error

Bug #948588 reported by Sergey "Shnatsel" Davidoff
This bug affects 1 person
Affects Status Importance Assigned to Milestone
aptdaemon (Ubuntu)

Bug Description

the following maintainer script crashed aptdaemon:

# enqueue ppa-purges - requires the aptdaemon version of ppa-purge
ppa-purge -r ppa:elementary-os/daily &
ppa-purge -r ppa:elementary-os/testing &
ppa-purge -r ppa:nemequ/sqlheavy &
ppa-purge -r ppa:midori/midori-dev &
ppa-purge -r ppa:ricotz/docky &
ppa-purge -r ppa:marlin-devs/marlin-daily &
# make sure we clean up even if something goes terribly wrong, e.g.
# there's no suitable ppa-purge and we're cleaning up after a failed install
rm -f /etc/apt/sources.list.d/elementary-daily-channel-elementary-os-daily-precise.list
rm -f /etc/apt/sources.list.d/elementary-daily-channel-elementary-os-testing-precise.list
rm -f /etc/apt/sources.list.d/elementary-daily-channel-nemequ-sqlheavy-precise.list
rm -f /etc/apt/sources.list.d/elementary-daily-channel-midori-midori-dev-precise.list
rm -f /etc/apt/sources.list.d/elementary-daily-channel-ricotz-docky-precise.list
rm -f /etc/apt/sources.list.d/elementary-daily-channel-marlin-devs-marlin-daily-precise.list
rm -rf /var/tmp/elementary-daily-release-channel

the part with rm's is actually very silly, reverted it already. I'm using a custom aptdaemon-based version of ppa-purge which can be found at lp:~shnatsel/ppa-purge/ppa-purge-aptdaemon

ProblemType: Crash
DistroRelease: Ubuntu 12.04
Package: aptdaemon 0.43+bzr769-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-18.28-generic 3.2.9
Uname: Linux 3.2.0-18-generic x86_64
ApportVersion: 1.94-0ubuntu2
Architecture: amd64
CrashCounter: 1
Date: Wed Mar 7 04:15:25 2012
DesktopFile: /usr/share/aptdaemon/aptdaemon.desktop
ExecutablePath: /usr/bin/aptdcon
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Alpha amd64 (20120303)
InterpreterPath: /usr/bin/python2.7
PackageArchitecture: all
ProcCmdline: /usr/bin/python /usr/bin/aptdcon --refresh
 PATH=(custom, no user)
PythonArgs: ['/usr/bin/aptdcon', '--refresh']
SourcePackage: aptdaemon
Title: aptdcon crashed with IOError in _get_terminal_width(): [Errno 5] Input/output error
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :
tags: removed: need-duplicate-check
Revision history for this message
Sebastian Heinlein (glatzor) wrote :

There are some serious issues in your script. I would not recommend to run aptdcon as a background task and then wait for it? This is a little bit inconsitent. Why do you redirect the output? If you don't want to see the terminal output just use the --hide-terminal option.

Changed in aptdaemon (Ubuntu):
status: New → Fix Committed
importance: Undecided → Low
visibility: private → public
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package aptdaemon - 0.43+bzr805-0ubuntu1

aptdaemon (0.43+bzr805-0ubuntu1) precise; urgency=low

  * New upstream snapshot:
    - Fix: Catch a possible exception in apt.cache.Cache.required_download
      which can occur if the user e.g. rebooted the system during a running
      debconf question (fixes LP: #659438)
      Furthermore raise ERROR_INCOMPLETE_INSTALL to signal the client
      that a call of FixIncompleteInstall() (basically a dpkg --configure -a
      call) fixes the issue
    - Fix: Sync all properties of the D-Bus transaction in the client before
      emitting the Finished signal (fixes LP: #747172) to ensure all changed
      properties are available (the order of received signals is not
      guranteed and the finished signal could be received before an error
      Additionally raise the timeout before removing a transaction from
      D-Bus on the server side to give clients more time to sync
    - Fix wrong variable names in the download progress (fixes LP: #971839,
      LP: #976521)
    - Fix: Catch a possible pipe reading error (fixes LP: #733090)
    - Fix: Don't show the name of aptdaemon in crash reports
      (fixes LP: #973370)
      Aptdaemon is a system daemon and should work and fail silently
    - Fix: Fallback to a default terminal width of 80 chars (fixes LP: #948588)
      The width request could fail on standard input/output redirections
    - Fix: Don't use a reserved name for the simulate helper function
    - Fix: Convert exceptions to string before raising TransactionFailed()
    - Fix wrong variable name in the add license key failed error message
    - Fix: Don't overwrite the GObject.GObject.disconnect in
      aptdemon.client.Transaction by renaming the method to
    - Fix: Allow to cancel a transaction which hasn't been queued yet and
      is still in limbo
    - Fix: Raise NotImplementedError instead of ImplementedError
    - Add a test case for config file changes handling
  * debian/aptdaemon.install:
    - Don't ship the obsolete .desktop file anymore
 -- Sebastian Heinlein <email address hidden> Mon, 09 Apr 2012 20:48:44 +0200

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

Other bug subscribers