Skip to content

Android crashes at startup when the RN migration preferences are unreadable #1825

Open

Description

@ben-kaufman

João reproduced this on Pixel_9 with both master at 9eff707 and the #1693 branch at 78f7209. He stopped the app, replaced files/datastore/rn_migration.preferences_pb with invalid bytes in the test fixture, and relaunched. The process died on the main thread before MigrationRecoveryScreen could display Retry. Original report

During AppViewModel initialization, the collector for isShowingMigrationLoading calls needsPostMigrationSync(). Reading the preferences threw CorruptionException: Unable to parse preferences proto. João identified the call at line 753 on the tested master and line 804 on the tested PR head.

The follow-up is to handle an unreadable migration state at startup and give the user a recovery path that preserves wallet data and migration progress. A regression check should cover relaunch with unreadable preferences and distinguish that read failure from a failed migration write. The report used deliberately corrupted bytes. How the file might become corrupt in normal use and which recovery action is safe are still unverified.

Activity

  1. added this to the 3.2.0 milestone on Nov 9, 2026
  2. ovitrif commented on Nov 9, 2026

    @ovitrif
    Collaborator

    Triage: in 3.2.0, a startup crash on unreadable migration preferences, found after the 3.1 cut. Android only (DataStore), so no iOS twin. On the project at 📋 To do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions