I have a weird bug thats occuring in my App.
I notice it more when running in release mode, but sometimes it happens in debug mode to. It appears to be easier to be replicated after deinstalling the app, restart the phone, run app again. Sometimes it happens on first try, sometimes not.
The code I'm running looks like this:
try{
final storage = await BiometricStorage().getStorage(
"${id}key",
options: StorageFileInitOptions(authenticationRequired: false));
return await storage?.write(key);
} on PlatformException catch (e){
print(e.toString())
}
I get the following error:
java.io.FileNotFoundException: /data/user/0/REDACTED_APP_NAME/files/biometric_storage/g/Owg7F/hx8=nonce.v2.txt: open failed: ENOENT (No such file or directory)
java.io.FileNotFoundException: /data/user/0/REDACTED_APP_NAME/files/biometric_storage/g/Owg7F/hx8=nonce.v2.txt: open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:574)
at java.io.FileOutputStream.<init>(FileOutputStream.java:259)
at java.io.FileOutputStream.<init>(FileOutputStream.java:208)
at kotlin.io.FilesKt__FileReadWriteKt.writeBytes(FileReadWrite.kt:108)
at design.codeux.biometric_storage.BiometricStorageFile.writeFile(BiometricStorageFile.kt:102)
at design.codeux.biometric_storage.BiometricStoragePlugin$onMethodCall$5$1.invoke(BiometricStoragePlugin.kt:268)
at design.codeux.biometric_storage.BiometricStoragePlugin$onMethodCall$5$1.invoke(BiometricStoragePlugin.kt:267)
at design.codeux.biometric_storage.BiometricStoragePlugin.onMethodCall$withAuth(BiometricStoragePlugin.kt:174)
at design.codeux.biometric_storage.BiometricStoragePlugin.access$onMethodCall$withAuth(BiometricStoragePlugin.kt:95)
at design.codeux.biometric_storage.BiometricStoragePlugin$onMethodCall$5.invoke(BiometricStoragePlugin.kt:267)
at design.codeux.biometric_storage.BiometricStoragePlugin$onMethodCall$5.invoke(BiometricStoragePlugin.kt:266)
at design.codeux.biometric_storage.BiometricStoragePlugin.onMethodCall$withStorage(BiometricStoragePlugin.kt:151)
at design.codeux.biometric_storage.BiometricStoragePlugin.onMethodCall(BiometricStoragePlugin.kt:266)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:233)
at android.os.Looper.loop(Looper.java:344)
at android.app.ActivityThread.main(ActivityThread.java:8212)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)
Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Linux.open(Native Method)
at libcore.io.ForwardingOs.open(ForwardingOs.java:563)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:274)
at libcore.io.ForwardingOs.open(ForwardingOs.java:563)
at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:8094)
at libcore.io.IoBridge.open(IoBridge.java:560)
... 24 more
"
Here is my Flutter doctor:
[√] Flutter (Channel stable, 3.27.0, on Microsoft Windows [Versi¢n 10.0.19045.5247], locale es-PY)
• Flutter version 3.27.0 on channel stable at C:\src\flutter_windows_3.10.2-stable\flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 8495dee1fd (7 weeks ago), 2024-12-10 14:23:39 -0800
• Engine revision 83bacfc525
• Dart version 3.6.0
• DevTools version 2.40.2
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at C:\Users\ww02\AppData\Local\Android\sdk
• Platform android-34, build-tools 34.0.0
• Java binary at: C:\Program Files\Android\Android Studio1\jbr\bin\java
• Java version OpenJDK Runtime Environment (build 17.0.11+0--11852314)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Visual Studio - develop Windows apps (Visual Studio Build Tools 2019 16.11.26)
• Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools
• Visual Studio Build Tools 2019 version 16.11.33529.622
• Windows 10 SDK version 10.0.22621.0
[√] Android Studio (version 2024.1)
• Android Studio at C:\Program Files\Android\Android Studio1
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.11+0--11852314)
[√] IntelliJ IDEA Ultimate Edition (version 2023.2)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA 2023.2.4
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin version 232.10072.19
[√] VS Code (version 1.96.4)
• VS Code at C:\Users\ww02\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.102.0
Version of Biometric Storage package:
biometric_storage: ^5.1.0-rc.5
I have a weird bug thats occuring in my App.
I notice it more when running in release mode, but sometimes it happens in debug mode to. It appears to be easier to be replicated after deinstalling the app, restart the phone, run app again. Sometimes it happens on first try, sometimes not.
The code I'm running looks like this:
I get the following error:
Here is my Flutter doctor:
Version of Biometric Storage package: