Skip to content

Xamarin.Forms Droid application is crashing when trying to use Akavache #581

Open
@Nathan187

Description

@Nathan187

Describe the bug

I am trying to get an old Xamarin Forms application up and running. It's been pretty painful and on the verge of giving up. The application fails when trying to execute: await BlobCache.LocalMachine.Invalidate

This only happens when I try to run the droid version of the application. iOS works.

I am using Visual Studio for Mac 2019. I am using akavache 5.0. I can not use the latest version because the pcl project is using 'PCL profile 4.5 / Profile 78'. I can't update it because it's just going to shoot everything to crap. (Make it worse than it is now).

System.DllNotFoundException: /system/lib/libsqlite.so assembly: type: member:(null)
at (wrapper managed-to-native) SQLitePCL.SQLite3Provider_default+NativeMethods.sqlite3_open_v2(byte[],intptr&,int,byte[])
at SQLitePCL.SQLite3Provider_default.SQLitePCL.ISQLite3Provider.sqlite3_open_v2 (System.String filename, System.IntPtr& db, System.Int32 flags, System.String vfs) [0x0000f] in <92150bc3982d421aa81ea9612e36b1d1>:0
at SQLitePCL.raw.sqlite3_open_v2 (System.String filename, SQLitePCL.sqlite3& db, System.Int32 flags, System.String vfs) [0x00000] in <92150bc3982d421aa81ea9612e36b1d1>:0
at Akavache.Sqlite3.Internal.SQLite3.Open (System.String filename, SQLitePCL.sqlite3& db, System.Int32 flags, System.IntPtr zVfs) [0x00000] in <62f381ebb54b44df949b4ae3da486002>:0
at Akavache.Sqlite3.Internal.SQLiteConnection..ctor (System.String databasePath, Akavache.Sqlite3.Internal.SQLiteOpenFlags openFlags, System.Boolean storeDateTimeAsTicks) [0x00030] in <62f381ebb54b44df949b4ae3da486002>:0
at Akavache.Sqlite3.Internal.SQLiteConnection..ctor (System.String databasePath, System.Boolean storeDateTimeAsTicks) [0x00000] in <62f381ebb54b44df949b4ae3da486002>:0
at Akavache.Sqlite3.SQLitePersistentBlobCache..ctor (System.String databaseFile, System.Reactive.Concurrency.IScheduler scheduler) [0x00026] in <62f381ebb54b44df949b4ae3da486002>:0
at Akavache.Sqlite3.Registrations+<>c__DisplayClass6.b__0 () [0x0004e] in <62f381ebb54b44df949b4ae3da486002>:0
at System.Lazy1[T].ViaFactory (System.Threading.LazyThreadSafetyMode mode) [0x00043] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/Common/src/CoreLib/System/Lazy.cs:333 at System.Lazy1[T].ExecutionAndPublication (System.LazyHelper executionAndPublication, System.Boolean useDefaultConstructor) [0x00022] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/Common/src/CoreLib/System/Lazy.cs:351
at System.Lazy1[T].CreateValue () [0x00074] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/Common/src/CoreLib/System/Lazy.cs:431 at System.Lazy1[T].get_Value () [0x00000] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/Common/src/CoreLib/System/Lazy.cs:509
at Akavache.Sqlite3.Registrations+<>c__DisplayClass6.b__1 () [0x00000] in <62f381ebb54b44df949b4ae3da486002>:0
at Splat.ModernDependencyResolver.GetService (System.Type serviceType, System.String contract) [0x00039] in /Users/paul/code/paulcbetts/splat/Splat/ServiceLocation.cs:271
at Splat.DependencyResolverMixins.GetService[T] (Splat.IDependencyResolver This, System.String contract) [0x00000] in /Users/paul/code/paulcbetts/splat/Splat/ServiceLocation.cs:151
at Akavache.BlobCache.get_LocalMachine () [0x00000] in C:\projects\akavache\src\Akavache\Portable\BlobCache.cs:65
at Sir.SessionService.Login (System.Func`1[TResult] getAuthenticatedUser) [0x000c4] in /Users/n/Desktop/Source Code/SIR-Mobile/mobile/Sir/Services/SessionService.cs:77
at Sir.LoginViewModel.TryLogIn () [0x00039] in /Users/n/Desktop/Source Code/SIR-Mobile/mobile/Sir/ViewModels/LoginViewModel.cs:68

Expected behavior

Uh, I guess I'd like for it to work.

Screenshots

Environment

  • Device: Droid API > 23
    Additional context

I have seen this has been a persistent issue for quite a while. I've added sql-net-pcl, etc.

Any other help/insight would be appreciated

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions