Status Update
Comments
ha...@google.com <ha...@google.com> #2
A fix for this problem was included in 1.5.0-beta03
release. Although you already reported that the version you are using is 1.5.0-rc01
, can you please confirm it again? Also, providing any repro steps would be very helpful.
li...@gmail.com <li...@gmail.com> #3
li...@gmail.com <li...@gmail.com> #4
an...@google.com <an...@google.com> #5
The repro for a crash with this stacktrace was provided as part of
From the local testing I see that it is crashing on 1.5.1, but it is not crashing on 1.6.0-alpha01.
Halil, seems like the issue wasn't merged in 1.5.0, maybe the fix wasn't cherrypicked in the end? Do we want to cherry pick it?
ha...@google.com <ha...@google.com> #6
Cherry-pick request was made twice and denied due to the fact that another cherry-picked change (aosp/2610336) should have solved the problem. However looking at the provided repro sample, the issue seems to be persistive. I will initiate another cherry-pick request.
ha...@google.com <ha...@google.com> #7
Cherry-pick has been successfully completed and the latest stable releases of Compose foundation 1.5.2+
includes the fix.
Description
1.5.0-rc1
- Jetpack Compose component used:
Text
- Android Studio Build:
Android Studio Hedgehog | 2023.1.1 Canary 14
- Kotlin version:
1.9.0
- Devices/Android versions reproduced on:
Any
- Stack trace
java.lang.IllegalStateException: LayoutNode should be attached to an owner
at androidx.compose.ui.node.LayoutNodeKt.requireOwner(LayoutNode.kt:1448)
at androidx.compose.ui.node.LayoutNode.invalidateSemantics$ui_release(LayoutNode.kt:412)
at androidx.compose.ui.node.SemanticsModifierNodeKt.invalidateSemantics(SemanticsModifierNode.kt:92)
at androidx.compose.foundation.text.modifiers.TextAnnotatedStringNode.doInvalidations(TextAnnotatedStringNode.kt:210)
at androidx.compose.foundation.text.modifiers.TextAnnotatedStringElement.update(TextAnnotatedStringElement.kt:67)
at androidx.compose.foundation.text.modifiers.TextAnnotatedStringElement.update(TextAnnotatedStringElement.kt:36)
at androidx.compose.ui.node.NodeChainKt.updateUnsafe(NodeChain.kt:808)
at androidx.compose.ui.node.NodeChainKt.access$updateUnsafe(NodeChain.kt:1)
at androidx.compose.ui.node.NodeChain.updateNode(NodeChain.kt:653)
at androidx.compose.ui.node.NodeChain.updateFrom$ui_release(NodeChain.kt:138)
at androidx.compose.ui.node.LayoutNode.setModifier(LayoutNode.kt:844)
at androidx.compose.ui.node.ComposeUiNode$Companion$SetModifier$1.invoke(ComposeUiNode.kt:47)
at androidx.compose.ui.node.ComposeUiNode$Companion$SetModifier$1.invoke(ComposeUiNode.kt:47)
at androidx.compose.runtime.ComposerImpl$apply$operation$1.invoke(Composer.kt:1712)
at androidx.compose.runtime.ComposerImpl$apply$operation$1.invoke(Composer.kt:1710)
at androidx.compose.runtime.CompositionImpl.applyChangesInLocked(Composition.kt:818)
at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:849)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:625)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:537)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1035)
at android.view.Choreographer.doCallbacks(Choreographer.java:845)
at android.view.Choreographer.doFrame(Choreographer.java:775)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1022)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7839)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)