Assigned
Status Update
Comments
ad...@google.com <ad...@google.com>
ch...@google.com <ch...@google.com>
al...@jetbrains.com <al...@jetbrains.com> #2
Also doesn't work in AS 2024.3.2 Canary 4 and Compose 1.8.0-beta01
al...@jetbrains.com <al...@jetbrains.com> #3
Andrei: Is this the same as
at...@gmail.com <at...@gmail.com> #4
Triage notes: Needs investigation. Assigning for later.
ch...@google.com <ch...@google.com> #5
Could you share the AppScaffoldTopBar
function that fails here? This seems different from
al...@google.com <al...@google.com> #6
Reconstructed from IR:
@Composable
fun AppScaffoldTopBar(
showBackArrow: Boolean,
showSearch: Boolean,
title: String?,
onBackClick: () -> Unit,
modifier: Modifier = Modifier,
actions: ImmutableList<AppScaffoldNavigationAction>
) {
if (!showSearch) {
TitledTopAppBar(
title = title,
showBackArrow = showBackArrow,
modifier = modifier,
actions = actions,
onBackClick = onBackClick
)
} else {
TopAppBar(
title = {
// Composable lambda for title
AppScaffoldTopBarTitle(showBackArrow)
},
modifier = modifier,
navigationIcon = {
// Composable lambda for navigation icon
AppScaffoldTopBarNavigationIcon(showBackArrow, onBackClick)
},
actions = {
// Composable lambda for actions
AppScaffoldTopBarActions(actions)
}
)
}
}
This seems /extremely/ weird to me, because showSearch
is just a regular parameter that is used in function body only once. We need more context about surrounding code to figure out why it crashed the compiler.
bu...@google.com <bu...@google.com> #7
sure i can paste more source. let me see what I can give you. do you need internals or externals?
Description
Jetpack Compose component(s) used: Desktop
Android Studio Build - Compose Multiplatofrm
Kotlin version: 1.9
Steps to Reproduce or Code Sample to Reproduce:
Just create an application that uses the below example:
```
@Composable
inline fun InlinedOuterComposable(crossinline content: @Composable ()->Unit) {
content()
}
@Composable
fun TestError() = InlinedOuterComposable {
if(true) {
Text("Test")
return@InlinedOuterComposable
}
Text("Other composable unreachable")
}
```
Stack trace (if applicable):
```
[AWT-EventQueue-0] ERROR simflow.Mains - Unexpected error initializing application: java.lang.ArrayIndexOutOfBoundsException: Index -5 out of bounds for length 0
at androidx.compose.runtime.SlotTableKt.key(SlotTable.kt:3229)
at androidx.compose.runtime.SlotTableKt.access$key(SlotTable.kt:1)
at androidx.compose.runtime.SlotReader.groupKey(SlotTable.kt:779)
at androidx.compose.runtime.ComposerImpl.end(Composer.kt:2292)
at androidx.compose.runtime.ComposerImpl.endGroup(Composer.kt:1579)
at androidx.compose.runtime.ComposerImpl.endRoot(Composer.kt:1463)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3389)
at androidx.compose.runtime.ComposerImpl.composeContent$runtime(Composer.kt:3299)
at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:587)
at androidx.compose.runtime.Recomposer.composeInitial$runtime(Recomposer.kt:966)
at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:519)
at androidx.compose.ui.platform.Wrapper_skikoKt.setContent(Wrapper.skiko.kt:45)
at androidx.compose.ui.ComposeScene.setContent$ui(ComposeScene.skiko.kt:376)
at androidx.compose.ui.ComposeScene.setContent$ui$default(ComposeScene.skiko.kt:354)
at androidx.compose.ui.awt.ComposeLayer$setContent$3$1.invoke(ComposeLayer.desktop.kt:375)
at androidx.compose.ui.awt.ComposeLayer$setContent$3$1.invoke(ComposeLayer.desktop.kt:374)
at androidx.compose.ui.awt.ComposeLayer.catchExceptions(ComposeLayer.desktop.kt:81)
at androidx.compose.ui.awt.ComposeLayer.access$catchExceptions(ComposeLayer.desktop.kt:54)
at androidx.compose.ui.awt.ComposeLayer$setContent$3.invoke(ComposeLayer.desktop.kt:374)
at androidx.compose.ui.awt.ComposeLayer$setContent$3.invoke(ComposeLayer.desktop.kt:373)
at androidx.compose.ui.awt.ComposeLayer.initContent(ComposeLayer.desktop.kt:389)
at androidx.compose.ui.awt.ComposeLayer.access$initContent(ComposeLayer.desktop.kt:54)
at androidx.compose.ui.awt.ComposeLayer$ComponentImpl.addNotify(ComposeLayer.desktop.kt:184)
at java.desktop/java.awt.Container.addNotify(Container.java:2804)
at java.desktop/javax.swing.JComponent.addNotify(JComponent.java:4846)
at androidx.compose.ui.awt.ComposeWindowDelegate$_pane$1.addNotify(ComposeWindowDelegate.desktop.kt:81)
at java.desktop/java.awt.Container.addNotify(Container.java:2804)
at java.desktop/javax.swing.JComponent.addNotify(JComponent.java:4846)
at java.desktop/java.awt.Container.addNotify(Container.java:2804)
at java.desktop/javax.swing.JComponent.addNotify(JComponent.java:4846)
at java.desktop/java.awt.Container.addNotify(Container.java:2804)
at java.desktop/javax.swing.JComponent.addNotify(JComponent.java:4846)
at java.desktop/javax.swing.JRootPane.addNotify(JRootPane.java:721)
at java.desktop/java.awt.Container.addNotify(Container.java:2804)
at java.desktop/java.awt.Window.addNotify(Window.java:791)
at java.desktop/java.awt.Frame.addNotify(Frame.java:495)
at java.desktop/java.awt.Window.pack(Window.java:829)
at androidx.compose.ui.util.Windows_desktopKt.setSizeImpl-6HolHcs(Windows.desktop.kt:115)
at androidx.compose.ui.util.Windows_desktopKt.setSizeSafely-hQcJfNw(Windows.desktop.kt:54)
at androidx.compose.ui.window.Window_desktopKt$Window$5.invoke(Window.desktop.kt:235)
at androidx.compose.ui.window.Window_desktopKt$Window$5.invoke(Window.desktop.kt:172)
at androidx.compose.ui.window.Window_desktopKt$Window$11$1.invoke(Window.desktop.kt:416)
at androidx.compose.ui.window.Window_desktopKt$Window$11$1.invoke(Window.desktop.kt:410)
at androidx.compose.ui.window.AwtWindow_desktopKt$AwtWindow$3.invoke(AwtWindow.desktop.kt:82)
at androidx.compose.ui.window.AwtWindow_desktopKt$AwtWindow$3.invoke(AwtWindow.desktop.kt:80)
at androidx.compose.ui.util.UpdateEffect_desktopKt$UpdateEffect$2$performUpdate$1.invoke(UpdateEffect.desktop.kt:59)
at androidx.compose.ui.util.UpdateEffect_desktopKt$UpdateEffect$2$performUpdate$1.invoke(UpdateEffect.desktop.kt:55)
at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2201)
at androidx.compose.runtime.snapshots.SnapshotStateObserver$observeReads$1$1.invoke(SnapshotStateObserver.kt:238)
at androidx.compose.runtime.snapshots.SnapshotStateObserver$observeReads$1$1.invoke(SnapshotStateObserver.kt:234)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:341)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:234)
at androidx.compose.ui.util.UpdateEffect_desktopKt$UpdateEffect$2.invoke$performUpdate(UpdateEffect.desktop.kt:55)
at androidx.compose.ui.util.UpdateEffect_desktopKt$UpdateEffect$2.invoke(UpdateEffect.desktop.kt:64)
at androidx.compose.ui.util.UpdateEffect_desktopKt$UpdateEffect$2.invoke(UpdateEffect.desktop.kt:47)
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:108)
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)
```