briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-08-25T13:33:35Zhttps://code.briarproject.org/briar/briar-desktop/-/issues/450Add explainer information for release on how to install downloaded MSI from t...2023-08-25T13:33:35ZSebastianAdd explainer information for release on how to install downloaded MSI from the internetDesktop 0.7.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/449Implement ability to test locally that produced .deb files are installable on...2023-01-29T22:35:52ZSebastianImplement ability to test locally that produced .deb files are installable on target OSesUsing vagrant probably.Using vagrant probably.Desktop 0.4.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/448Problem to add contact among Windows and one Android test device2023-01-11T10:17:00ZSebastianProblem to add contact among Windows and one Android test deviceI have a combination of devices that doesn't seem to be able to be added to one another successfully. First reported here: https://code.briarproject.org/briar/briar-desktop/-/merge_requests/8#note_73316
One device is the Nokia 2.4 with ...I have a combination of devices that doesn't seem to be able to be added to one another successfully. First reported here: https://code.briarproject.org/briar/briar-desktop/-/merge_requests/8#note_73316
One device is the Nokia 2.4 with some debug version of Briar Android installed. The other device is a Windows machine running Briar Desktop. The issue has been reproduced with a second Windows machine and the same Android device. I have not reset the account on the Android device since or installed a different version in order to still have access to the problematic combination of devices. In both cases, a different Android device could add the Windows machine and vice versa.https://code.briarproject.org/briar/briar-desktop/-/issues/447Strange overlay at right side on Windows 102023-01-20T10:01:33ZSebastianStrange overlay at right side on Windows 10I was testing the installer on Windows 10 and while that worked fine, I noticed something odd when running Briar itself. For some reason there's a narrow white overlay on the right hand side of the app. It sits below the expiry banner bu...I was testing the installer on Windows 10 and while that worked fine, I noticed something odd when running Briar itself. For some reason there's a narrow white overlay on the right hand side of the app. It sits below the expiry banner but above all other content. Makes it impossible to see the send button, the overflow menu and part of the text.
![Screenshot__6_](/uploads/b04112325381a103d02d1beb96e587cb/Screenshot__6_.png)
![Screenshot__1_](/uploads/3e9e89583de0f12e9eae14051af31faa/Screenshot__1_.png)
![Screenshot__2_](/uploads/78ea18023a2bcd698bef9d470034e665/Screenshot__2_.png)
It does not happen on Windows 11.
Any idea what this could be? Could have something to do with our drawer?Desktop 0.4.0https://code.briarproject.org/briar/briar-desktop/-/issues/446Add preference for setting an Avatar image2023-01-07T18:43:04ZSebastianAdd preference for setting an Avatar imagehttps://code.briarproject.org/briar/briar-spec/-/issues/18Move BSP clients specs from wiki to this repo2023-02-20T15:10:17ZNicoMove BSP clients specs from wiki to this repoAs discussed with @akwizgran, instead of having them in the wiki they should live in this repo so that merge requests can be opened that can be reviewed.
https://code.briarproject.org/briar/briar/-/wikis/home#clientsAs discussed with @akwizgran, instead of having them in the wiki they should live in this repo so that merge requests can be opened that can be reviewed.
https://code.briarproject.org/briar/briar/-/wikis/home#clientsNicoNicohttps://code.briarproject.org/briar/briar/-/issues/2410Crash when adding a contact at a distance due to missing BLUETOOTH_CONNECT pe...2023-05-29T11:41:22ZKatelyn DickeyCrash when adding a contact at a distance due to missing BLUETOOTH_CONNECT permissionThis error is avoided by having the "Nearby devices" permission.
The "Add contact nearby" flow asks for this permission, but at a distance does not, while apparently still needing the permission.
1. Have the "Nearby devices" permission ...This error is avoided by having the "Nearby devices" permission.
The "Add contact nearby" flow asks for this permission, but at a distance does not, while apparently still needing the permission.
1. Have the "Nearby devices" permission disallowed
2. Add a contact at a distance
3. Exchange keys
4. After contact is added, wait a few seconds and the app will crash
```
Need android.permission.BLUETOOTH_CONNECT permission for android.content.AttributionSource@163e09fc: getAddress
java.lang.SecurityException: Need android.permission.BLUETOOTH_CONNECT permission for android.content.AttributionSource@163e09fc: getAddress
at android.os.Parcel.createExceptionOrNull(Parcel.java:3011)
at android.os.Parcel.createException(Parcel.java:2995)
at android.os.Parcel.readException(Parcel.java:2978)
at android.os.Parcel.readException(Parcel.java:2920)
at android.bluetooth.IBluetoothManager$Stub$Proxy.getAddress(IBluetoothManager.java:534)
at android.bluetooth.BluetoothAdapter.getAddress(BluetoothAdapter.java:1534)
at org.briarproject.bramble.util.AndroidUtils.getBluetoothAddressAndMethod(AndroidUtils.java:70)
at org.briarproject.bramble.util.AndroidUtils.getBluetoothAddress(AndroidUtils.java:63)
at org.briarproject.bramble.plugin.bluetooth.AndroidBluetoothPlugin.getBluetoothAddress(AndroidBluetoothPlugin.java:146)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin.updateProperties(AbstractBluetoothPlugin.java:239)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin.$r8$lambda$ZdCFKGKAr5elvl5L48zy5sncMIA(Unknown Source:0)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin$$ExternalSyntheticLambda2.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.bluetooth.BluetoothManagerService.checkPermissionForDataDelivery(BluetoothManagerService.java:3239)
at com.android.server.bluetooth.BluetoothManagerService.checkConnectPermissionForDataDelivery(BluetoothManagerService.java:3257)
at com.android.server.bluetooth.BluetoothManagerService.getAddress(BluetoothManagerService.java:1908)
at android.bluetooth.IBluetoothManager$Stub.onTransact(IBluetoothManager.java:246)
at android.os.Binder.execTransactInternal(Binder.java:1280)
```https://code.briarproject.org/briar/briar-spec/-/issues/17Include spec of briar:// links in BRP spec2023-01-06T16:52:10ZNicoInclude spec of briar:// links in BRP specContacts can be added in Briar by exchanging briar:// links. Underneath the Bramble Rendezvous Protocol (BRP) is used, however, nowhere it's specified how the briar:// links are constructed.
Asking @akwizgran, he pointed me to [`Pending...Contacts can be added in Briar by exchanging briar:// links. Underneath the Bramble Rendezvous Protocol (BRP) is used, however, nowhere it's specified how the briar:// links are constructed.
Asking @akwizgran, he pointed me to [`PendingContactFactoryImpl#parseHandshakeLink()`](https://code.briarproject.org/briar/briar/-/blob/beta-1.4.19/bramble-core/src/main/java/org/briarproject/bramble/contact/PendingContactFactoryImpl.java#L59), adding:
> it's a version byte (zero is the current version) followed by a 32-byte curve25519 public key, all base32-encoded to give 53 base32 charshttps://code.briarproject.org/briar/briar-mailbox/-/issues/181Splash screen on Android 12 does not look nice2023-08-28T16:00:10ZSebastianSplash screen on Android 12 does not look niceWith Android 12 there are now [Splash screens](https://developer.android.com/develop/ui/views/launch/splash-screen) when launching the app, showing our logo. In our case that logo is white on a gray background. I think we should probably...With Android 12 there are now [Splash screens](https://developer.android.com/develop/ui/views/launch/splash-screen) when launching the app, showing our logo. In our case that logo is white on a gray background. I think we should probably set the tint in the app icon directly instead of the fragment. We just need to check light mode and dark mode both look good.https://code.briarproject.org/briar/briar/-/issues/2409SecurityException when binding Bluetooth socket2023-05-29T11:38:26ZakwizgranSecurityException when binding Bluetooth socketThis crash looks similar to #1698 but the stacktrace is different. The error message says the app lacks permission android.permission.BLUETOOTH, which was replaced by new permissions in Android 12. Is the error message out of date, or do...This crash looks similar to #1698 but the stacktrace is different. The error message says the app lacks permission android.permission.BLUETOOTH, which was replaced by new permissions in Android 12. Is the error message out of date, or does this device still use the old Bluetooth permissions?
* Android version: 12
* Phone model: Redmi M2101K6R (sweet_global)
* Briar version: 1.4.18 (4797151)
* User feedback: "The app stopped out of nowhere and I need it urgently."
Stacktrace:
```
java.lang.SecurityException: UID 10414 / PID 7993 lacks permission android.permission.BLUETOOTH
at android.os.Parcel.createExceptionOrNull(Parcel.java:2426)
at android.os.Parcel.createException(Parcel.java:2410)
at android.os.Parcel.readException(Parcel.java:2393)
at android.os.Parcel.readException(Parcel.java:2335)
at android.bluetooth.IBluetoothSocketManager$Stub$Proxy.createSocketChannel(IBluetoothSocketManager.java:265)
at android.bluetooth.BluetoothSocket.bindListen(BluetoothSocket.java:453)
at android.bluetooth.BluetoothAdapter.createNewRfcommSocketAndRecord(BluetoothAdapter.java:2883)
at android.bluetooth.BluetoothAdapter.listenUsingInsecureRfcommWithServiceRecord(BluetoothAdapter.java:2830)
at org.briarproject.bramble.plugin.bluetooth.AndroidBluetoothPlugin.openServerSocket(AndroidBluetoothPlugin.java:152)
at org.briarproject.bramble.plugin.bluetooth.AndroidBluetoothPlugin.openServerSocket(AndroidBluetoothPlugin.java:61)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin.lambda$bind$0(AbstractBluetoothPlugin.java:215)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin.$r8$lambda$Nv27P8uQlCv6FpD1a0uQUudeR9U(Unknown Source:0)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin$$ExternalSyntheticLambda0.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
```
Edited log:
```
12-28 01:54:17.763 I/PluginManagerImpl: Starting simplex plugins
12-28 01:54:17.763 I/PluginManagerImpl: Starting duplex plugins
12-28 01:54:17.779 I/PluginManagerImpl: org.briarproject.bramble.bluetooth changed from state STARTING_STOPPING to INACTIVE
12-28 01:54:17.799 I/AbstractBluetoothPlugin: Local address null
12-28 01:54:17.802 I/PluginViewModel: TransportStateEvent: org.briarproject.bramble.bluetooth is INACTIVE
```
Looks like the plugin was enabled and the crash happened at startup.Android 1.4akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/2408Split big BSP Records2023-01-31T21:44:51ZThomasSplit big BSP RecordsIn #407, the requested feature is to send files with sizes bigger than one BSP Record. The issue is cluttered with user feedback-quotes, therefore I thought I make a new issue to propose an implementation (I don't know if this is the bes...In #407, the requested feature is to send files with sizes bigger than one BSP Record. The issue is cluttered with user feedback-quotes, therefore I thought I make a new issue to propose an implementation (I don't know if this is the best way to handle that ...).
I realized that I basically need the same feature for https://code.briarproject.org/thomas/briar/-/issues/1 (with custom BSP-Record sizes). My thoughts are intended to allow for minimal overhead (saving every byte).
My idea is to introduce message-fragments/slices. I think it is not enough to add a new message-type to BSPv0, I think it will require BSPv1. (the slices will be required also for e.g. the REQUEST-Type)
I imagine to send message fragments like { message-hash, start of slice, slice length, byte-array }.
The message itself is prefixed with its total size (needs only to be transmitted with the first slice; since the message is only composed when all slices are there, it is no problem if the first slice is retransmitted).
The receiver can acknowledge fragments (by hash, start and length). When all fragments are available, the sender internally acknowledges the whole record and the receiver assembles the message. I could also imagine the sender caching which BTP-Frame contains which message-fragments so that the receiver can acknowledge BTP-Frames which might save some space. But it will add additional complexity ...
Having sizes&positions as varints ([an Implementation](https://github.com/bazelbuild/bazel/blob/master/src/main/java/com/google/devtools/build/lib/util/VarInt.java)) would be awesome.
Btw: Sorry for not replying to https://code.briarproject.org/thomas/briar/-/issues/1 yethttps://code.briarproject.org/briar/briar/-/issues/2407Crash when getting Bluetooth address2023-01-06T16:28:57ZakwizgranCrash when getting Bluetooth address* Android version: 12
* Phone model: Redmi M2004J19C (galahad_global)
* Briar version: 1.4.18 (4797151)
Edited log:
```
12-17 21:55:20.433 I/AbstractBluetoothPlugin: Bluetooth enabled
```
Stacktrace:
```
java.lang.SecurityException: Ne...* Android version: 12
* Phone model: Redmi M2004J19C (galahad_global)
* Briar version: 1.4.18 (4797151)
Edited log:
```
12-17 21:55:20.433 I/AbstractBluetoothPlugin: Bluetooth enabled
```
Stacktrace:
```
java.lang.SecurityException: Need android.permission.BLUETOOTH_CONNECT permission for android.content.AttributionSource@458c6c33: getAddress
at android.os.Parcel.createExceptionOrNull(Parcel.java:2426)
at android.os.Parcel.createException(Parcel.java:2410)
at android.os.Parcel.readException(Parcel.java:2393)
at android.os.Parcel.readException(Parcel.java:2335)
at android.bluetooth.IBluetoothManager$Stub$Proxy.getAddress(IBluetoothManager.java:789)
at android.bluetooth.BluetoothAdapter.getAddress(BluetoothAdapter.java:1290)
at org.briarproject.bramble.util.AndroidUtils.getBluetoothAddressAndMethod(AndroidUtils.java:70)
at org.briarproject.bramble.util.AndroidUtils.getBluetoothAddress(AndroidUtils.java:63)
at org.briarproject.bramble.plugin.bluetooth.AndroidBluetoothPlugin.getBluetoothAddress(AndroidBluetoothPlugin.java:146)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin.updateProperties(AbstractBluetoothPlugin.java:239)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin.$r8$lambda$ZdCFKGKAr5elvl5L48zy5sncMIA(Unknown Source:0)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin$$ExternalSyntheticLambda2.run(Unknown Source:2)
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:920)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.BluetoothManagerService.checkPermissionForDataDelivery(BluetoothManagerService.java:3327)
at com.android.server.BluetoothManagerService.checkConnectPermissionForDataDelivery(BluetoothManagerService.java:3345)
at com.android.server.BluetoothManagerService.getAddress(BluetoothManagerService.java:1951)
at android.bluetooth.IBluetoothManager$Stub.onTransact(IBluetoothManager.java:373)
at android.os.Binder.execTransactInternal(Binder.java:1190)
```Android 1.4akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/2406Error fragment after scanning QR code for adding contacts does not auto-rotat...2022-12-21T12:21:47ZSebastianError fragment after scanning QR code for adding contacts does not auto-rotate to landscape modeAfter trying to add a contact nearby and scanning a random QR code, an error fragment is displayed. Since we're disabling auto-rotation in the scanning fragment and set that on the activity, the following fragment has the same restrictio...After trying to add a contact nearby and scanning a random QR code, an error fragment is displayed. Since we're disabling auto-rotation in the scanning fragment and set that on the activity, the following fragment has the same restriction. We call there:
```
requireActivity().setRequestedOrientation(SCREEN_ORIENTATION_NOSENSOR);
```
and probably could just call this in the error fragment:
```
requireActivity().setRequestedOrientation(SCREEN_ORIENTATION_UNSPECIFIED);
```https://code.briarproject.org/briar/briar-desktop/-/issues/445Forums: lateinit property not initialized2023-01-31T08:48:44ZSebwinForums: lateinit property not initializedI can provoke this exception on the log:
```
15:14:28.221 [AWT-EventQueue-0] WARN o.b.b.d.RunWithMultipleTemporaryAccounts - Uncaught exception in thread AWT-EventQueue-0
kotlin.UninitializedPropertyAccessException: lateinit property g...I can provoke this exception on the log:
```
15:14:28.221 [AWT-EventQueue-0] WARN o.b.b.d.RunWithMultipleTemporaryAccounts - Uncaught exception in thread AWT-EventQueue-0
kotlin.UninitializedPropertyAccessException: lateinit property groupItem has not been initialized
at org.briarproject.briar.desktop.forums.ThreadedConversationViewModel.getGroupItem(ThreadedConversationViewModel.kt:66)
at org.briarproject.briar.desktop.forums.ThreadedConversationViewModel.eventOccurred(ThreadedConversationViewModel.kt:89)
at org.briarproject.bramble.event.EventBusImpl.lambda$broadcast$0(EventBusImpl.java:42)
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:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
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)
```
It happens when I run two connected instances and send a message in the forum from one client to the other, while the other one has already opened the forum screen, but not yet opened any specific forum (doesn't need to be the one with the incoming message).Desktop 0.4.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/444Fine grained notification settings2022-12-20T13:04:13ZSebastianFine grained notification settingsCurrently it's only possible to change visual and sound notifications separately but not whether notifications are shown/played for private messages, forums etc. individually.Currently it's only possible to change visual and sound notifications separately but not whether notifications are shown/played for private messages, forums etc. individually.https://code.briarproject.org/briar/briar-desktop/-/issues/443Check and fix all i18n warnings found via code inspection2023-02-24T13:42:05ZSebastianCheck and fix all i18n warnings found via code inspectioneither add NON-NLS comments or `@file:Suppress("nls")` to ignore whole files (mostly useful for testing code)either add NON-NLS comments or `@file:Suppress("nls")` to ignore whole files (mostly useful for testing code)Desktop 0.4.1SebastianSebastianhttps://code.briarproject.org/briar/public-mesh-research/-/issues/21Initial investigations: Bluetooth Mesh2022-12-16T13:08:29ZakwizgranInitial investigations: Bluetooth MeshInvestigate whether the Bluetooth Mesh standard could be useful.
https://www.bluetooth.com/wp-content/uploads/2019/03/Mesh-Technology-Overview.pdf
https://www.bluetooth.com/bluetooth-resources/controlling-bluetooth-mesh-networks-with-a...Investigate whether the Bluetooth Mesh standard could be useful.
https://www.bluetooth.com/wp-content/uploads/2019/03/Mesh-Technology-Overview.pdf
https://www.bluetooth.com/bluetooth-resources/controlling-bluetooth-mesh-networks-with-android-applications/Public mesh researchhttps://code.briarproject.org/briar/briar-mailbox/-/issues/180Outline button style2022-12-16T17:22:01ZSebastianOutline button styleIt wasn't mentioned in the usability report that users had problems to find the non-outlined buttons on the mailbox app. But now that we have that style in the briar app, I'm thinking it might make sense for visual consistency between bo...It wasn't mentioned in the usability report that users had problems to find the non-outlined buttons on the mailbox app. But now that we have that style in the briar app, I'm thinking it might make sense for visual consistency between both apps to also use that style on the mailbox app.
Related: https://code.briarproject.org/briar/briar/-/merge_requests/1746Mailbox: Usability testingSebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/442Use bisection method for finding the best image compression2022-12-10T07:45:37ZJens KorteUse bisection method for finding the best image compressionAt https://code.briarproject.org/briar/briar-desktop/-/blob/main/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/attachment/media/ImageCompressorImpl.kt#L66 the best image size is found by
```
for (quality in 100 downTo 1 ...At https://code.briarproject.org/briar/briar-desktop/-/blob/main/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/attachment/media/ImageCompressorImpl.kt#L66 the best image size is found by
```
for (quality in 100 downTo 1 step 10) {
```
How about replacing the for loop with a loop using the [bisection method](https://en.wikipedia.org/wiki/Bisection_method).https://code.briarproject.org/briar/briar-desktop/-/issues/441Kotlin BackendException while compiling2022-12-20T12:20:00ZSebwinKotlin BackendException while compilingI recently get this error frequently while trying to build the app. Often after switching branches, happens both on Windows and Linux. Not sure what's the exact cause.
```
org.jetbrains.kotlin.backend.common.BackendException: Backend In...I recently get this error frequently while trying to build the app. Often after switching branches, happens both on Windows and Linux. Not sure what's the exact cause.
```
org.jetbrains.kotlin.backend.common.BackendException: Backend Internal error: Exception during IR lowering
File being compiled: ~/gitlab/briar/briar-desktop/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationViewModel.kt
The root cause java.lang.AssertionError was thrown at: org.jetbrains.kotlin.ir.util.IrUtilsKt.copyValueParametersToStatic(IrUtils.kt:887)
at org.jetbrains.kotlin.backend.common.CodegenUtil.reportBackendException(CodegenUtil.kt:239)
at org.jetbrains.kotlin.backend.common.CodegenUtil.reportBackendException$default(CodegenUtil.kt:235)
at org.jetbrains.kotlin.backend.common.phaser.PerformByIrFilePhase.invokeSequential(performByIrFile.kt:68)
at org.jetbrains.kotlin.backend.common.phaser.PerformByIrFilePhase.invoke(performByIrFile.kt:55)
at org.jetbrains.kotlin.backend.common.phaser.PerformByIrFilePhase.invoke(performByIrFile.kt:41)
at org.jetbrains.kotlin.backend.common.phaser.NamedCompilerPhase.invoke(CompilerPhase.kt:96)
at org.jetbrains.kotlin.backend.common.phaser.CompositePhase.invoke(PhaseBuilders.kt:29)
at org.jetbrains.kotlin.backend.common.phaser.NamedCompilerPhase.invoke(CompilerPhase.kt:96)
at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.invokeToplevel(CompilerPhase.kt:43)
at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.invokeLowerings(JvmIrCodegenFactory.kt:294)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.runLowerings(KotlinToJVMBytecodeCompiler.kt:339)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:126)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:58)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:158)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:53)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:99)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:47)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:475)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:125)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally(IncrementalCompilerRunner.kt:373)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally$default(IncrementalCompilerRunner.kt:318)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:180)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:79)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:625)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:101)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1746)
at jdk.internal.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
```