whoopsie uploads crash reports, including core dumps, when on a 3G connection

Bug #964508 reported by Evan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
whoopsie-daisy (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Currently, whoopsie attempts to upload crash reports whenever an Internet connection is available. For binary applications, whoopsie also uploads a core dump if this is the first time the crash has been seen.

We need to determine whether we want whoopsie to only send the crash report when on a 3G connection, or if we want it to wait until it is on a WiFi or Ethernet connection for sending both the crash report and core dump.

Network Manager provides a DBus API for checking whether the default route is over a 3G connection:

http://paste.ubuntu.com/899028/

Related branches

Evan (ev)
Changed in whoopsie-daisy (Ubuntu):
importance: Undecided → Medium
status: New → Confirmed
Evan (ev)
Changed in whoopsie-daisy (Ubuntu):
milestone: none → ubuntu-12.04
Revision history for this message
Evan (ev) wrote :

Mathieu Trudel-Lapierre pointed out that if the user has both an ethernet and 3G connection, it will correctly use the ethernet interface.

With that, I have the following branch which implements the connectivity check on top of Network Manager, reusing some code we previously had for a less comprehensive check:
http://bazaar.launchpad.net/~ev/whoopsie-daisy/3g-check/revision/330?compare_revid=326

Do note that it fakes out a ConsoleKit session by writing /var/run/console/whoopsie, as NetworkManager has the at_console flag set in org.freedesktop.NetworkManager.conf. While it has code to do so, it cannot delete this file at exit, as the directory is root owned.

I think this is okay. ConsoleKit removes the entire contents of /var/run/console on exit anyway and whoopsie is long running. Of course if ConsoleKit died, whoopsie would lose the ability to get connectivity updates. However, I'm pretty sure this case is not well handled anywhere (killing console-kit-daemon breaks NetworkManager on my system).

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

I'm all for having this in precise. Uploading large dumps, without even telling the user, through 2G or 3G connections is really bad. With 2G it sucks up all your bandwidth, and at least here 3G plans usually come with rather small volume limits after which you get throttled.

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

The ConsoleKit hack looks a bit gross. We shouldn't assume internals of CK, as they might change (e. g. /var/run -> /run, with transitional directory going away), CK itself might change (systemd), etc.

I think we should rather change NM's D-BUS policy to allow these calls for root as well, and perhaps allow everyone to read the properties.

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

Oh, it's run as whoopsie, not as user. So how about actually using the libck API, or running it through ck-launch-session? Also, we could still allow "whoopsie" to read the properties in NM's D-BUS policy which would still be better IMHO.

Revision history for this message
Evan (ev) wrote :

I've updated the branch to use libck-connector. Thanks for the tip, Martin!

Evan (ev)
Changed in whoopsie-daisy (Ubuntu):
status: Confirmed → Fix Committed
Revision history for this message
Evan (ev) wrote :

This was fixed in whoopsie 0.1.24.

Changed in whoopsie-daisy (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.