apport-cli crashed with UnicodeDecodeError in ui_present_crash()

Bug #275972 reported by Cláudio Esperança
102
This bug affects 12 people
Affects Status Importance Assigned to Milestone
apport (Ubuntu)
Fix Released
Medium
Martin Pitt

Bug Description

Binary package hint: apport

crash detected by the apport. The error happened when submitting the bug report for a self crash.

ProblemType: Crash
Architecture: amd64
DistroRelease: Ubuntu 8.10
ExecutablePath: /usr/bin/apport-cli
InterpreterPath: /usr/bin/python2.5
NonfreeKernelModules: nvidia
Package: apport 0.116
PackageArchitecture: all
ProcAttrCurrent: unconfined
ProcCmdline: /usr/bin/python /usr/bin/apport-cli
ProcEnviron:
 SHELL=/bin/bash
 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
 LANG=pt_PT.UTF-8
PythonArgs: ['/usr/bin/apport-cli']
SourcePackage: apport
Title: apport-cli crashed with UnicodeDecodeError in ui_present_crash()
Uname: Linux 2.6.27-3-generic x86_64
UserGroups: adm admin audio cdrom dialout fax fuse games lpadmin netdev plugdev sambashare vboxusers video voice www-data

Tags: apport-crash
Revision history for this message
Cláudio Esperança (cesperanc) wrote :
visibility: private → public
Revision history for this message
Martin Pitt (pitti) wrote :

I cannot reproduce this on current karmic any more.

Changed in apport (Ubuntu):
status: New → Fix Released
Revision history for this message
Chris Jones (cmsj) wrote :

I'm seeing this in current Lucid trying to report an X crash:

-(cmsj@kiryo)-(~)- sudo apport-cli /var/crash/_usr_bin_Xorg.0.crash
[sudo] password for cmsj:
Traceback (most recent call last):
  File "/usr/bin/apport-cli", line 404, in <module>
    if not app.run_argv():
  File "/usr/lib/python2.6/dist-packages/apport/ui.py", line 544, in run_argv
    self.run_crash(self.options.crash_file, False)
  File "/usr/lib/python2.6/dist-packages/apport/ui.py", line 267, in run_crash
    response = self.ui_present_report_details(False)
  File "/usr/bin/apport-cli", line 214, in ui_present_report_details
    details += ' ' + line + '\n'
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 63: ordinal not in range(128)
-(cmsj@kiryo)-(~)-

Changed in apport (Ubuntu):
status: Fix Released → Confirmed
Revision history for this message
Chris Jones (cmsj) wrote :

pitti: the .crash file in question is chinstrap:/home/cmsj/_usr_bin_Xorg.0.crash

Revision history for this message
Martin Pitt (pitti) wrote :

Fixed in trunk r2115

Changed in apport (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
importance: Undecided → Medium
status: Confirmed → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package apport - 1.91-0ubuntu1

---------------
apport (1.91-0ubuntu1) precise; urgency=low

  * New upstream release:
    - crashdb.py, check_duplicate(): If a crash has a signature but no
      existing duplicate in the DB, also check for an existing address
      signature duplicate in the DB.
    - apport-retrace: Use DistroRelease specific subdirectory of the cache dir
      for mapping a file to a package, as these maps are release specific.
    - packaging-apt-dpkg.py: Refresh Contents.gz cache if it is older than one
      day.
    - crashdb.py: Ensure that address_signature duplicate db table does not
      have multiple identical signatures by making it a primary key. Bump the
      db format to "3". Existing databases need to be migrated manually as
      SQLite does not allow adding a "PRIMARY KEY" constraint to existing
      tables.
    - crashdb.py: Do not add a new address signature entry if one already
      exists.
    - apport-cli: Fix UnicodeDecodeError on unicode report values.
      (LP: #275972)
    - launchpad.py: Only set bug task importance if it is undecided.
    - apport-retrace: Fix "an useful" typo. (LP: #911437)
    - report.py: Filter out frames which are internal kernel/glibc
      implementation details and not stable across duplicates. In particular,
      filter out __kernel-syscall() and the SSE stubs.
    - crashdb.py: Remove debugging leftover which completely disabled bug
      pattern checking.
    - report.py: Update reading AssertionMessage. Current (e)glibc turned
      __abort_msg from a simple static string into a struct.
    - Change permissions of .crash files from 0600 to 0640, so that /var/crash
      can be made g+s and crash handling daemons can access those.
    - Python exceptions: Blacklist DBus.Error.NoReply. It does not help to get
      these traces from the client-side application, you need the actual
      exception in the D-Bus server backend instead. (LP: #914220)
    - Support /etc/apport/whitelist.d/ similarly to /etc/apport/blacklist.d/,
      for cases like installer environments where only crashes of a few selected
      programs should be reported.
 -- Martin Pitt <email address hidden> Wed, 18 Jan 2012 09:56:00 +0100

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.