Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0a8217f5 authored by Martijn Coenen's avatar Martijn Coenen
Browse files

Catch all exceptions when calling startCheckpoint().

The existing code in vold throws exceptions based on errno,
which can't be mapped to binder exceptions, and hence throw a
RuntimeException instead. To prevent bringing system_server down with
these, catch all exceptions for now.

Bug: 130190815
Test: builds
Change-Id: I3f5aaa12a01e4748ccb2b2467416c49645315cfb
parent dd07ae57
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -261,13 +261,13 @@ public class StagingManager {
            if (storageManager.supportsCheckpoint()) {
                storageManager.startCheckpoint(1 /* numRetries */);
            }
        } catch (RemoteException e) {
        } catch (Exception e) { // TODO(b/130190815) make a RemoteException again
            // While StorageManager lives in the same process, the native implementation
            // it calls through lives in 'vold'; so, this call can fail if 'vold' isn't
            // reachable.
            // Since we can live without filesystem checkpointing, just warn in this case
            // and continue.
            Slog.w(TAG, "Could not start filesystem checkpoint.");
            Slog.w(TAG, "Could not start filesystem checkpoint:", e);
        }

        session.setStagedSessionReady();