Crash in whoopsie itself shows application alert instead of internal error alert

Bug #962130 reported by Matthew Paul Thomas
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apport (Ubuntu)
Fix Released
Low
Martin Pitt
whoopsie-daisy (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

apport 1.94.1-0ubuntu2, whoopsie 0.1.19, Ubuntu Pangolin

When whoopsie itself crashes, the alert says "Sorry, the application whoopsie has closed unexpectedly."

whoopsie is not an application, it's a part of the Ubuntu system, so the "Sorry, Ubuntu has experienced an internal error" should appear instead.

Revision history for this message
Matthew Paul Thomas (mpt) wrote :
Revision history for this message
Matthew Paul Thomas (mpt) wrote :
Revision history for this message
Martin Pitt (pitti) wrote :

ProcEnviron:
 PATH=(custom, no user)
 TERM=linux

Evan, do you know why whoopsie has a $TERM? It's certainly not being started by the user through a terminal, does it?

Revision history for this message
Evan (ev) wrote :

Something is setting it before whoopsie starts. Sticking a getenv right at the top of main returns the TERM variable.

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

How about requiring SHELL in addition to TERM?

$ sudo cat /proc/`pidof whoopsie`/environ | xargs -0n1
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
TERM=linux
CRASH_DB_URL=https://daisy.ubuntu.com
RUNLEVEL=2
PREVLEVEL=N
UPSTART_EVENTS=runlevel
UPSTART_JOB=whoopsie
UPSTART_INSTANCE=

That ought to at least work for such system daemons, and they don't have $SHELL. $SHELL is also a "safe" (i. e. non-sensitive) variable, so we keep that.

Changed in whoopsie-daisy (Ubuntu):
status: New → Invalid
Changed in apport (Ubuntu):
status: New → In Progress
Revision history for this message
Martin Pitt (pitti) wrote :

Fixed in trunk r2249.

Changed in apport (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
status: In Progress → Fix Committed
importance: Undecided → Low
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.2 KiB)

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

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

  [ Martin Pitt ]
  * New upstream release:
    - apport-gtk, apport-kde: When reporting a "system crash", don't say "...
      of this program version", but "...of this type", as we don't show a
      program version in the initial dialog
      (https://wiki.ubuntu.com/ErrorTracker#error) (LP: #961065)
    - problem_report.py, write_mime(): Do not put a key inline if it is bigger
      than 1 kB, to guard against very long lines. (LP: #957326)
    - etc/cron.daily/apport: Do not remove whoopsie's *.upload* stamps every
      day, only if they are older than a week. whoopsie comes with its own
      cron job which deals with them. Thanks Steve Langasek. (LP: #957102)
    - report.py, mark_ignore(): Fix crash if executable went away underneath
      us. (LP: #961410)
    - apport-gtk: Do not compare current continue button label against a
      translated string. Instead just remember whether or not we can restart
      the application. (LP: #960439)
    - hookutils.py, command_output(): Add option to keep the locale instead of
      disabling it.
    - hookutils.py, command_output(): Actually make the "input" parameter
      work, instead of causing an eternal hang. Add tests for all possible
      modes of operation.
    - hooktuils.py: Change root_command_output() and
      attach_root_command_outputs() to disable translated messages
      (LC_MESSAGES=C) only as part of the command to be run, not already for
      the root prefix command. This will keep the latter (gksu, kdesudo, etc.)
      translated. (LP: #961659)
    - apport-gtk: Cut off text values after 4000 characters, as Gtk's TreeView
      does not get along well with huge values. KDE's copes fine, so continue
      to display the complete value there. (LP: #957062)
    - apport-gtk: Make details window resizable in bug reporting mode.
    - crashdb.py, known(): Check the address signature duplicate database if
      the symbolic signature exists, but did not find any result. (LP: #103083)
    - ui.py: Run anonymization after checking for duplicates, to prevent host
      or user names which look like hex numbers to corrupt the stack trace.
      (LP: #953104)
    - apport-gtk: Require an application to both have TERM and SHELL in its
      environment to consider it a command line application that was started
      by the user. (LP: #962130)
    - backends/packaging-apt-dpkg.py, _check_files_md5(): Fix double encoding,
      which caused UnicodeDecodeErrors on non-ASCII characters in an md5sum
      file. (LP: #953682)
    - apport-kde, apport-gtk: Only show "Relaunch" if the report has a
      ProcCmdline, otherwise we cannot restart it. (LP: #956173)
    - apport-gtk, apport-kde: Show the ExecutablePath while we're collecting
      data for the crash report. Thanks Evan Dandrea. (LP: #938707).
  * debian/copyright: Change to copyright format 1.0.
  * debian/control: Bump Standards-Version to 3.9.3.

  [ Brian Murray ]
  * data/general-hooks/ubuntu.py: use main.log to determine UpgradeStatus not
    apt.log (LP: #886111)
 -- Martin Pitt <<email address hidden>...

Read more...

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.