Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • briar briar
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 788
    • Issues 788
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 8
    • Merge requests 8
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • briar
  • briarbriar
  • Issues
  • #1528

Closed
Open
Created Apr 04, 2019 by akwizgran@akwizgranOwner

Database has no tables after reinstalling via ADB

After reinstalling Briar via ADB, I saw the startup failure notification and the log showed that the settings table didn't exist:

org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Table "SETTINGS" not found; SQL statement:
    SELECT settingKey, value FROM settings WHERE namespace = ? [42102-192]
        at org.briarproject.bramble.db.JdbcDatabase.getSettings(JdbcDatabase.java:2169)
        at org.briarproject.bramble.db.JdbcDatabase.open(JdbcDatabase.java:355)
        at org.briarproject.bramble.db.H2Database.open(H2Database.java:65)
        at org.briarproject.bramble.db.DatabaseComponentImpl.open(DatabaseComponentImpl.java:112)
        at org.briarproject.bramble.lifecycle.LifecycleManagerImpl.startServices(LifecycleManagerImpl.java:108)
        at org.briarproject.briar.android.BriarService.lambda$onCreate$0(BriarService.java:132)
        at org.briarproject.briar.android.-$$Lambda$BriarService$Ihm6XxaER2EMRlAKzUA1GpEtxZU.run(Unknown Source:4)
        at java.lang.Thread.run(Thread.java:764)

A similar problem was previously mentioned here, but most of that discussion referred to a different problem that's now been fixed.

The problem occurred after installing a debug build (0f614e84) on the Nexus 5X via ADB, launching the build, performing some actions such as adding and removing a contact, signing out, and installing a new build (d40cfd30) via ADB. When I launched the new build, the startup failure notification was shown.

Subsequent lauches showed the same error. The db.mv.db file exists, with a size of 28672 bytes, and Briar can open it, but the DB contains no tables ("SHOW TABLES" returns the expected table names on an unaffected device, but no table names on this device). It seems like nothing was written to the DB file during the first session, after the point where the DB file was created.

Two other devices (Moto G 4G and Moto E3) that were used for testing the same builds didn't show the bug, so I don't think it's caused by these particular builds.

Assignee
Assign to
Time tracking