某些用户启动时,Xamarin.iOS App会立即崩溃

时间:2018-01-03 17:55:16

标签: xamarin xamarin.ios sigabrt

我有一个问题,Xamarin.iOS应用程序在从9.x升级到Xamarin.iOS 11.2之前一直运行良好。在启动时,应用程序会随机崩溃大多数用户(如果不是全部用户)。我们使用sqlcipher 4.0.0.1进行加密。我能够在我的iPad Pro上重现它并观看设备控制台日志,这似乎是SQlite的一个问题,但不确定导致崩溃的原因以及如何解释日志信息。

我试图象征崩溃日志,但是能够部分地对它做出了什么帮助。但是,当应用程序崩溃时,设备控制台从xcode登录,提供以下信息,这是有道理的。

  

SQLiteException - 文件已加密或不是数据库

有人可以帮我确定错误吗?

Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: Client com.dim.pod connected
Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: {"msg":"#CLIUA Client CLIUA level changed", "name":"com.dim.pod", "assertedInUseLevel":4}
Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: Background indicator enabled for <private> is now <private> (was <private>)
Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: {"msg":"kCLConnectionMessageRegistration", "event":"activity", "this":"0x1070aa000", "registrationRequired":0, "registrationReceived":0}
Jan  3 10:51:43 TMs-iPad iOSTablet(CoreLocation)[486] <Notice>: {"msg":"CLLocationManager", "event":"activity", "_cmd":"setDelegate:", "self":"0x1c401a610", "delegate":"0x1c062be20"}
Jan  3 10:51:43 TMs-iPad iOSTablet(CoreLocation)[486] <Notice>: {"msg":"CLLocationManager", "event":"activity", "_cmd":"delegate", "self":"0x1c401a610"}
Jan  3 10:51:43 TMs-iPad iOSTablet(CoreLocation)[486] <Notice>: {"msg":"CLLocationManager", "event":"activity", "_cmd":"delegate", "self":"0x1c401a610"}
Jan  3 10:51:43 TMs-iPad iOSTablet(CoreLocation)[486] <Notice>: {"msg":"CLLocationManager", "event":"activity", "_cmd":"delegate", "self":"0x1c401a610"}
Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: #Warning could not get resource URL for <private>
Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: #Warning issue retrieving localized strings for bundle '<private>'
Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: #Warning could not get resource URL for <private>
Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: #Warning issue retrieving localized strings for bundle '<private>'
Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: com.dim.pod is creating a CLLocationManager, but does not have any NSLocation*UsageDescription keys
Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: {"msg":"update client authorization mask", "name":"com.dim.pod", "old":0, "new":0, "localAuthorizationChange":1}
Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: {"msg":"kCLConnectionMessagePausesLocationUpdatesAutomatically", "event":"activity", "this":"0x1070aa000", "registrationRequired":1, "registrationReceived":1}
Jan  3 10:51:43 TMs-iPad atc(AirTrafficDevice)[36] <Notice>: <ATLegacyMessageLink: 0x103294a40, wifi=0> ---> [Ping Request. id=976, Session=0, params=(null)]
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: Unhandled managed exception:
Resolution of the dependency failed, type = "Shared.ViewModels.IMainViewModel", name = "(none)".
Exception occurred while: Calling constructor Shared.Repo.BaseRepo`1[[Shared.Common.Branding, Shared.Common, Version=1.0.6544.29725, Culture=neutral, PublicKeyToken=null]](Shared.Common.ISecureDatabase database, GalaSoft.MvvmLight.Messaging.IMessenger messenger).
Exception is: SQLiteException - file is encrypted or is not a database
-----------------------------------------------
At the time of the exception, the container was:

  Resolving Shared.ViewModels.MainViewModel,(none) (mapped from Shared.ViewModels.IMainViewModel, (none))
  Resolving parameter "settingsService" of constructor Shared.ViewModels.MainViewModel(Shared.Services.ILifecycleService lifecycleService, Shared.Services.ISettingsService settingsService, Shared.Services.ISyncService syncService, Shared.Common.ITimerService timerService, Shared.Common.IDispatcherService dispatcherService, Shared.Common.IExten<\M-b\M^@\M-&>
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical: Stacktrace:
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical: 
Native stacktrace:
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     0   iOSTablet                           0x00000001042d76a4 sqlite3_sleep + 31848372
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     1   libsystem_platform.dylib            0x00000001871c7b44 _sigtramp + 52
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     2   libsystem_pthread.dylib             0x00000001871cd354 <redacted> + 396
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     3   libsystem_c.dylib                   0x0000000187028fd8 abort + 140
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     4   iOSTablet                           0x000000010440fea8 xamarin_get_block_descriptor + 4592
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     5   iOSTablet                           0x000000010431e338 sqlite3_sleep + 32138312
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     6   iOSTablet                           0x00000001042d71e4 sqlite3_sleep + 31847156
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     7   iOSTablet                           0x00000001042d6224 sqlite3_sleep + 31843124
Jan  3 10:51:43 TMs-iPad iOSTablet(CFNetwork)[486] <Notice>: Faulting in NSHTTPCookieStorage singleton
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     8   iOSTablet                           0x00000001042ce1d0 sqlite3_sleep + 31810272
Jan  3 10:51:43 TMs-iPad iOSTablet(CFNetwork)[486] <Notice>: Faulting in CFHTTPCookieStorage singleton
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     9   iOSTablet                           0x0000000102865b88 sqlite3_sleep + 4119704
Jan  3 10:51:43 TMs-iPad iOSTablet(CFNetwork)[486] <Notice>: Creating default cookie storage with default identifier
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     10  iOSTablet                           0x00000001025811a8 sqlite3_sleep + 1086136
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     11  iOSTablet                           0x0000000102836644 sqlite3_sleep + 3925844
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     12  iOSTablet                           0x00000001042e6790 sqlite3_sleep + 31910048
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     13  iOSTablet                           0x000000010435fe44 sqlite3_sleep + 32407380
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     14  iOSTablet                           0x0000000104362fa4 sqlite3_sleep + 32420020
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     15  iOSTablet                           0x00000001042ca9f4 sqlite3_sleep + 31795972
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     16  iOSTablet                           0x0000000104414c68 xamarin_localized_string_format_9 + 3232
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     17  iOSTablet                           0x0000000102580d48 sqlite3_sleep + 1085016
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical:     18  libdyld.dylib                       0x0000000186f8a56c <redacted> + 4
Jan  3 10:51:43 TMs-iPad iOSTablet[486] <Notice>: critical: 
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================
Jan  3 10:51:43 TMs-iPad iOSTablet(CFNetwork)[486] <Notice>: TIC Enabling TLS [1:0x1c016cc00]
Jan  3 10:51:43 TMs-iPad iOSTablet(CFNetwork)[486] <Notice>: TIC TCP Conn Start [1:0x1c016cc00]
Jan  3 10:51:43 TMs-iPad iOSTablet(CFNetwork)[486] <Notice>: Task <BB4F1538-1269-4E0D-8DD3-FB5E8A833C16>.<1> setting up Connection 1
Jan  3 10:51:43 TMs-iPad assertiond[64] <Notice>: Client relinquished <BKProcessAssertion: 0x100c36010; "Deliver Message" (suspend:10s); id:\M-b\M^@\M-&8D53F0618A2C>
Jan  3 10:51:43 TMs-iPad assertiond[64] <Notice>: [iOSTablet:486] Deactivate assertion: <BKProcessAssertion: 0x100c36010; "Deliver Message" (suspend:10s); id:\M-b\M^@\M-&8D53F0618A2C>
Jan  3 10:51:43 TMs-iPad assertiond[64] <Notice>: [iOSTablet:486] dump all assertions HWM:3 (deactivateAssertion): {
    <BKProcessAssertion: 0x100c18a80; "Resume" (activation:inf); id:\M-b\M^@\M-&3A0E463B0920> [active]
}
Jan  3 10:51:43 TMs-iPad assertiond[64] <Notice>: [iOSTablet:486] Setting jetsam priority to 10 [0x10100]
Jan  3 10:51:43 TMs-iPad assertiond[64] <Notice>: [iOSTablet:486] dump all assertions HWM:3 (CPUMON check): {
    <BKProcessAssertion: 0x100c18a80; "Resume" (activation:inf); id:\M-b\M^@\M-&3A0E463B0920> [active]
}
Jan  3 10:51:43 TMs-iPad assertiond[64] <Notice>: [iOSTablet:486] Remove assertion: <BKProcessAssertion: 0x100c36010; "Deliver Message" (suspend:10s); id:\M-b\M^@\M-&8D53F0618A2C>
Jan  3 10:51:43 TMs-iPad assertiond[64] <Notice>: [iOSTablet:486] dump all assertions HWM:3 (CPUMON check): {
    <BKProcessAssertion: 0x100c18a80; "Resume" (activation:inf); id:\M-b\M^@\M-&3A0E463B0920> [active]
}
Jan  3 10:51:43 TMs-iPad assertiond[64] <Notice>: -[BKAssertion dealloc] - <0x100c36010>
Jan  3 10:51:43 TMs-iPad SpringBoard(KeyboardArbiter)[53] <Error>: HW kbd: Failed to set (null) as keyboard focus
Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: #Warning Location connection invalid!
Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: {"msg":"CLConnection::handleDisconnection", "event":"activity"}
Jan  3 10:51:43 TMs-iPad locationd[61] <Notice>: Client com.dim.pod disconnected

1 个答案:

答案 0 :(得分:0)

计算SQL lite文件位置的API可能是错误的,因此您将错误的文件名传递给它。