Error alerts appear on login for problems in previous session

Bug #1033932 reported by Matthew Paul Thomas
50
This bug affects 9 people
Affects Status Importance Assigned to Milestone
Apport
Medium
Martin Pitt
apport (Ubuntu)
Medium
Martin Pitt
Precise
Undecided
Unassigned

Bug Description

Multiple people are reporting that Apport shows an error alert, after login, for errors that occurred in the previous Ubuntu session.

For example, Sebastien Bacher <https://lists.ubuntu.com/archives/ubuntu-release/2012-August/001674.html>, Dylan McCall <https://lists.ubuntu.com/archives/ubuntu-release/2012-August/001684.html>, and Oliver Grawert <https://lists.ubuntu.com/archives/ubuntu-release/2012-August/001691.html>.

This shouldn't happen. If Ubuntu logs out or restarts *because* of a crash (e.g. an Xorg crash), it's reasonable to explain why that happened at next login. But it isn't useful to do that when the logout or shutdown was intentional.

Instead, we should collect those error reports and send them at the same time as the next error that does deserve explanation.

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

The main use case for showing old user (not system) related crashes after login are crashes from cron, screen, and remote sessions. However, the are certainly a corner case, and for stable releases I'd go as far as ignoring them entirely. This would be a simple and safe SRUable change. Telling them apart from legitimate crashes from remote/noninteractive sessions is a lot more difficult, and I don't have a good off-hand idea how to do that.

Changed in apport (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Changed in apport (Ubuntu Precise):
status: New → Triaged
Changed in apport (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
status: Triaged → In Progress
Revision history for this message
Martin Pitt (pitti) wrote :

> Telling them apart from legitimate crashes from remote/noninteractive sessions is a lot more difficult,

Actually, I just realized it's very simple. We can keep crashes from remote/non-graphical sessions and alert about them, but ignore crashes which happened in a previous graphical user session.

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

> Actually, I just realized it's very simple. We can keep crashes from remote/non-graphical sessions and alert about them, but ignore crashes which happened in a previous graphical user session.

Not that simple after all. We cannot rely on $DISPLAY for e. g. unity and other d-bus services that were running in the old user session. So the only simple and SRU-able change would be to not display old reports at session startup at all. I think that's an appropriate mitigation for precise, what do you think?

Evan (ev)
tags: added: whoopsie-daisy
Evan (ev)
Changed in apport:
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Jymbob (james-scholes) wrote :

Unless I'm mistaken (which is possible), this bug is affecting many, many users who are being greeted at login with a rather nasty looking alert for myriad small errors caught at logout or shutdown (e.g. Google Chrome not exiting correctly - a common occurrence).

This massively impacts the perceived stability of a platform, and the perceived usefulness of bug reporting. After apport switched to on-by-default in 12.04(?) there are dozens of hits on search engines for how to remove the error message at login, almost all of which direct the user to disable apport.

Clearly this tool is not fulfilling its purpose, and is now causing the OS to look buggy.

As an aside, having clicked 'report this bug' at nearly every login for the past year, I also find it hard to believe these logs are actually being processed and recorded anywhere useful. We've wandered into 'Inform Microsoft about this problem' territory.

Martin Pitt (pitti)
Changed in apport (Ubuntu):
status: In Progress → Triaged
Martin Pitt (pitti)
Changed in apport:
status: Triaged → In Progress
Revision history for this message
Martin Pitt (pitti) wrote :

trunk r2746 now does not produce popups any more at the start of the desktop session which concern crashes from ealier sessions. You can still manually report them by double-clicking on the .crash, or running apport-{cli,gtk,kde} on the .crash file, but they won't pop up automatically any more. That might lose us some reports that happen on logout, but quite frankly they are uninteresting/unimportant enough to not warrant the "annoy users" price that we have to pay for that right now.

Changed in apport:
status: In Progress → Fix Released
assignee: nobody → Martin Pitt (pitti)
Changed in apport (Ubuntu):
status: Triaged → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

---------------
apport (2.13.1-0ubuntu1) trusty; urgency=medium

  * New upstream release:
    - Fix report.test_get_timestamp test for running in other time zones.
    - Fix erroneous "gdb-multiarch not installed" warnings in ui tests.
    - Fix ui.test_run_crash_older_session test for running as root.
    - Fix ui.test_run_crash_older_session for different file system file
      orders.
 -- Martin Pitt <email address hidden> Fri, 10 Jan 2014 10:58:54 +0100

Changed in apport (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Matthew Paul Thomas (mpt) wrote :

Martin, if we're just dropping the errors altogether, rather than aggregating them with the next interrupt-worthy error, that will reduce the reported error rate on errors.ubuntu.com. That is, it will make it look as if Ubuntu has become more reliable when it hasn't.

This is the sort of thing that the "(by 12.04 standards)" line exists for on the graph. But that works only for expanding the scope of error reporting, not reducing it -- unless we updated 12.04 to continue reporting, but start distinguishing, errors from the previous session.

Revision history for this message
Martin Pitt (pitti) wrote : Re: [Bug 1033932] Re: Error alerts appear on login for problems in previous session

Matthew Paul Thomas [2014-01-10 11:19 -0000]:
> This is the sort of thing that the "(by 12.04 standards)" line exists
> for on the graph. But that works only for expanding the scope of error
> reporting, not reducing it -- unless we updated 12.04 to continue
> reporting, but start distinguishing, errors from the previous session.

I got several requests to also backport this change to precise, as
this is considered as very annoying and confusing. For precise this
needs to be implemented in a different way as that still uses
ConsoleKit instead of logind cgroups, but it's certainly intended to
SRU this. Would this address this concern?

Also, crashes that happen at session logout aren't really something
that a user would ever perceive as "unreliable". I claim that counting
these as user-visible crashes was wrong in the first place.

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

If this change is a good idea, then backporting it to 12.04 is fine by me. I'm still skeptical, though. A crash on logout could involve an app failing to save a document or settings as it exits. If so, that's something developers should discover and fix just as much as any other error.

As a comparison, the Mozilla Crash Reporter is still invoked when upstream Firefox or Thunderbird crashes on quit.

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

> A crash on logout could involve an app failing to save a document or settings as it exits.

That should already happen before. gnome-session causes applications to ask for saving files etc. before it actually tears down the session. It's only crashes that happen during that teardown that are being filtered away here, and at that point D-BUS and everything else go away; there is nothing that an user or application can usefully do at this point except for exiting cleanly, and some applications just fail to do that.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers