Skip to content

Trying to access session_database.key before it is created #2846

Closed
@tonkku107

Description

@tonkku107

Steps to reproduce

  1. Fresh install on an Android 6 emulator
  2. Launch the app

Outcome

What did you expect?

App to start successfully

What happened instead?

App crashes immediately with the following exception

FATAL EXCEPTION: main
Process: io.element.android.x.debug, PID: 4020
java.lang.RuntimeException: Unable to create application io.element.android.x.ElementXApplication: androidx.startup.StartupException: java.io.FileNotFoundException: /data/user/0/io.element.android.x.debug/databases/session_database.key: open failed: ENOENT (No such file or directory)
	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4710)
	at android.app.ActivityThread.-wrap1(ActivityThread.java)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loop(Looper.java:148)
	at android.app.ActivityThread.main(ActivityThread.java:5417)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: androidx.startup.StartupException: java.io.FileNotFoundException: /data/user/0/io.element.android.x.debug/databases/session_database.key: open failed: ENOENT (No such file or directory)
	at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:187)
	at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:138)
	at androidx.startup.AppInitializer.initializeComponent(AppInitializer.java:117)
	at io.element.android.x.ElementXApplication.onCreate(ElementXApplication.kt:36)
	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1013)
	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4707)
	at android.app.ActivityThread.-wrap1(ActivityThread.java) 
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405) 
	at android.os.Handler.dispatchMessage(Handler.java:102) 
	at android.os.Looper.loop(Looper.java:148) 
	at android.app.ActivityThread.main(ActivityThread.java:5417) 
	at java.lang.reflect.Method.invoke(Native Method) 
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
Caused by: java.io.FileNotFoundException: /data/user/0/io.element.android.x.debug/databases/session_database.key: open failed: ENOENT (No such file or directory)
	at libcore.io.IoBridge.open(IoBridge.java:452)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:87)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:72)
	at androidx.security.crypto.EncryptedFile.openFileOutput(EncryptedFile.java:262)
	at io.element.encrypteddb.passphrase.RandomSecretPassphraseProvider.getPassphrase(RandomSecretPassphraseProvider.kt:40)
	at io.element.encrypteddb.SqlCipherDriverFactory.create(SqlCipherDriverFactory.kt:41)
	at io.element.android.libraries.sessionstorage.impl.di.SessionStorageModule.provideMatrixDatabase(SessionStorageModule.kt:40)
	at io.element.android.libraries.sessionstorage.impl.di.SessionStorageModule_ProvideMatrixDatabaseFactory$Companion.provideMatrixDatabase(SessionStorageModule_ProvideMatrixDatabaseFactory.kt:32)
	at io.element.android.libraries.sessionstorage.impl.di.SessionStorageModule_ProvideMatrixDatabaseFactory.get(SessionStorageModule_ProvideMatrixDatabaseFactory.kt:23)
	at io.element.android.libraries.sessionstorage.impl.di.SessionStorageModule_ProvideMatrixDatabaseFactory.get(SessionStorageModule_ProvideMatrixDatabaseFactory.kt:20)
	at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
	at io.element.android.libraries.sessionstorage.impl.DatabaseSessionStore_Factory.get(DatabaseSessionStore_Factory.kt:21)
	at io.element.android.libraries.sessionstorage.impl.DatabaseSessionStore_Factory.get(DatabaseSessionStore_Factory.kt:17)
	at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
	at io.element.android.features.rageshake.impl.reporter.DefaultBugReporter_Factory.get(DefaultBugReporter_Factory.kt:40)
	at io.element.android.features.rageshake.impl.reporter.DefaultBugReporter_Factory.get(DefaultBugReporter_Factory.kt:26)
	at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
	at io.element.android.x.di.DaggerAppComponent$AppComponentImpl.bugReporter(DaggerAppComponent.java:2969)
	at io.element.android.x.initializer.TracingInitializer.create(TracingInitializer.kt:37)
	at io.element.android.x.initializer.TracingInitializer.create(TracingInitializer.kt:33)
	at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:180)
	at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:138) 
	at androidx.startup.AppInitializer.initializeComponent(AppInitializer.java:117) 
	at io.element.android.x.ElementXApplication.onCreate(ElementXApplication.kt:36) 
	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1013) 
	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4707) 
	at android.app.ActivityThread.-wrap1(ActivityThread.java) 
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405) 
	at android.os.Handler.dispatchMessage(Handler.java:102) 
	at android.os.Looper.loop(Looper.java:148) 
	at android.app.ActivityThread.main(ActivityThread.java:5417) 
	at java.lang.reflect.Method.invoke(Native Method) 
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
	at libcore.io.Posix.open(Native Method)
	at libcore

Your phone model

Android studio emulator

Operating system version

Android 6

Application version and app store

Built from develop (4f74dd4)

Homeserver

N/A

Will you send logs?

Yes

Are you willing to provide a PR?

No

Metadata

Metadata

Assignees

No one assigned

    Labels

    O-UncommonMost users are unlikely to come across this or unexpected workflowS-CriticalPrevents work, causes data loss and/or has no workaroundT-DefectSomething isn't working: bugs, crashes, hangs and other reported problems

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions