System settings crashes after quickly backing out of storage

Bug #1375988 reported by Chris Gagnon
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-system-settings (Ubuntu)
Fix Released
Critical
Iain Lane

Bug Description

summary:
System settings crashes after quickly backing out of storage

steps:
1. open system-settings
2. select about this phone
3. select storage
4. quickly tap back arrow on header a few times

expected results:
system settings is on main page and does not crash

actual results:
system settings crashes

version info can be seen @:
https://errors.ubuntu.com/oops/2d7649ec-48d9-11e4-8cd6-fa163e373683

Related branches

Changed in ubuntu-system-settings (Ubuntu):
status: New → Confirmed
importance: Undecided → Critical
tags: added: qa-daily-testing qasoak rtm14
Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

To reproduce this I had to start tapping the spot where back would appear before the panel actually got displayed.
I'd like to lower the importance as it is not likely in the field and user simlpy restarts the app, please comment if you think otherwise.

Changed in ubuntu-system-settings (Ubuntu):
importance: Critical → High
Revision history for this message
Chris Gagnon (chris.gagnon) wrote :

When the app crashes the UI becomes unusable, there are a lot of crashes in the system-settings app in the long running tests.

Unless this is fixed we probably won't be able to reach our goal of 12 hours without failure on the long running tests.

Revision history for this message
Joe Odukoya (jodukoya) wrote :

Sorry Pat but I'd like to move this back to Critical.

1 - For the reasons Chris mentioned above (we need to improve the overall system stability and areas like this mount up)
2 - I managed to reproduce this very easily with just a double tap (basically simulating a user that presses on Storage, realises they did not mean to and taps on the back button, as nothing happens immediately they tap again and the system app crashes).

Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

Ok thanks for the feedback

Changed in ubuntu-system-settings (Ubuntu):
assignee: nobody → Ken VanDine (ken-vandine)
importance: High → Critical
tags: added: touch-2014-10-09
Changed in ubuntu-system-settings (Ubuntu):
assignee: Ken VanDine (ken-vandine) → Sebastien Bacher (seb128)
Revision history for this message
Sebastien Bacher (seb128) wrote :

The issue there seems to be in the storageabout backend destructor, the cancellable disconnect isn't effective but the function returns anyway, the structures are freed and when the callback come later they try to free things that are not there anymore which segfaults

Revision history for this message
Sebastien Bacher (seb128) wrote :

valgrind shows an invalid free on the delete of that code

" if (err != nullptr) {
        if (g_error_matches (err, G_IO_ERROR, G_IO_ERROR_CANCELLED)) {
            delete data->running;"

Changed in ubuntu-system-settings (Ubuntu):
status: Confirmed → In Progress
Revision history for this message
Sebastien Bacher (seb128) wrote :

Laney wrote that code/started looking for a fix, reassigning to him, thanks!

Changed in ubuntu-system-settings (Ubuntu):
assignee: Sebastien Bacher (seb128) → Iain Lane (laney)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-system-settings - 0.3+14.10.20141003-0ubuntu1

---------------
ubuntu-system-settings (0.3+14.10.20141003-0ubuntu1) utopic; urgency=low

  [ Iain Lane ]
  * [storage/about] Use a QSharedPointer to manage freeing of the
    counter which we use to display all of the collected sizes at once.
    If the measuring process was cancelled, we were freeing it multiple
    times - once for each outstanding size measurement. This led to a
    crash. (LP: #1375988)
  * [security-privacy] Link with gobject, uses symbols from this
    library. Prevents "[…]libUbuntuSecurityPrivacyPanel.so contains an
    unresolvable reference to symbol
    g_signal_handlers_disconnect_matched: it's probably a plugin"
    warnings.
 -- Ubuntu daily release <email address hidden> Fri, 03 Oct 2014 13:52:42 +0000

Changed in ubuntu-system-settings (Ubuntu):
status: In Progress → 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.