briar issueshttps://code.briarproject.org/groups/briar/-/issues2020-11-18T17:04:10Zhttps://code.briarproject.org/briar/briar/-/issues/1432Headless integration tests2020-11-18T17:04:10ZTorsten GroteHeadless integration testsWe should add some integration tests for the REST API endpoints to catch breakage.We should add some integration tests for the REST API endpoints to catch breakage.Headless MVPhttps://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/1398IndexOutOfBoundsException in contact list2021-11-04T11:03:43ZakwizgranIndexOutOfBoundsException in contact list* Android version: 7.0
* Briar version: 1.1.1 (9476782)
* Phone model: AGM A8 (T88Q_14)
* User feedback: "Spontaneously crashes by itself. The impact of any third-party applications is not noticed. I cannot name any apparent reasons."
S...* Android version: 7.0
* Briar version: 1.1.1 (9476782)
* Phone model: AGM A8 (T88Q_14)
* User feedback: "Spontaneously crashes by itself. The impact of any third-party applications is not noticed. I cannot name any apparent reasons."
Stacktrace:
```
java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{91bdea4 position=3 id=-1, old Pos=3, pLpos:-1 scrap [attachedScrap] tmpDetached no parent} android.support.v7.widget.RecyclerView{63190e8 VFED.V... .F....I. 0,0-720,1120 #7f09012d app:id/recyclerView}, adapter:org.briarproject.briar.android.contact.ContactListAdapter@cb5480b, layout:android.support.v7.widget.LinearLayoutManager@8a536e8, context:org.briarproject.briar.android.navdrawer.NavDrawerActivity@679576e
at android.support.v7.widget.RecyclerView$Recycler.validateViewHolderForOffsetPosition(RecyclerView.java:5610)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5792)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5752)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5748)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2232)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1559)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1519)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:614)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep1(RecyclerView.java:3763)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3527)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4082)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.support.constraint.ConstraintLayout.onLayout(ConstraintLayout.java:1855)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1171)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:724)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2342)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2069)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6307)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
at android.view.Choreographer.doCallbacks(Choreographer.java:683)
at android.view.Choreographer.doFrame(Choreographer.java:619)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6086)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/1366Segmentation fault while signing out2021-11-04T11:03:42ZakwizgranSegmentation fault while signing out* Android version: 8.1.0
* Phone model: Nexus 5X
* Briar version: 1.0.13 debug build (21f95ed)
The device showed "Briar Debug has stopped" while signing out of the app.
Log:
```
08-16 16:41:38.445 24298-28941/? I/BriarControllerImpl: S...* Android version: 8.1.0
* Phone model: Nexus 5X
* Briar version: 1.0.13 debug build (21f95ed)
The device showed "Briar Debug has stopped" while signing out of the app.
Log:
```
08-16 16:41:38.445 24298-28941/? I/BriarControllerImpl: Shutting down service
08-16 16:41:38.529 24298-24298/? I/BriarService: Destroyed
08-16 16:41:38.540 24298-28944/? I/LifecycleManagerImpl: Stopping services
08-16 16:41:38.542 24298-24591/? I/DuplexOutgoingSession: Closed
08-16 16:41:38.542 24298-25132/? I/DuplexOutgoingSession: Closed
08-16 16:41:38.543 24298-25136/? I/DuplexOutgoingSession: Closed
08-16 16:41:38.543 24298-25134/? I/DuplexOutgoingSession: Closed
08-16 16:41:38.543 24298-25148/? I/DuplexOutgoingSession: Closed
08-16 16:41:38.554 24298-28944/? I/PluginManagerImpl: Stopping simplex plugins
Stopping duplex plugins
08-16 16:41:38.556 24298-28944/? I/PluginManagerImpl: Waiting for all the plugins to stop
08-16 16:41:38.556 24298-25132/? I/PluginManagerImpl: Trying to stop plugin org.briarproject.bramble.bluetooth
08-16 16:41:38.556 24298-25136/? I/PluginManagerImpl: Trying to stop plugin org.briarproject.bramble.tor
08-16 16:41:38.557 24298-25134/? I/PluginManagerImpl: Trying to stop plugin org.briarproject.bramble.lan
08-16 16:41:38.558 24298-25132/? I/NavDrawerControllerImpl: TransportDisabledEvent: org.briarproject.bramble.bluetooth
08-16 16:41:38.559 24298-25136/? I/NavDrawerControllerImpl: TransportDisabledEvent: org.briarproject.bramble.tor
08-16 16:41:38.559 24298-25134/? I/NavDrawerControllerImpl: TransportDisabledEvent: org.briarproject.bramble.lan
08-16 16:41:38.560 24298-24392/? I/TorPlugin: java.net.SocketException: Socket closed
08-16 16:41:38.560 24298-24391/? I/TcpPlugin: java.net.SocketException: Socket closed
--------- beginning of crash
08-16 16:41:38.564 24298-25136/? A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x18 in tid 25136 (pool-3-thread-2), pid 24298 (r.android.debug)
08-16 16:41:38.632 28948-28948/? W/crash_dump64: type=1400 audit(0.0:112): avc: denied { search } for name="org.briarproject.briar.android.debug" dev="dm-2" ino=262990 scontext=u:r:crash_dump:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
08-16 16:41:38.700 28948-28948/? I/crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
08-16 16:41:38.702 28948-28948/? W/crash_dump64: type=1400 audit(0.0:113): avc: denied { search } for name="org.briarproject.briar.android.debug" dev="dm-2" ino=262990 scontext=u:r:crash_dump:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
08-16 16:41:38.703 590-590/? I//system/bin/tombstoned: received crash request for pid 24298
08-16 16:41:38.705 28948-28948/? I/crash_dump64: performing dump of process 24298 (target tid = 25136)
08-16 16:41:38.705 28948-28948/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/bullhead/bullhead:8.1.0/OPM6.171019.030.E1/4805388:user/release-keys'
Revision: 'rev_1.0'
ABI: 'arm64'
pid: 24298, tid: 25136, name: pool-3-thread-2 >>> org.briarproject.briar.android.debug <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x18
Cause: null pointer dereference
x0 00000076a216c300 x1 0000000000000000 x2 4e0dc4b73a8d37a4 x3 0000000000000061
x4 00000000ffffffff x5 c6a4a7935bd1e995 x6 c6a4a7935bd1e995 x7 f8e1bfbf4251583c
x8 c5e8c0e242c67c71 x9 c5e8c0e242c67c71 x10 0000000000000008 x11 00000000ffffffff
x12 00000076a461c000 x13 ffffffffa48aa59c x14 00029088e2000000 x15 003b9aca00000000
x16 000000773ee1bca8 x17 000000773edb84b8 x18 0000000000000008 x19 0000000000000015
x20 00000076a215aa40 x21 00000076b0844fa0 x22 0000000000000018 x23 0000000000000000
x24 00000076a216c300 x25 000000769fe88c40 x26 000000769fe81000 x27 00000000000808de
x28 00000076a472b1d0 x29 00000076a1be8ab0 x30 000000769fc1b600
sp 00000076a1be8a00 pc 000000769fc1b60c pstate 0000000060000000
08-16 16:41:38.716 28948-28948/? A/DEBUG: backtrace:
#00 pc 000000000005160c /data/data/org.briarproject.briar.android.debug/libperfa_arm64.so
#01 pc 00000000000163fc /system/lib64/libopenjdkjvmti.so (openjdkjvmti::JvmtiAllocationListener::ObjectAllocated(art::Thread*, art::ObjPtr<art::mirror::Object>*, unsigned long)+320)
#02 pc 000000000014df4c /system/lib64/libart.so (_ZN3art2gc4Heap24AllocObjectWithAllocatorILb1ELb0ENS_11VoidFunctorEEEPNS_6mirror6ObjectEPNS_6ThreadENS_6ObjPtrINS4_5ClassEEEmNS0_13AllocatorTypeERKT1_+1172)
#03 pc 0000000000536aa4 /system/lib64/libart.so (MterpNewInstance+832)
#04 pc 000000000053a310 /system/lib64/libart.so (ExecuteMterpImpl+4496)
#05 pc 0000000000275c00 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+444)
#06 pc 000000000027b7cc /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+216)
#07 pc 0000000000295a70 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+668)
#08 pc 0000000000533d68 /system/lib64/libart.so (MterpInvokeDirect+356)
#09 pc 000000000053ca14 /system/lib64/libart.so (ExecuteMterpImpl+14484)
#10 pc 0000000000275c00 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+444)
#11 pc 0000000000525450 /system/lib64/libart.so (artQuickToInterpreterBridge+1052)
#12 pc 0000000000553d0c /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
#13 pc 00000000001e2b08 /dev/ashmem/dalvik-jit-code-cache (deleted)
08-16 16:41:41.108 766-782/? W/zygote64: kill(-24298, 9) failed: No such process
08-16 16:41:41.110 766-5198/? I/ActivityManager: Process org.briarproject.briar.android.debug (pid 24298) has died: cch CEM
08-16 16:41:41.129 766-789/? W/ActivityManager: setHasOverlayUi called on unknown pid: 24298
08-16 16:41:41.129 561-561/? I/Zygote: Process 24298 exited due to signal (11)
08-16 16:41:41.152 766-782/? W/zygote64: kill(-24298, 9) failed: No such process
08-16 16:41:41.152 766-782/? I/zygote64: Successfully killed process cgroup uid 10101 pid 24298 in 44ms
```
Looks like a crash within ART. Not our bug, but possibly related to @ski's [problems with the same phone model](https://code.briarproject.org/briar/briar/issues/992#note_29767)?Android 1.4https://code.briarproject.org/briar/briar/-/issues/1363IllegalArgumentException: Scrapped or attached views may not be recycled2021-11-04T11:03:42ZakwizgranIllegalArgumentException: Scrapped or attached views may not be recycled* Android version: 8.1.0
* Phone model: OnePlus A5000 (OnePlus5)
* Briar version: 1.0.13 (55d8f85)
Stacktrace:
```
java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false isAttached:true android...* Android version: 8.1.0
* Phone model: OnePlus A5000 (OnePlus5)
* Briar version: 1.0.13 (55d8f85)
Stacktrace:
```
java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false isAttached:true android.support.v7.widget.RecyclerView{bb19834 VFED.V... ........ 0,0-1080,1599 #7f09012b app:id/recyclerView}, adapter:org.briarproject.briar.android.contact.ConversationAdapter@40dedd1, layout:android.support.v7.widget.LinearLayoutManager@90a2036, context:org.briarproject.briar.android.contact.ConversationActivity@b8d5bc6
at android.support.v7.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:6053)
at android.support.v7.widget.RecyclerView$Recycler.recycleView(RecyclerView.java:5997)
at android.support.v7.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:292)
at android.support.v7.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:342)
at android.support.v7.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:358)
at android.support.v7.widget.GapWorker.prefetch(GapWorker.java:365)
at android.support.v7.widget.GapWorker.run(GapWorker.java:396)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6753)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
```
Log:
```
08-08 21:39:57.411 I/ConnectionRegistryImpl: Outgoing connection registered: org.briarproject.bramble.tor
08-08 21:39:57.412 I/ConnectionRegistryImpl: Contact connected
08-08 21:39:57.412 I/ConversationActivity: Contact connected
08-08 21:39:57.615 I/Poller: Polling plugin org.briarproject.bramble.tor
08-08 21:39:57.621 I/ConnectionRegistryImpl: 1 contacts connected: org.briarproject.bramble.tor
08-08 21:39:57.621 I/TorPlugin: Connecting to ojd[scrubbed]
08-08 21:40:03.376 I/BriarRecyclerView: Adding Handler Callback
08-08 21:40:03.376 I/AndroidDatabaseConfig: Database key has been set: true
```
The last two log lines suggest an activity had just started. The previous log lines show that ConversationActivity was recently active, and that's reported as the context of the crash in the stacktrace. So the crash may have occurred while navigating away from ConversationActivity.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1310NPE during enter transition2021-11-04T11:03:44ZakwizgranNPE during enter transition* Android version: 7.1.2
* Phone model: Samsung GT-I9100
* Briar version: 1.0.4 (f31219d)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.view.Window.getAllowReturnTransitionOverlap()' o...* Android version: 7.1.2
* Phone model: Samsung GT-I9100
* Briar version: 1.0.4 (f31219d)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.view.Window.getAllowReturnTransitionOverlap()' on a null object reference
at android.app.EnterTransitionCoordinator.allowOverlappingTransitions(EnterTransitionCoordinator.java:676)
at android.app.EnterTransitionCoordinator.sendSharedElementDestination(EnterTransitionCoordinator.java:188)
at android.app.EnterTransitionCoordinator.viewsReady(EnterTransitionCoordinator.java:129)
at android.app.EnterTransitionCoordinator$2.onPreDraw(EnterTransitionCoordinator.java:154)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2205)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6344)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
at android.view.Choreographer.doCallbacks(Choreographer.java:686)
at android.view.Choreographer.doFrame(Choreographer.java:621)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6186)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
```
Unfortunately there's no clue in the stacktrace about where this crash happens. Might have been fixed by !821 if we're lucky.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1303IllegalArgumentException: parameter must be a descendant of this view2021-11-04T11:04:02ZakwizgranIllegalArgumentException: parameter must be a descendant of this viewTwo crash reports from the same user:
* Android version: 7.1.2
* Phone model: Samsung GT-I9100
* Briar version:
* 1.0.4 (f31219d)
* 1.0.5 (183f0c5)
* User feedback:
* "Sending message to contact. (Message contains \" and ' charact...Two crash reports from the same user:
* Android version: 7.1.2
* Phone model: Samsung GT-I9100
* Briar version:
* 1.0.4 (f31219d)
* 1.0.5 (183f0c5)
* User feedback:
* "Sending message to contact. (Message contains \" and ' characters.)"
* "Briar in foreground, no user action."
First log:
```
05-18 13:22:51.117 I/EmojiProvider: Loaded page emoji_smiley_people.png
05-18 13:22:55.909 I/KeyboardAwareLinearLayout: onKeyboardOpen(282)
05-18 13:23:47.110 I/ConversationActivity: Storing message took 298 ms
05-18 13:23:49.311 I/ConversationActivity: Messages sent
05-18 13:23:49.598 I/BriarRecyclerView: Updating Content...
05-18 13:23:49.630 I/ConversationActivity: Marking read took 2 ms
05-18 13:23:51.009 I/ConversationActivity: Messages acked
05-18 13:23:52.434 I/BriarRecyclerView: Adding Handler Callback
05-18 13:23:52.435 I/AndroidDatabaseConfig: Database key has been set: true
05-18 13:23:52.634 I/ContactListFragment: Full load took 192 ms
```
Crashed at 13:23:53.397
Second log:
```
05-25 09:06:43.627 I/EmojiProvider: Loading page emoji_smiley_people.png
05-25 09:06:43.836 I/ConversationActivity: Marking read took 207 ms
05-25 09:06:44.282 I/EmojiProvider: Loaded page emoji_smiley_people.png
05-25 09:06:48.501 I/ConversationActivity: Storing message took 366 ms
05-25 09:06:48.710 I/BriarRecyclerView: Adding Handler Callback
05-25 09:06:48.711 I/AndroidDatabaseConfig: Database key has been set: true
```
Crashed at 09:06:49.050
Stacktrace:
```
java.lang.IllegalArgumentException: parameter must be a descendant of this view
at android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:5459)
at android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:5388)
at android.view.ViewRootImpl.scrollToRectOrFocus(ViewRootImpl.java:3073)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2683)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2608)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2215)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6344)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
at android.view.Choreographer.doCallbacks(Choreographer.java:686)
at android.view.Choreographer.doFrame(Choreographer.java:621)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6186)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
```
It looks like both crashes happened after sending and receiving private messages containing emoji, then switching away from the private conversation. In the first crash the switch was to the contact list - in the second crash it's not clear.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1259User testing for headless desktop/server app2021-01-21T13:24:56ZakwizgranUser testing for headless desktop/server appSubtask of #1254.Subtask of #1254.Headless MVPhttps://code.briarproject.org/briar/briar/-/issues/1244Update manual for image attachments2021-11-04T11:04:01ZakwizgranUpdate manual for image attachmentsSubtask of #1237.Subtask of #1237.Android 1.4CleopatraCleopatrahttps://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/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/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/1235User testing for adding contacts remotely2022-11-18T17:24:07ZakwizgranUser testing for adding contacts remotely### Workflow Prototype Testing
Briar wants to add support for adding contacts remotely without them having to meet face to face. Before implementing this feature entirely, Briar wants to test an early design prototype to see if users wo...### Workflow Prototype Testing
Briar wants to add support for adding contacts remotely without them having to meet face to face. Before implementing this feature entirely, Briar wants to test an early design prototype to see if users would understand the workflow.
An APKs for testing (which can be installed along-side the official Briar) is available here:
* https://grobox.de/tmp/briar-add-contacts-remotely-user-test.apk
Test Setup: Two testers both install the same test APK on their Android phone. Without being in the same room, they try to add each other as contacts in Briar. The test finishes and succeeds when a new contact was added on both phones. Note that the contact that will be added is fake and purely for testing. While it will appear to be online, you will never be able to exchange messages until the feature is fully implemented.
Please finish the test **before** reading and answering the questions below!
---
### Questions (for after the test!)
1. Did you understand the difference between the two options for adding a contact and which one to choose?
1. When seeing the 'Add a Contact' screen, did you know what to do?
1. How did you exchange the links?
1. Were there any issues when exchanging the links?
1. After entering your contact's link, did you understand what happened?
1. When testing the full version, did you understand the QR code button? Did it confuse? Did you use it?
1. Were you confused about the delay before the contact was added?
1. Is there anything that would have helped you to understand the process better?
Subtask of #1230.Android 1.4Renata GegajRenata Gegajhttps://code.briarproject.org/briar/briar/-/issues/837NPE when opening private group new message notification2021-11-04T11:04:01ZErnir ErlingssonNPE when opening private group new message notificationBriar had been alive for ~20 hours in the background when I got a notification of three new private group messages. I clicked the notification which lead straight to this NPE:
ava.lang.NullPointerException: Attempt to invoke interface m...Briar had been alive for ~20 hours in the background when I got a notification of three new private group messages. I clicked the notification which lead straight to this NPE:
ava.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference
at org.briarproject.briar.client.MessageTreeImpl.parseNode(MessageTreeImpl.java:70)
at org.briarproject.briar.client.MessageTreeImpl.add(MessageTreeImpl.java:48)
at org.briarproject.briar.client.MessageTreeImpl.add(MessageTreeImpl.java:55)
at org.briarproject.briar.android.threaded.NestedTreeList.add(NestedTreeList.java:28)
at org.briarproject.briar.android.threaded.ThreadItemAdapter.add(ThreadItemAdapter.java:86)
at org.briarproject.briar.android.threaded.ThreadListActivity.addItem(ThreadListActivity.java:339)
at org.briarproject.briar.android.threaded.ThreadListActivity$5.onResultUi(ThreadListActivity.java:321)
at org.briarproject.briar.android.threaded.ThreadListActivity$5.onResultUi(ThreadListActivity.java:318)
at org.briarproject.briar.android.controller.handler.UiResultExceptionHandler$1.run(UiResultExceptionHandler.java:24)
at org.briarproject.briar.android.activity.BaseActivity$1.run(BaseActivity.java:104)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)Android 1.4https://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-desktop/-/issues/558Feature request: find/search messages inside briar2024-03-21T06:51:49ZmicressorFeature request: find/search messages inside briarAs a user of briar, I miss the possibility to find messages within briar with a search field.As a user of briar, I miss the possibility to find messages within briar with a search field.https://code.briarproject.org/briar/briar-desktop/-/issues/557Publish arm binaries2024-03-05T19:52:11ZSebastianPublish arm binariesWe're already building arm binaries already, we could simply publish them. The website will need to be updated. Also there's an open issue #468We're already building arm binaries already, we could simply publish them. The website will need to be updated. Also there's an open issue #468https://code.briarproject.org/briar/briar-desktop/-/issues/554Gnome desktop appearance not ideal2024-02-19T13:58:05ZSebastianGnome desktop appearance not idealWhen running on Gnome, some things are not ideal:
* Icon in task bar is blurry
* Hovering icon displays "java.lang.Thread" as app name
* Top bar "Activities" shows the app as "java.lang.Thread", too
See this screenshot for details:
![S...When running on Gnome, some things are not ideal:
* Icon in task bar is blurry
* Hovering icon displays "java.lang.Thread" as app name
* Top bar "Activities" shows the app as "java.lang.Thread", too
See this screenshot for details:
![Screenshot_from_2024-02-19_14-48-52](/uploads/6003f6144c8ea0e042a754dedd576d55/Screenshot_from_2024-02-19_14-48-52.png)
Note that other places use the correct name, such as Alt-Tab:
![Screenshot_from_2024-02-19_14-55-48](/uploads/ac04ab6427231e8adba31d08cf17b86a/Screenshot_from_2024-02-19_14-55-48.png)
as well as the "Activities" menu that opens when clicking "Activities" in the top bar:
![Screenshot_from_2024-02-19_14-56-09](/uploads/1d88ab89d24744147aeccceb17bf64c5/Screenshot_from_2024-02-19_14-56-09.png)https://code.briarproject.org/briar/briar/-/issues/2458Detect whether phone is rooted2024-02-13T07:33:58ZakwizgranDetect whether phone is rootedOWASP guidelines recommend that Android apps should detect whether the phone is rooted. There are libraries that can check for this.OWASP guidelines recommend that Android apps should detect whether the phone is rooted. There are libraries that can check for this.https://code.briarproject.org/briar/briar-desktop/-/issues/553FreeBSD support2024-02-16T00:15:43ZHenrich HartzerFreeBSD supportI assumed that being Java, this would run pretty much anywhere. I tried running it on FreeBSD and got this error.
Is it necessary?
```
$ /usr/local/openjdk21/bin/java -jar briar-desktop-linux-0.6.0-beta.jar
2024-02-08 22:46:25,024 [mai...I assumed that being Java, this would run pretty much anywhere. I tried running it on FreeBSD and got this error.
Is it necessary?
```
$ /usr/local/openjdk21/bin/java -jar briar-desktop-linux-0.6.0-beta.jar
2024-02-08 22:46:25,024 [main] INFO org.briarproject.briar.desktop.Main - This is briar-desktop version 0.6.0-beta
2024-02-08 22:46:25,027 [main] INFO org.briarproject.briar.desktop.Main - Build info:
2024-02-08 22:46:25,027 [main] INFO org.briarproject.briar.desktop.Main - Git hash 4cfd685a108890a47a100310204f8a9b450e3087
2024-02-08 22:46:25,028 [main] INFO org.briarproject.briar.desktop.Main - Commit time 2023-08-31 13:38:18
2024-02-08 22:46:25,028 [main] INFO org.briarproject.briar.desktop.Main - Tag 0.6.0-beta
2024-02-08 22:46:25,997 [main] WARN org.briarproject.briar.desktop.Main - Uncaught exception in thread main
java.lang.Error: Unknown OS FreeBSD
at org.jetbrains.skiko.OsArch_jvmKt$hostOs$2.invoke(OsArch.jvm.kt:10)
at org.jetbrains.skiko.OsArch_jvmKt$hostOs$2.invoke(OsArch.jvm.kt:3)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.jetbrains.skiko.OsArch_jvmKt.getHostOs(OsArch.jvm.kt:3)
at org.jetbrains.skiko.OsArch_jvmKt$hostId$2.invoke(OsArch.jvm.kt:24)
at org.jetbrains.skiko.OsArch_jvmKt$hostId$2.invoke(OsArch.jvm.kt:23)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.jetbrains.skiko.OsArch_jvmKt.getHostId(OsArch.jvm.kt:23)
at org.jetbrains.skiko.Library.findAndLoad(Library.kt:73)
at org.jetbrains.skiko.Library.load(Library.kt:59)
at org.jetbrains.skiko.SkiaLayer.<clinit>(SkiaLayer.awt.kt:31)
at androidx.compose.ui.awt.ComposeLayer.<init>(ComposeLayer.desktop.kt:64)
at androidx.compose.ui.awt.ComposeWindowDelegate.<init>(ComposeWindowDelegate.desktop.kt:52)
at androidx.compose.ui.awt.ComposeWindow.<init>(ComposeWindow.desktop.kt:61)
at androidx.compose.ui.awt.ComposeWindow.<init>(ComposeWindow.desktop.kt:59)
at androidx.compose.ui.window.Window_desktopKt$Window$3.invoke(Window.desktop.kt:178)
at androidx.compose.ui.window.Window_desktopKt$Window$3.invoke(Window.desktop.kt:172)
at androidx.compose.ui.window.Window_desktopKt$Window$10$1.invoke(Window.desktop.kt:403)
at androidx.compose.ui.window.Window_desktopKt$Window$10$1.invoke(Window.desktop.kt:402)
at androidx.compose.ui.window.AwtWindow_desktopKt$AwtWindow$2.invoke(AwtWindow.desktop.kt:74)
at androidx.compose.ui.window.AwtWindow_desktopKt$AwtWindow$2.invoke(AwtWindow.desktop.kt:73)
at androidx.compose.runtime.DisposableEffectImpl.onRemembered(Effects.kt:81)
at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:1105)
at androidx.compose.runtime.CompositionImpl.applyChangesInLocked(Composition.kt:820)
at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:842)
at androidx.compose.runtime.Recomposer.composeInitial$runtime(Recomposer.kt:994)
at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:519)
at androidx.compose.ui.window.Application_desktopKt$awaitApplication$2$1$2.invokeSuspend(Application.desktop.kt:219)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
```