briar issueshttps://code.briarproject.org/groups/briar/-/issues2022-06-29T13:00:53Zhttps://code.briarproject.org/briar/briar-desktop/-/issues/351Specifiying different tor control and socks ports after first launch doesn't ...2022-06-29T13:00:53ZSebastianSpecifiying different tor control and socks ports after first launch doesn't workOn first start of the TorPlugin, the config file is created on the fly and stored in `$ACCOUNT_DIR/tor/torrc`. It is not rewritten on subsequent starts of the TorPlugin, hence when different Tor ports are specified the tor process is sta...On first start of the TorPlugin, the config file is created on the fly and stored in `$ACCOUNT_DIR/tor/torrc`. It is not rewritten on subsequent starts of the TorPlugin, hence when different Tor ports are specified the tor process is started with the old ports specified in the torrc file while the plugin tries to communicate with the tor process on the new ports, which fails.https://code.briarproject.org/briar/briar/-/issues/2345NPE when unlocking app2022-06-29T10:44:12ZakwizgranNPE when unlocking app* Android version: 9
* Phone model: Huawei ANE-LX1
* Briar version: 1.4.8 (6e61827)
Stacktrace:
```
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=11, result=0, data=null} to activity {org.briarprojec...* Android version: 9
* Phone model: Huawei ANE-LX1
* Briar version: 1.4.8 (6e61827)
Stacktrace:
```
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=11, result=0, data=null} to activity {org.briarproject.briar.android/org.briarproject.briar.android.navdrawer.NavDrawerActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.android.server.fingerprint.ClientMonitor.stop(boolean)' on a null object reference
at android.app.ActivityThread.deliverResults(ActivityThread.java:5078)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5120)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199)
at android.os.Handler.dispatchMessage(Handler.java:112)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.android.server.fingerprint.ClientMonitor.stop(boolean)' on a null object reference
at android.os.Parcel.createException(Parcel.java:1965)
at android.os.Parcel.readException(Parcel.java:1927)
at android.os.Parcel.readException(Parcel.java:1877)
at android.app.IActivityManager$Stub$Proxy.finishActivity(IActivityManager.java:3774)
at android.app.Activity.finish(Activity.java:5905)
at android.app.Activity.finish(Activity.java:5929)
at android.app.Activity.finishAfterTransition(Activity.java:5990)
at androidx.core.app.ActivityCompat.finishAfterTransition(ActivityCompat.java:305)
at androidx.fragment.app.FragmentActivity.supportFinishAfterTransition(FragmentActivity.java:178)
at org.briarproject.briar.android.activity.BriarActivity.onActivityResult(BriarActivity.java:91)
at org.briarproject.briar.android.navdrawer.NavDrawerActivity.onActivityResult(NavDrawerActivity.java:223)
at android.app.Activity.dispatchActivityResult(Activity.java:7797)
at android.app.ActivityThread.deliverResults(ActivityThread.java:5071)
... 11 more
```
Edited log:
```
06-20 12:03:16.624 I/BriarService: Trim memory: running moderately low
06-20 12:03:16.624 I/BriarService: Clearing Glide cache
06-20 12:03:17.244 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
06-20 12:03:28.006 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_OFF
06-20 12:07:38.666 I/BaseActivity: Starting NavDrawerActivity
06-20 12:07:38.671 I/BaseActivity: Resuming NavDrawerActivity
06-20 12:07:38.672 I/BriarActivity: Locked, launching UnlockActivity
06-20 12:07:38.799 I/BaseActivity: Pausing NavDrawerActivity
06-20 12:07:38.840 I/BaseActivity: Creating UnlockActivity
06-20 12:07:38.872 I/BaseActivity: Starting UnlockActivity
06-20 12:07:38.874 I/BaseActivity: Resuming UnlockActivity
06-20 12:07:39.133 I/BaseActivity: Stopping NavDrawerActivity
06-20 12:07:39.655 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
06-20 12:07:39.793 I/BaseActivity: Pausing UnlockActivity
```
The SCREEN_ON broadcast seems to have been received nearly a second after NavDrawerActivity was started and replaced by UnlockActivity. The broadcasts are sometimes delivered late so I'm not sure if that's relevant.
The device has `"android.hardware.fingerprint" : true`.https://code.briarproject.org/briar/briar/-/issues/2341Follow-up from "Add Tor plugin for Windows": look into using Tor's --service ...2022-06-22T08:20:50ZSebastianFollow-up from "Add Tor plugin for Windows": look into using Tor's --service optionThe following discussion from !1666 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar/-/merge_requests/1666#note_68084): (+1 comment)
> Cool that this works like this anyway.
>...The following discussion from !1666 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar/-/merge_requests/1666#note_68084): (+1 comment)
> Cool that this works like this anyway.
>
> The man page says:
>
> > RunAsDaemon 0|1
> >
> > If 1, Tor forks and daemonizes to the background. This option has no effect on Windows; instead you should use the --service command-line option. Can not be changed while tor is running. (Default: 0)
>
> Did you consider using the `--service` option?SebastianSebastianhttps://code.briarproject.org/briar/briar/-/issues/2224briar doesn't build with JDK 172022-06-20T18:12:14ZSebastianbriar doesn't build with JDK 17Running the tests reveals a few problemsRunning the tests reveals a few problemshttps://code.briarproject.org/briar/briar/-/issues/2287Scrub path to Tor config file2022-06-20T17:10:53ZakwizgranScrub path to Tor config fileWhen Tor starts it prints the path to the config file, which we log. On Android this path doesn't contain any sensitive information, but on Desktop it might (eg usernames). We should scrub that line before logging it.When Tor starts it prints the path to the config file, which we log. On Android this path doesn't contain any sensitive information, but on Desktop it might (eg usernames). We should scrub that line before logging it.https://code.briarproject.org/briar/briar/-/issues/1595Add blocks table to database2022-06-15T12:02:17ZakwizgranAdd blocks table to databaseSubtask of #1240Subtask of #1240Multi-block messagesakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1601Delete block rows for deleted messages2022-06-15T12:02:17ZakwizgranDelete block rows for deleted messagesAs well as deleting the content of blocks when we delete a message, it would be nice if we could delete the rows from the blocks table.
Subtask of #1239.As well as deleting the content of blocks when we delete a message, it would be nice if we could delete the rows from the blocks table.
Subtask of #1239.Multi-block messageshttps://code.briarproject.org/briar/briar/-/issues/1238Design changes to sync protocol to support multi-block messages2022-06-15T12:02:16ZakwizgranDesign changes to sync protocol to support multi-block messagesSubtask of #1237.Subtask of #1237.Multi-block messageshttps://code.briarproject.org/briar/briar/-/issues/304Block path algorithms for BSP2022-06-15T12:02:16ZakwizgranBlock path algorithms for BSPDescribe how to calculate which hashes belong to a block's path, given the block number and message length.
Subtask of #249.Describe how to calculate which hashes belong to a block's path, given the block number and message length.
Subtask of #249.Multi-block messagesakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1602Add block status table to database2022-06-15T12:02:16ZakwizgranAdd block status table to databaseFor multi-block messages we need to track the sync status of individual blocks as well as whole messages.
Subtask of #1240.For multi-block messages we need to track the sync status of individual blocks as well as whole messages.
Subtask of #1240.Multi-block messagesakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1239Implement changes to sync protocol to support multi-block messages2022-06-15T12:02:16ZakwizgranImplement changes to sync protocol to support multi-block messagesSubtask of #1237.Subtask of #1237.Multi-block messageshttps://code.briarproject.org/briar/briar/-/issues/1240Update database and sync API to support large messages2022-06-15T12:02:16ZakwizgranUpdate database and sync API to support large messagesSubtask of #1237.Subtask of #1237.Multi-block messageshttps://code.briarproject.org/briar/briar/-/issues/2335Show warning dialog if Tor detects clock skew2022-06-14T11:54:25ZakwizgranShow warning dialog if Tor detects clock skewThe Tor plugin already listens for STATUS_GENERAL events from Tor and parses CLOCK_SKEW messages. It should use these messages to broadcast EventBus events that can be received by the UI.
The UI should react to these events by showing a...The Tor plugin already listens for STATUS_GENERAL events from Tor and parses CLOCK_SKEW messages. It should use these messages to broadcast EventBus events that can be received by the UI.
The UI should react to these events by showing a warning dialog telling the user to check that the device's time, date and timezone are correct (perhaps with some filtering to ensure that we don't show the dialog again immediately after the user has dismissed it).
The dialog should be shown immediately if clock skew is detected while the app's in the foreground. If clock skew is detected while the app is in the background then the dialog should be shown when the app's brought to the foreground. We may be able to use a LiveEvent for this.https://code.briarproject.org/briar/briar/-/issues/2334IllegalArgumentException: Center point is not inside any of the rectangles2022-06-13T15:46:19ZakwizgranIllegalArgumentException: Center point is not inside any of the rectangles* Android version: 11
* Phone model: Realme RMX3085 (RMX3085RU)
* Briar version: 1.4.5 (4df523a)
Last lines of log:
```
03-06 17:10:56.730 I/BaseActivity: Pausing ConversationActivity
03-06 17:10:56.741 I/BaseActivity: Starting NavDrawe...* Android version: 11
* Phone model: Realme RMX3085 (RMX3085RU)
* Briar version: 1.4.5 (4df523a)
Last lines of log:
```
03-06 17:10:56.730 I/BaseActivity: Pausing ConversationActivity
03-06 17:10:56.741 I/BaseActivity: Starting NavDrawerActivity
03-06 17:10:56.741 I/BaseActivity: Resuming NavDrawerActivity
03-06 17:10:57.210 I/BaseActivity: Stopping ConversationActivity
03-06 17:10:57.213 I/BaseActivity: Destroying ConversationActivity
03-06 17:11:01.090 I/BaseActivity: Pausing NavDrawerActivity
03-06 17:11:01.100 I/BaseActivity: Creating ConversationActivity
03-06 17:11:01.108 I/ConversationViewModel: PrivateMessageFormat loaded: TEXT_IMAGES_AUTO_DELETE
03-06 17:11:01.121 I/BaseActivity: Starting ConversationActivity
03-06 17:11:01.123 I/BaseActivity: Resuming ConversationActivity
03-06 17:11:01.159 I/ConversationActivity: Eagerly loading text for latest message
03-06 17:11:01.577 I/BaseActivity: Stopping NavDrawerActivity
03-06 17:11:02.299 I/BaseActivity: Pausing ConversationActivity
03-06 17:11:02.309 I/BaseActivity: Starting NavDrawerActivity
03-06 17:11:02.309 I/BaseActivity: Resuming NavDrawerActivity
03-06 17:11:02.781 I/BaseActivity: Stopping ConversationActivity
03-06 17:11:02.783 I/BaseActivity: Destroying ConversationActivity
03-06 17:11:03.434 I/BaseActivity: Pausing NavDrawerActivity
03-06 17:11:03.447 I/BaseActivity: Creating ConversationActivity
03-06 17:11:03.452 I/ConversationViewModel: PrivateMessageFormat loaded: TEXT_IMAGES_AUTO_DELETE
03-06 17:11:03.468 I/BaseActivity: Starting ConversationActivity
03-06 17:11:03.469 I/BaseActivity: Resuming ConversationActivity
03-06 17:11:03.506 I/ConversationActivity: Eagerly loading text for latest message
03-06 17:11:03.923 I/BaseActivity: Stopping NavDrawerActivity
```
Stacktrace:
```
java.lang.IllegalArgumentException: Center point is not inside any of the rectangles!
at android.widget.SmartSelectSprite.startAnimation(SmartSelectSprite.java:391)
at android.widget.SelectionActionModeHelper.startSelectionActionModeWithSmartSelectAnimation(SelectionActionModeHelper.java:357)
at android.widget.SelectionActionModeHelper.lambda$l1f1_V5lw6noQxI_3u11qF753Iw(Unknown Source:0)
at android.widget.-$$Lambda$SelectionActionModeHelper$l1f1_V5lw6noQxI_3u11qF753Iw.accept(Unknown Source:4)
at android.widget.SelectionActionModeHelper$TextClassificationAsyncTask.onPostExecute(SelectionActionModeHelper.java:1039)
at android.widget.SelectionActionModeHelper$TextClassificationAsyncTask.onPostExecute(SelectionActionModeHelper.java:993)
at android.os.AsyncTask.finish(AsyncTask.java:771)
at android.os.AsyncTask.access$900(AsyncTask.java:199)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:788)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:255)
at android.app.ActivityThread.main(ActivityThread.java:8232)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)
```
Possibly a platform bug that was triggered when selecting text?https://code.briarproject.org/briar/briar/-/issues/2218AssertionError in ImagePreviewAdapter2022-06-13T15:40:40ZakwizgranAssertionError in ImagePreviewAdapter* Unknown device and Android version
* Briar version: 1.3.8 (8076775)
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.view.ImagePreviewAdapter.loadItemPreview(ImagePreviewAdapter.java:57)
at or...* Unknown device and Android version
* Briar version: 1.3.8 (8076775)
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.view.ImagePreviewAdapter.loadItemPreview(ImagePreviewAdapter.java:57)
at org.briarproject.briar.android.view.ImagePreview.loadPreviewImage(ImagePreview.java:80)
at org.briarproject.briar.android.view.TextAttachmentController.onNewAttachmentItemResults(TextAttachmentController.java:206)
at org.briarproject.briar.android.view.TextAttachmentController.access$000(TextAttachmentController.java:44)
at org.briarproject.briar.android.view.TextAttachmentController$1.onChanged(TextAttachmentController.java:187)
at org.briarproject.briar.android.view.TextAttachmentController$1.onChanged(TextAttachmentController.java:179)
at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
at androidx.lifecycle.LiveData$1.run(LiveData.java:93)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:101)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7529)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
```
Edited log:
```
11-05 07:59:31.582 I/BaseActivity: Starting ConversationActivity
11-05 07:59:31.587 I/BaseActivity: Resuming ConversationActivity
11-05 07:59:36.274 I/BaseActivity: Pausing ConversationActivity
11-05 07:59:36.324 I/BaseActivity: Stopping ConversationActivity
11-05 07:59:43.717 I/BaseActivity: Starting ConversationActivity
11-05 07:59:43.718 I/BaseActivity: Resuming ConversationActivity
11-05 07:59:45.204 I/BaseActivity: Pausing ConversationActivity
11-05 07:59:45.544 I/BaseActivity: Stopping ConversationActivity
11-05 07:59:55.742 I/BaseActivity: Starting ConversationActivity
11-05 07:59:55.757 I/BaseActivity: Resuming ConversationActivity
11-05 07:59:55.770 I/ImageCompressorImpl: Original image size: 1009x1080
11-05 07:59:55.771 I/ImageCompressorImpl: Scaling attachment by factor of 2
11-05 07:59:55.881 I/ImageCompressorImpl: Compressed image to 28169 bytes, quality 50
11-05 08:00:00.017 I/BaseActivity: Pausing ConversationActivity
11-05 08:00:00.479 I/BaseActivity: Stopping ConversationActivity
11-05 08:01:00.413 I/BaseActivity: Starting ConversationActivity
11-05 08:01:00.427 I/BaseActivity: Resuming ConversationActivity
11-05 08:01:00.437 I/ImageCompressorImpl: Original image size: 1280x1256
11-05 08:01:00.437 I/ImageCompressorImpl: Scaling attachment by factor of 2
11-05 08:01:00.549 I/ImageCompressorImpl: Compressed image to 30288 bytes, quality 70
```
Looks like the user chose one image, then after a minute returned to ConversationActivity and chose a second image. The log shows one contact connected, and keepalives being sent, but no messages being sent.Android 1.4https://code.briarproject.org/briar/briar/-/issues/2333AssertionError in TextAttachmentController when previewing attachments2022-06-13T15:40:19ZakwizgranAssertionError in TextAttachmentController when previewing attachments* Android version: 9
* Phone model: Tecno KC2j (H6113)
* Briar version: 1.4.5 (4df523a)
Edited log:
```
03-23 21:53:07.213 I/BaseActivity: Starting ConversationActivity
03-23 21:53:07.214 I/BaseActivity: Resuming ConversationActivity
03...* Android version: 9
* Phone model: Tecno KC2j (H6113)
* Briar version: 1.4.5 (4df523a)
Edited log:
```
03-23 21:53:07.213 I/BaseActivity: Starting ConversationActivity
03-23 21:53:07.214 I/BaseActivity: Resuming ConversationActivity
03-23 21:53:17.378 I/BaseActivity: Pausing ConversationActivity
03-23 21:53:17.827 I/BaseActivity: Stopping ConversationActivity
03-23 21:53:18.516 I/BaseActivity: Starting ConversationActivity
03-23 21:53:18.518 I/BaseActivity: Resuming ConversationActivity
03-23 21:53:19.508 I/BaseActivity: Pausing ConversationActivity
03-23 21:53:19.557 I/ConversationActivity: Concurrent update, reloading
03-23 21:53:19.906 I/AutoDeleteManagerImpl: Sending message with auto-delete timer -1
03-23 21:53:20.007 I/BaseActivity: Stopping ConversationActivity
03-23 21:53:20.065 I/ContactsViewModel: Conversation message tracked, updating item
03-23 21:53:21.340 I/AutoDeleteManagerImpl: Sending message with auto-delete timer -1
03-23 21:53:21.467 I/ContactsViewModel: Conversation message tracked, updating item
03-23 21:53:21.533 I/BaseActivity: Starting ConversationActivity
03-23 21:53:21.550 I/BaseActivity: Resuming ConversationActivity
03-23 21:53:21.583 I/ImageCompressorImpl: Original image size: 640x1337
03-23 21:53:21.583 I/ImageCompressorImpl: Scaling attachment by factor of 2
03-23 21:53:21.657 I/ImageCompressorImpl: Compressed image to 28878 bytes, quality 60
03-23 21:53:41.496 I/AndroidTaskScheduler: Running 1 due tasks
03-23 21:53:41.496 I/AndroidTaskScheduler: Task is 2 ms overdue
03-23 21:53:42.337 I/AndroidTaskScheduler: Running 1 due tasks
03-23 21:53:42.337 I/AndroidTaskScheduler: Task is 1 ms overdue
03-23 21:53:54.255 I/ConversationActivity: Eagerly loading text for latest message
03-23 21:53:54.495 I/ConversationActivity: Concurrent update, reloading
```
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.view.TextAttachmentController.onNewAttachmentItemResults(TextAttachmentController.java:200)
at org.briarproject.briar.android.view.TextAttachmentController.access$000(TextAttachmentController.java:44)
at org.briarproject.briar.android.view.TextAttachmentController$1.onChanged(TextAttachmentController.java:187)
at org.briarproject.briar.android.view.TextAttachmentController$1.onChanged(TextAttachmentController.java:179)
at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
at androidx.lifecycle.LiveData$1.run(LiveData.java:93)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6758)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:497)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:912)
```
This looks similar to #2218 but it's a different assertion that's failing.Android 1.4https://code.briarproject.org/briar/briar/-/issues/2332NPE in AutofillManager2022-06-13T15:14:03ZakwizgranNPE in AutofillManager* Android version: 12
* Phone model: OnePlus LE2125 (OnePlus9Pro)
* Briar version: 1.4.5 (4df523a)
Log:
```
03-16 13:27:13.111 I/BriarApplicationImpl: Created
03-16 13:27:13.125 I/BaseActivity: Creating SplashScreenActivity
03-16 13:27:...* Android version: 12
* Phone model: OnePlus LE2125 (OnePlus9Pro)
* Briar version: 1.4.5 (4df523a)
Log:
```
03-16 13:27:13.111 I/BriarApplicationImpl: Created
03-16 13:27:13.125 I/BaseActivity: Creating SplashScreenActivity
03-16 13:27:13.137 I/BaseActivity: Starting SplashScreenActivity
03-16 13:27:13.137 I/BaseActivity: Resuming SplashScreenActivity
03-16 13:27:13.656 I/BaseActivity: Pausing SplashScreenActivity
03-16 13:27:13.666 I/BaseActivity: Creating NavDrawerActivity
03-16 13:27:13.682 I/BaseActivity: Starting NavDrawerActivity
03-16 13:27:13.683 I/BaseActivity: Resuming NavDrawerActivity
03-16 13:27:13.683 I/BriarActivity: Not signed in, launching StartupActivity
03-16 13:27:13.690 I/BaseActivity: Pausing NavDrawerActivity
03-16 13:27:13.697 I/BaseActivity: Creating StartupActivity
03-16 13:27:13.701 I/AccountManagerImpl: Found database key in primary file
03-16 13:27:13.701 I/BaseActivity: Starting StartupActivity
03-16 13:27:13.709 I/BaseActivity: Resuming StartupActivity
03-16 13:27:13.739 I/BaseActivity: Stopping NavDrawerActivity
03-16 13:27:14.167 I/BaseActivity: Stopping SplashScreenActivity
03-16 13:27:14.167 I/BaseActivity: Destroying SplashScreenActivity
03-16 13:27:16.222 I/BaseActivity: Pausing StartupActivity
03-16 13:27:17.069 I/BaseActivity: Stopping StartupActivity
```
Stacktrace:
```
Failure delivering result ResultInfo{who=@android:autoFillAuth:, request=1048576, result=-1, data=Intent { }} to activity {org.briarproject.briar.android/org.briarproject.briar.android.login.StartupActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Bundle.containsKey(java.lang.String)' on a null object reference
java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:autoFillAuth:, request=1048576, result=-1, data=Intent { }} to activity {org.briarproject.briar.android/org.briarproject.briar.android.login.StartupActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Bundle.containsKey(java.lang.String)' on a null object reference
at android.app.ActivityThread.deliverResults(ActivityThread.java:5510)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5549)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:54)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2341)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:233)
at android.os.Looper.loop(Looper.java:344)
at android.app.ActivityThread.main(ActivityThread.java:8184)
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: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Bundle.containsKey(java.lang.String)' on a null object reference
at android.view.autofill.AutofillManager.onAuthenticationResult(AutofillManager.java:1798)
at android.app.Activity.dispatchActivityResult(Activity.java:8494)
at android.app.ActivityThread.deliverResults(ActivityThread.java:5503)
```https://code.briarproject.org/briar/briar/-/issues/1422ActivityRecord not found for ConversationActivity2022-06-13T15:11:23ZakwizgranActivityRecord not found for ConversationActivity* Android version: 8.1.0
* Briar version: 1.1.1 (9476782)
* Phone model: Samsung SM-J727A (j7popelteuc)
* User feedback: "It would not open any more."
Stacktrace:
```
java.lang.IllegalArgumentException: reportSizeConfigurations: Activit...* Android version: 8.1.0
* Briar version: 1.1.1 (9476782)
* Phone model: Samsung SM-J727A (j7popelteuc)
* User feedback: "It would not open any more."
Stacktrace:
```
java.lang.IllegalArgumentException: reportSizeConfigurations: ActivityRecord not found for: Token{72da83 ActivityRecord{c281601 u0 org.briarproject.briar.android/.contact.ConversationActivity t-1 f}}
at android.os.Parcel.readException(Parcel.java:2025)
at android.os.Parcel.readException(Parcel.java:1967)
at android.app.IActivityManager$Stub$Proxy.reportSizeConfigurations(IActivityManager.java:9838)
at android.app.ActivityThread.reportSizeConfigurations(ActivityThread.java:3102)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1711)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6958)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
```
Log:
```
10-08 10:37:18.003 I/AndroidAccountManager: No database key in preferences
10-08 10:37:18.005 I/AccountManagerImpl: Found database key in primary file
10-08 10:37:18.005 I/SplashScreenActivity: Account exists
10-08 10:37:18.403 I/AndroidAccountManager: No database key in preferences
10-08 10:37:18.403 I/AccountManagerImpl: Found database key in primary file
10-08 10:37:28.469 I/AndroidAccountManager: No database key in preferences
10-08 10:37:28.470 I/AccountManagerImpl: Found database key in primary file
10-08 10:37:29.093 I/BriarService: Created
10-08 10:37:29.114 I/LifecycleManagerImpl: Starting services
10-08 10:37:49.668 I/IdentityManagerImpl: No local author to store
10-08 10:37:49.671 I/IdentityManagerImpl: Local author loaded
10-08 10:37:49.679 I/AndroidNetworkManager: Received broadcast android.net.conn.CONNECTIVITY_CHANGE
10-08 10:37:55.291 I/PluginManagerImpl: Starting poller
10-08 10:37:55.292 I/PluginManagerImpl: Starting simplex plugins
10-08 10:37:55.292 I/PluginManagerImpl: Starting duplex plugins
10-08 10:37:55.308 I/AndroidLanTcpPlugin: Not connected to wifi
10-08 10:37:55.309 I/TorPlugin: Starting Tor
10-08 10:37:55.401 I/BluetoothPlugin: Local address null
10-08 10:37:55.452 I/BriarRecyclerView: Adding Handler Callback
10-08 10:37:57.166 I/TorPlugin: Oct 08 06:37:57.161 [notice] Tor 0.2.9.16 (git-645ef2e2854b2225) running on Linux with Libevent 2.0.22-stable, OpenSSL 1.0.2o and Zlib 1.2.8.
10-08 10:37:57.213 I/TorPlugin: Oct 08 06:37:57.165 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
10-08 10:37:57.214 I/TorPlugin: Oct 08 06:37:57.167 [notice] Read configuration file \"/data/user/0/org.briarproject.briar.android/app_tor/torrc\".
10-08 10:37:57.214 I/TorPlugin: Oct 08 06:37:57.191 [notice] Opening Control listener on 127.0.0.1:59051
10-08 10:37:57.214 I/TorPlugin: Oct 08 06:37:57.191 [notice] DisableNetwork is set. Tor will not make or accept non-control network connections. Shutting down all existing connections.
10-08 10:37:57.216 I/TorPlugin: Auth cookie created
10-08 10:37:58.718 I/BriarRecyclerView: Adding Handler Callback
10-08 10:37:59.346 I/BriarRecyclerView: Removing Handler Callback
10-08 10:38:00.017 I/KeyboardAwareLinearLayout: onKeyboardOpen(542)
10-08 10:38:00.628 I/TorPlugin: Online: true, wifi: false
10-08 10:38:00.628 I/TorPlugin: Country code: US
10-08 10:38:00.628 I/TorPlugin: Enabling network, not using bridges
10-08 10:38:00.646 I/TorPlugin: NOTICE DisableNetwork is set. Tor will not make or accept non-control network connections. Shutting down all existing connections.
10-08 10:38:00.646 I/RenewableWakeLock: Acquiring wake lock LocationManagerService
10-08 10:38:00.667 I/TorPlugin: NOTICE Opening Socks listener on 127.0.0.1:59050
10-08 10:38:01.703 I/TorPlugin: NOTICE Bootstrapped 80%: Connecting to the Tor network
10-08 10:38:01.704 I/TorPlugin: OR connection LAUNCHED $7AA7FC80E3E0D32E929D2CC094EACF529C95264C~steinpilz
10-08 10:38:01.705 I/TorPlugin: OR connection LAUNCHED $1E17564CDD5A6B70A6F73C053A479BC5EE2D0A89~Unnamed
10-08 10:38:01.930 I/TorPlugin: NOTICE Bootstrapped 85%: Finishing handshake with first hop
10-08 10:38:02.641 I/TorPlugin: OR connection CONNECTED $1E17564CDD5A6B70A6F73C053A479BC5EE2D0A89~Unnamed
10-08 10:38:02.660 I/TorPlugin: NOTICE Bootstrapped 90%: Establishing a Tor circuit
10-08 10:38:02.660 I/TorPlugin: OR connection CONNECTED $7AA7FC80E3E0D32E929D2CC094EACF529C95264C~steinpilz
10-08 10:38:02.934 I/TorPlugin: First circuit built
10-08 10:38:03.696 I/TorPlugin: NOTICE Tor has successfully opened a circuit. Looks like client functionality is working.
10-08 10:38:03.696 I/TorPlugin: NOTICE Bootstrapped 100%: Done
10-08 10:38:03.697 I/FeedManagerImpl: Tor started, scheduling RSS feed fetcher
10-08 10:38:03.698 I/Poller: Polling plugin org.briarproject.bramble.tor
10-08 10:38:24.455 I/BriarRecyclerView: Removing Handler Callback
10-08 10:38:25.001 I/TorPlugin: Creating hidden service
10-08 10:38:25.028 I/TorPlugin: Hidden service tsb[scrubbed]
10-08 10:38:25.078 I/TorPlugin: Connecting to vye[scrubbed]
10-08 10:38:34.140 I/TorPlugin: Connected to vye[scrubbed]
10-08 10:38:35.400 I/DuplexOutgoingSession: Generated ack: false
10-08 10:38:35.446 I/DuplexOutgoingSession: Next send time decreased
10-08 10:38:35.446 I/DuplexOutgoingSession: Checking for retransmittable messages
10-08 10:38:35.446 I/DuplexOutgoingSession: Generated batch: false
10-08 10:38:35.485 I/ConnectionRegistryImpl: Outgoing connection registered: org.briarproject.bramble.tor
10-08 10:38:35.485 I/ConnectionRegistryImpl: Contact connected
10-08 10:38:35.533 I/DuplexOutgoingSession: Next send time decreased
10-08 10:38:35.591 I/DuplexOutgoingSession: Generated offer: true
10-08 10:38:35.592 I/DuplexOutgoingSession: Sent offer
10-08 10:38:35.592 I/DuplexOutgoingSession: Generated request: false
10-08 10:38:35.634 I/DuplexOutgoingSession: Generated batch: false
10-08 10:38:35.684 I/DuplexOutgoingSession: Generated offer: false
10-08 10:38:35.962 I/DuplexOutgoingSession: Generated request: true
10-08 10:38:35.962 I/DuplexOutgoingSession: Sent request
10-08 10:38:35.963 I/DuplexOutgoingSession: Generated request: false
10-08 10:38:37.048 I/DuplexOutgoingSession: Generated batch: true
10-08 10:38:37.048 I/DuplexOutgoingSession: Sent batch
10-08 10:38:37.091 I/DuplexOutgoingSession: Generated batch: false
10-08 10:38:37.619 I/DuplexOutgoingSession: Generated ack: true
10-08 10:38:37.619 I/DuplexOutgoingSession: Sent ack
10-08 10:38:37.786 I/DuplexOutgoingSession: Generated ack: false
10-08 10:38:45.493 I/Poller: Polling plugin org.briarproject.bramble.tor
10-08 10:38:45.496 I/ConnectionRegistryImpl: 1 contacts connected: org.briarproject.bramble.tor
10-08 10:38:50.421 I/BriarRecyclerView: Adding Handler Callback
10-08 10:39:00.649 I/RenewableWakeLock: Renewing wake lock LocationManagerService
10-08 10:39:03.698 I/FeedManagerImpl: Updating RSS feeds...
10-08 10:39:03.785 I/FeedManagerImpl: Done updating RSS feeds
10-08 10:39:05.679 I/TorPlugin: Descriptor uploaded
10-08 10:39:05.849 I/TorPlugin: Descriptor uploaded
10-08 10:39:07.478 I/TorPlugin: Descriptor uploaded
10-08 10:39:07.619 I/DuplexOutgoingSession: Sending keepalive
10-08 10:39:07.738 I/TorPlugin: Descriptor uploaded
10-08 10:39:08.159 I/TorPlugin: Descriptor uploaded
10-08 10:39:10.053 I/TorPlugin: Descriptor uploaded
10-08 10:39:11.885 I/DuplexOutgoingSession: Generated request: true
10-08 10:39:11.886 I/DuplexOutgoingSession: Sent request
10-08 10:39:11.886 I/DuplexOutgoingSession: Generated request: false
10-08 10:39:13.477 I/DuplexOutgoingSession: Generated ack: true
10-08 10:39:13.477 I/DuplexOutgoingSession: Sent ack
10-08 10:39:13.638 I/ConversationActivity: Message received, adding
10-08 10:39:13.660 I/DuplexOutgoingSession: Generated ack: false
10-08 10:39:36.968 I/DuplexOutgoingSession: Checking for retransmittable messages
10-08 10:39:37.036 I/DuplexOutgoingSession: Generated batch: false
10-08 10:39:37.081 I/DuplexOutgoingSession: Generated offer: false
10-08 10:39:43.478 I/DuplexOutgoingSession: Sending keepalive
10-08 10:39:45.494 I/Poller: Polling plugin org.briarproject.bramble.tor
10-08 10:39:45.498 I/ConnectionRegistryImpl: 1 contacts connected: org.briarproject.bramble.tor
10-08 10:40:00.651 I/RenewableWakeLock: Renewing wake lock LocationManagerService
10-08 10:40:08.417 I/BriarRecyclerView: Adding Handler Callback
```
From the log, it looks like the crash happened soon after startup, after sending and receiving private messages. The last line of the log suggests a transition between activities was in progress.
(Incidentally, when reading logs I often rely on the BriarRecyclerView's messages about its handler callback to make guesses about what's happening to the UI. Maybe we should just log the name of each activity when it starts and stops?)Android 1.4https://code.briarproject.org/briar/briar/-/issues/1170IllegalArgumentException when reloading activity2022-06-13T15:08:29ZakwizgranIllegalArgumentException when reloading activity* Android version: 7.0
* Phone model: Motorola Moto G (4) (athene)
* Briar version: 0.16.17 (347c2f2)
* User feedback: "Received new message notification. Tried to view it, and got white screen, instead of prior message list loading, als...* Android version: 7.0
* Phone model: Motorola Moto G (4) (athene)
* Briar version: 0.16.17 (347c2f2)
* User feedback: "Received new message notification. Tried to view it, and got white screen, instead of prior message list loading, also at bottom of screen was a place to type message... I've noticed it takes longer and longer for old message list to load."
Stacktrace:
```
java.lang.IllegalArgumentException: reportSizeConfigurations: ActivityRecord not found for: Token{c80ad01 ActivityRecord{dc4d2e8 u0 org.briarproject.briar.beta/org.briarproject.briar.android.contact.ConversationActivity t2562 f}}
at android.os.Parcel.readException(Parcel.java:1687)
at android.os.Parcel.readException(Parcel.java:1636)
at android.app.ActivityManagerProxy.reportSizeConfigurations(ActivityManagerNative.java:6982)
at android.app.ActivityThread.reportSizeConfigurations(ActivityThread.java:2789)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2728)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4524)
at android.app.ActivityThread.-wrap19(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1479)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6123)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
```
Log extract:
```
02-09 16:24:47.098 I/Adreno (30469): DequeueBuffer: dequeueBuffer failed
02-09 16:24:47.099 I/Adreno (30469): DequeueBuffer: dequeueBuffer failed
02-09 16:24:47.099 I/Adreno (30469): DequeueBuffer: dequeueBuffer failed
02-09 16:24:47.099 I/Adreno (30469): DequeueBuffer: dequeueBuffer failed
02-09 16:24:47.103 W/OpenGLRenderer(30469): swapBuffers encountered EGL error 12301 on 0xa48967c0, halting rendering...
02-09 16:24:47.116 I/BriarRecyclerView(30469): Adding Handler Callback
02-09 16:24:47.116 I/ConversationActivity(30469): Loading contact took 0 ms
02-09 16:24:47.121 I/BriarRecyclerView(30469): Removing Handler Callback
02-09 16:24:47.171 I/BriarRecyclerView(30469): Adding Handler Callback
02-09 16:24:47.195 E/ACRA (30469): ACRA caught a IllegalArgumentException for org.briarproject.briar.beta
```
Looks like the activity may have failed to load due to an OpenGL error, and the crash happened when Android tried to relaunch the activity.https://code.briarproject.org/briar/briar/-/issues/2279KeyStoreException: Too many operations2022-06-13T15:00:46ZakwizgranKeyStoreException: Too many operations* Android version: 11
* Phone model: Google Pixel 4a (sunfish)
* Briar version: 1.4.1 (6517f3f)
Log:
```
12-07 10:57:20.650 I/BriarApplicationImpl: Created
12-07 10:57:20.673 I/BaseActivity: Creating SplashScreenActivity
12-07 10:57:20....* Android version: 11
* Phone model: Google Pixel 4a (sunfish)
* Briar version: 1.4.1 (6517f3f)
Log:
```
12-07 10:57:20.650 I/BriarApplicationImpl: Created
12-07 10:57:20.673 I/BaseActivity: Creating SplashScreenActivity
12-07 10:57:20.683 I/BaseActivity: Starting SplashScreenActivity
12-07 10:57:20.685 I/BaseActivity: Resuming SplashScreenActivity
12-07 10:57:21.193 I/BaseActivity: Pausing SplashScreenActivity
12-07 10:57:21.206 I/BaseActivity: Creating NavDrawerActivity
12-07 10:57:21.242 I/BaseActivity: Starting NavDrawerActivity
12-07 10:57:21.243 I/BaseActivity: Resuming NavDrawerActivity
12-07 10:57:21.243 I/BriarActivity: Not signed in, launching StartupActivity
12-07 10:57:21.252 I/BaseActivity: Pausing NavDrawerActivity
12-07 10:57:21.259 I/BaseActivity: Creating StartupActivity
12-07 10:57:21.271 I/AccountManagerImpl: Found database key in primary file
12-07 10:57:21.272 I/BaseActivity: Starting StartupActivity
12-07 10:57:21.289 I/BaseActivity: Resuming StartupActivity
12-07 10:57:21.340 I/BaseActivity: Stopping NavDrawerActivity
12-07 10:57:21.758 I/BaseActivity: Stopping SplashScreenActivity
12-07 10:57:21.758 I/BaseActivity: Destroying SplashScreenActivity
12-07 10:57:22.336 I/BaseActivity: Pausing StartupActivity
12-07 10:57:22.918 I/BaseActivity: Stopping StartupActivity
12-07 10:57:25.564 I/BaseActivity: Starting StartupActivity
12-07 10:57:25.565 I/BaseActivity: Resuming StartupActivity
12-07 10:57:26.387 I/AccountManagerImpl: Found database key in primary file
12-07 10:57:27.178 I/AndroidKeyStrengthener: Loaded key from keystore
```
Stacktrace:
```
java.lang.RuntimeException: java.security.InvalidKeyException: Keystore operation failed
at org.briarproject.briar.android.AndroidKeyStrengthener.strengthenKey(AndroidKeyStrengthener.java:101)
at org.briarproject.bramble.crypto.CryptoComponentImpl.decryptWithPassword(CryptoComponentImpl.java:407)
at org.briarproject.bramble.account.AccountManagerImpl.loadAndDecryptDatabaseKey(AccountManagerImpl.java:214)
at org.briarproject.bramble.account.AccountManagerImpl.signIn(AccountManagerImpl.java:200)
at org.briarproject.briar.android.login.StartupViewModel.lambda$validatePassword$0(StartupViewModel.java:112)
at org.briarproject.briar.android.login.StartupViewModel.lambda$validatePassword$0$StartupViewModel(Unknown Source:0)
at org.briarproject.briar.android.login.-$$Lambda$StartupViewModel$5aurY1rQupylNVXCUST5DjfL1L4.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.AndroidKeyStoreHmacSpi.ensureKeystoreOperationInitialized(AndroidKeyStoreHmacSpi.java:184)
at android.security.keystore.AndroidKeyStoreHmacSpi.engineInit(AndroidKeyStoreHmacSpi.java:101)
at javax.crypto.Mac.chooseProvider(Mac.java:443)
at javax.crypto.Mac.init(Mac.java:513)
at org.briarproject.briar.android.AndroidKeyStrengthener.strengthenKey(AndroidKeyStrengthener.java:98)
... 9 more
Caused by: android.security.KeyStoreException: Too many operations
at android.security.KeyStore.getKeyStoreException(KeyStore.java:1301)
... 16 more
```