deltachat / deltachat-core-rust

Delta Chat Rust Core library, used by Android/iOS/desktop apps, bindings and bots 📧
https://delta.chat/en/contribute
Other
659 stars 85 forks source link

When BackupProvider is dropped it should be killed #4179

Closed flub closed 1 year ago

flub commented 1 year ago

The FFI allows calling dc_backup_provider_unref at any point which simply drops the BackupProvider. However BackupProvider behaves like a tokio task in this regards: if dropped it just keeps on running in the background without a handle. This is not the expected behaviour from the FFI.

Two solutions are possible:

r10s commented 1 year ago

this is a typical crash i get on android from time to time when tapping "hard" around (open/close "Add Second Device" screen fast and often), i did not find a reproducible way. also the "happy paths" do not to crash for me.

``` 2023-03-27 15:45:31.460 21775-21775 Finsky pid-21775 I [1] VerifyInstallTask.aiA(7): VerifyApps: Verification complete: id=111, package_name=com.b44t.messenger.beta 2023-03-27 15:45:31.601 21775-21775 Finsky pid-21775 I [1] ivs.a(1): AIM: AppInfoCacheUpdater -> invalidating apps: [com.b44t.messenger.beta] 2023-03-27 15:45:31.660 21775-21874 Finsky pid-21775 I [10936] ixr.a(5): AIM: AppInfoManager-Perf > OnDeviceAppInfo > cacheHitCount=0, cacheMissCount=1. Missed in cache (limit 10) : [com.b44t.messenger.beta] 2023-03-27 15:45:31.792 21775-21848 Finsky pid-21775 I [10926] ppf.g(1): Installer: package com.b44t.messenger.beta was removed. replacing: true 2023-03-27 15:45:31.809 21775-21848 Finsky pid-21775 I [10926] ppf.V(18): Installer: Notifying status update. package=com.b44t.messenger.beta, status=UNINSTALLED, isid=NA 2023-03-27 15:45:31.824 21775-22286 Finsky pid-21775 I [10998] pzf.P(2): IQ: Notifying installation update. [Package:com.b44t.messenger.beta, isid:dHAiozUOQveUUZztE_xwgA], status=UNINSTALLED, tsc=PT466645H45M31.822S 2023-03-27 15:45:32.623 2474-469 ActivityManager pid-2474 I Force stopping com.b44t.messenger.beta appid=10142 user=0: from pid 22271 2023-03-27 15:45:33.509 21775-21775 Finsky pid-21775 I [1] ivs.a(1): AIM: AppInfoCacheUpdater -> invalidating apps: [com.b44t.messenger.beta] 2023-03-27 15:45:33.514 21775-21871 Finsky pid-21775 I [10935] ixr.a(5): AIM: AppInfoManager-Perf > OnDeviceAppInfo > cacheHitCount=0, cacheMissCount=1. Missed in cache (limit 10) : [com.b44t.messenger.beta] 2023-03-27 15:45:33.575 10084-22367 InstalledAppProviderSer pid-10084 D deleteAppFromDb com.b44t.messenger.beta 2023-03-27 15:45:33.944 2474-7104 ActivityManager pid-2474 I START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.b44t.messenger.beta/org.thoughtcrime.securesms.RoutingActivity} from uid 2000 on display 0 2023-03-27 15:45:33.978 2474-468 ActivityManager pid-2474 I Start proc 22415:com.b44t.messenger.beta/u0a142 for activity com.b44t.messenger.beta/org.thoughtcrime.securesms.RoutingActivity 2023-03-27 15:45:34.938 22415-22460 DeltaChat pid-22415 I src/sql.rs:294: Opened database "/data/user/0/com.b44t.messenger.beta/files/accounts/1176ba13-80be-4295-992b-d62348947f28/dc.db". 2023-03-27 15:45:36.765 2474-2570 LaunchCheckinHandler pid-2474 I Displayed com.b44t.messenger.beta/org.thoughtcrime.securesms.RoutingActivity,cp,ca,2800 2023-03-27 15:45:36.766 2474-2570 ActivityManager pid-2474 I Displayed com.b44t.messenger.beta/org.thoughtcrime.securesms.RoutingActivity: +2s800ms 2023-03-27 15:45:36.771 2931-2931 GoogleInputMethodServic pid-2931 I GoogleInputMethodService.onStartInput():1907 onStartInput(EditorInfo{inputType=0x0(NULL) imeOptions=0x0 privateImeOptions=null actionName=UNSPECIFIED actionLabel=null actionId=0 initialSelStart=-1 initialSelEnd=-1 initialCapsMode=0x0 hintText=null label=null packageName=com.b44t.messenger.beta fieldId=2131296684 fieldName=null extras=null}, false) 2023-03-27 15:45:36.966 348-348 SFPerfTracer pid-348 D layers: (4:12) (StatusBar (0xac68a400): 9:90054) (com.android.systemui.ImageWallpaper (0xac68b800): 9:79745)* (DimLayerController/Stack=0 (0xad251c00): 0:6356)* (Sprite (0xad24f400): 0:13)* (DockedStackDim (0xac697000): 0:10)* (animation background stackId=1 (0xac69ac00): 0:40)* (NavigationBar (0xac689000): 9:201) (com.android.settings/com.android.settings.ConfirmLockPattern (0xac68cc00): 0:91)- (com.google.android.googlequicksearchbox/com.google.android.launcher.GEL (0xac698400): 9:81)* (com.google.android.googlequicksearchbox/com.google.android.launcher.GEL (0xac699800): 9:80)* (Starting com.b44t.messenger.beta (0xac68cc00): 9:47) (com.b44t.messenger.beta/org.thoughtcrime.securesms.RoutingActivity (0xad250800): 9:15) 2023-03-27 15:45:37.138 10084-22433 InstalledAppProviderSer pid-10084 D insertAppIntoDb com.b44t.messenger.beta 2023-03-27 15:45:42.466 2474-30575 ActivityManager pid-2474 I START u0 {cmp=com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity} from uid 10142 on display 0 2023-03-27 15:45:42.873 2474-2570 LaunchCheckinHandler pid-2474 I Displayed com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity,wp,ca,379 2023-03-27 15:45:42.873 2474-2570 ActivityManager pid-2474 I Displayed com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity: +380ms 2023-03-27 15:45:42.875 2931-2931 GoogleInputMethodServic pid-2931 I GoogleInputMethodService.onStartInput():1907 onStartInput(EditorInfo{inputType=0x0(NULL) imeOptions=0x0 privateImeOptions=null actionName=UNSPECIFIED actionLabel=null actionId=0 initialSelStart=-1 initialSelEnd=-1 initialCapsMode=0x0 hintText=null label=null packageName=com.b44t.messenger.beta fieldId=2131296950 fieldName=null extras=null}, false) 2023-03-27 15:45:43.114 348-348 SFPerfTracer pid-348 D layers: (5:13) (StatusBar (0xac68a400): 10:90101) (com.android.systemui.ImageWallpaper (0xac68b800): 10:79790)* (DimLayerController/Stack=0 (0xad251c00): 0:6356)* (Sprite (0xad24f400): 0:13)* (DockedStackDim (0xac697000): 0:10)* (animation background stackId=1 (0xac69ac00): 1:41) (NavigationBar (0xac689000): 10:246) (com.google.android.googlequicksearchbox/com.google.android.launcher.GEL (0xac698400): 0:82)- (com.google.android.googlequicksearchbox/com.google.android.launcher.GEL (0xac699800): 0:81)- (Starting com.b44t.messenger.beta (0xac68cc00): 0:48)- (com.b44t.messenger.beta/org.thoughtcrime.securesms.RoutingActivity (0xad250800): 10:76) (PopupWindow:cf51d28 (0xac68cc00): 0:63)- (com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity (0xac698400): 10:15) 2023-03-27 15:45:53.003 2931-2931 GoogleInputMethodServic pid-2931 I GoogleInputMethodService.onStartInput():1907 onStartInput(EditorInfo{inputType=0x0(NULL) imeOptions=0x0 privateImeOptions=null actionName=UNSPECIFIED actionLabel=null actionId=0 initialSelStart=-1 initialSelEnd=-1 initialCapsMode=0x0 hintText=null label=null packageName=com.b44t.messenger.beta fieldId=2131296950 fieldName=null extras=null}, false) 2023-03-27 15:45:53.300 348-348 SFPerfTracer pid-348 D layers: (4:11) (StatusBar (0xac68a400): 11:90168) (com.android.systemui.ImageWallpaper (0xac68b800): 11:79857)* (DimLayerController/Stack=0 (0xad251c00): 0:6356)* (Sprite (0xad24f400): 0:13)* (DockedStackDim (0xac697000): 0:10)* (animation background stackId=1 (0xac69ac00): 0:42)* (NavigationBar (0xac689000): 11:313) (com.b44t.messenger.beta/org.thoughtcrime.securesms.RoutingActivity (0xad250800): 0:88)- (com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity (0xac698400): 0:58)- (com.android.settings/com.android.settings.ConfirmLockPattern (0xac68cc00): 11:74) (com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity (0xac698400): 11:17) 2023-03-27 15:45:56.224 2474-470 ActivityManager pid-2474 I START u0 {cmp=com.b44t.messenger.beta/org.thoughtcrime.securesms.qr.BackupTransferActivity (has extras)} from uid 10142 on display 0 2023-03-27 15:45:56.283 348-348 SFPerfTracer pid-348 D layers: (3:10) (StatusBar (0xac68a400): 5:90202) (com.android.systemui.ImageWallpaper (0xac68b800): 5:79891)* (DimLayerController/Stack=0 (0xad251c00): 0:6356)* (Sprite (0xad24f400): 0:13)* (DockedStackDim (0xac697000): 0:10)* (animation background stackId=1 (0xac69ac00): 0:42)* (NavigationBar (0xac689000): 5:347) (com.android.settings/com.android.settings.ConfirmLockPattern (0xac68cc00): 0:76)- (com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity (0xac698400): 0:46)- (com.android.settings/com.android.settings.ConfirmLockPattern (0xac68cc00): 50:101) 2023-03-27 15:45:56.419 22415-22460 DeltaChat pid-22415 W src/sql.rs:898: Housekeeping: Cannot read dir /data/user/0/com.b44t.messenger.beta/files/accounts/1176ba13-80be-4295-992b-d62348947f28/dc.db-blobs/blobs_backup: No such file or directory (os error 2). 2023-03-27 15:45:56.548 2474-2570 LaunchCheckinHandler pid-2474 I Displayed com.b44t.messenger.beta/org.thoughtcrime.securesms.qr.BackupTransferActivity,wp,ca,311 2023-03-27 15:45:56.549 2474-2570 ActivityManager pid-2474 I Displayed com.b44t.messenger.beta/org.thoughtcrime.securesms.qr.BackupTransferActivity: +311ms 2023-03-27 15:45:56.595 2931-2931 GoogleInputMethodServic pid-2931 I GoogleInputMethodService.onStartInput():1907 onStartInput(EditorInfo{inputType=0x0(NULL) imeOptions=0x0 privateImeOptions=null actionName=UNSPECIFIED actionLabel=null actionId=0 initialSelStart=-1 initialSelEnd=-1 initialCapsMode=0x0 hintText=null label=null packageName=com.b44t.messenger.beta fieldId=-1 fieldName=null extras=null}, false) 2023-03-27 15:45:59.670 348-348 SFPerfTracer pid-348 D layers: (3:9) (StatusBar (0xac68a400): 2:90229) (com.android.systemui.ImageWallpaper (0xac68b800): 1:79917)* (DimLayerController/Stack=0 (0xad251c00): 0:6356)* (Sprite (0xad24f400): 0:13)* (DockedStackDim (0xac697000): 0:10)* (animation background stackId=1 (0xac69ac00): 0:42)* (NavigationBar (0xac689000): 1:373) (com.android.settings/com.android.settings.ConfirmLockPattern (0xac68cc00): 0:119)- (com.b44t.messenger.beta/org.thoughtcrime.securesms.qr.BackupTransferActivity (0xac698400): 172:185) 2023-03-27 15:46:02.325 2474-2490 ActivityManager pid-2474 I START u0 {cmp=com.b44t.messenger.beta/org.thoughtcrime.securesms.ConversationListActivity} from uid 10142 on display 0 2023-03-27 15:46:02.355 2474-6698 ActivityManager pid-2474 I START u0 {cmp=com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity} from uid 10142 on display 0 2023-03-27 15:46:02.659 2931-2931 GoogleInputMethodServic pid-2931 I GoogleInputMethodService.onStartInput():1907 onStartInput(EditorInfo{inputType=0x0(NULL) imeOptions=0x0 privateImeOptions=null actionName=UNSPECIFIED actionLabel=null actionId=0 initialSelStart=-1 initialSelEnd=-1 initialCapsMode=0x0 hintText=null label=null packageName=com.b44t.messenger.beta fieldId=2131296950 fieldName=null extras=null}, false) 2023-03-27 15:46:02.660 2474-2570 LaunchCheckinHandler pid-2474 I Displayed com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity,wp,ca,260 2023-03-27 15:46:02.660 2474-2570 ActivityManager pid-2474 I Displayed com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity: +260ms 2023-03-27 15:46:04.269 348-348 SFPerfTracer pid-348 D layers: (3:11) (StatusBar (0xac68a400): 3:90295) (com.android.systemui.ImageWallpaper (0xac68b800): 3:79982)* (DimLayerController/Stack=0 (0xad251c00): 0:6376)* (Sprite (0xad24f400): 0:13)* (DockedStackDim (0xac697000): 0:10)* (animation background stackId=1 (0xac69ac00): 0:42)* (NavigationBar (0xac689000): 3:457) (com.b44t.messenger.beta/org.thoughtcrime.securesms.qr.BackupTransferActivity (0xac698400): 0:222)- (com.b44t.messenger.beta/org.thoughtcrime.securesms.qr.BackupTransferActivity (0xac68cc00): 0:30)- (com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity (0xac699800): 3:41)* (com.android.settings/com.android.settings.ConfirmLockPattern (0xac68cc00): 3:15) 2023-03-27 15:46:10.972 2474-471 ActivityManager pid-2474 I START u0 {cmp=com.b44t.messenger.beta/org.thoughtcrime.securesms.qr.BackupTransferActivity (has extras)} from uid 10142 on display 0 2023-03-27 15:46:11.248 22619-22619 DEBUG pid-22619 A pid: 22415, tid: 22606, name: Thread-8 >>> com.b44t.messenger.beta <<< 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #05 pc 0072dc77 /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #06 pc 00747595 /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #07 pc 00748257 /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #08 pc 00403a6b /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #09 pc 003fdd39 /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #10 pc 00403a63 /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #11 pc 00403a5b /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #12 pc 00403a53 /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #13 pc 00403a4b /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #14 pc 0040e56b /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #15 pc 00412f2d /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #16 pc 0041208b /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #17 pc 00a17fac /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #18 pc 00413e6b /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #19 pc 005a633d /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #20 pc 0051488b /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #21 pc 00748c67 /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #22 pc 00627861 /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #23 pc 00627847 /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #24 pc 006278cb /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #25 pc 004cf41d /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #26 pc 00452433 /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #27 pc 00525e69 /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #28 pc 0051168b /data/app/com.b44t.messenger.beta-1/lib/arm/libnative-utils.so (dc_backup_provider_wait+134) 2023-03-27 15:46:11.271 22619-22619 DEBUG pid-22619 A #29 pc 01660dbf /data/app/com.b44t.messenger.beta-1/oat/arm/base.odex (offset 0x1583000) 2023-03-27 15:46:12.225 2474-22620 ActivityManager pid-2474 W Force finishing activity com.b44t.messenger.beta/org.thoughtcrime.securesms.qr.BackupTransferActivity 2023-03-27 15:46:12.482 2474-2490 ActivityManager pid-2474 I Process com.b44t.messenger.beta (pid 22415) has died 2023-03-27 15:46:12.486 2474-2831 InputDispatcher pid-2474 W channel 'bfe33a6 com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9 2023-03-27 15:46:12.486 2474-2831 InputDispatcher pid-2474 E channel 'bfe33a6 com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 2023-03-27 15:46:12.500 2474-470 WindowManager pid-2474 I WIN DEATH: Window{bfe33a6 u0 com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity} 2023-03-27 15:46:12.501 2474-470 InputDispatcher pid-2474 W Attempted to unregister already unregistered input channel 'bfe33a6 com.b44t.messenger.beta/org.thoughtcrime.securesms.ApplicationPreferencesActivity (server)' 2023-03-27 15:46:15.093 2474-22620 ActivityManager pid-2474 W Ignoring remove of inactive process: ProcessRecord{7bd6115 0:com.b44t.messenger.beta/u0a142} 2023-03-27 15:46:26.920 348-348 SFPerfTracer pid-348 D layers: (5:11) (StatusBar (0xac68a400): 0:90439) (com.android.systemui.ImageWallpaper (0xac68b800): 0:80122) (DimLayerController/Stack=0 (0xad251c00): 0:6393)* (Sprite (0xad24f400): 0:13)* (DockedStackDim (0xac697000): 0:10)* (animation background stackId=1 (0xac69ac00): 0:42)* (NavigationBar (0xac689000): 0:597) (com.android.settings/com.android.settings.ConfirmLockPattern (0xac68cc00): 0:204)- (Application Error: com.b44t.messenger.beta (0xac698400): 0:43)- (com.google.android.googlequicksearchbox/com.google.android.launcher.GEL (0xac699800): 0:33) (com.google.android.googlequicksearchbox/com.google.android.launcher.GEL (0xad250800): 0:54) ```
flub commented 1 year ago

Closed by #4242 but somehow the automation didn't work