6

This whole situation is just ridiculous – I've got this insanely weird crash messing with my sanity, and no matter how much I scour the internet, it's like this thing doesn't even exist in the online world. It's frustrating as heck. So, if you're out there and have even the tiniest inkling about what's going on, I'm all ears. Seriously, I could use some friendly guidance to shine a big ol' light on this head-scratcher.

Fatal Exception: java.lang.IllegalStateException
You must call layoutWithConstraints first

androidx.compose.foundation.text.modifiers.MultiParagraphLayoutCache.getTextLayoutResult (MultiParagraphLayoutCache.kt:118)
androidx.compose.foundation.text.modifiers.TextAnnotatedStringNode.draw (TextAnnotatedStringNode.kt:489)
androidx.compose.ui.node.LayoutNodeDrawScope.drawDirect-x_KDEd0$ui_release (LayoutNodeDrawScope.kt:105)
androidx.compose.ui.node.LayoutNodeDrawScope.draw-x_KDEd0$ui_release (LayoutNodeDrawScope.kt:86)
androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers (NodeCoordinator.kt:365)
androidx.compose.ui.node.NodeCoordinator.draw (NodeCoordinator.kt:354)
androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw (LayoutModifierNodeCoordinator.kt:182)
androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers (NodeCoordinator.kt:362)
androidx.compose.ui.node.NodeCoordinator.access$drawContainedDrawModifiers (NodeCoordinator.kt:54)
androidx.compose.ui.node.NodeCoordinator$invoke$1.invoke (NodeCoordinator.kt:384)
androidx.compose.ui.node.NodeCoordinator$invoke$1.invoke (NodeCoordinator.kt:383)
androidx.compose.runtime.snapshots.Snapshot$Companion.observe (Snapshot.kt:2303)
androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe (SnapshotStateObserver.kt:473)
androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads (SnapshotStateObserver.kt:230)
androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release (OwnerSnapshotObserver.kt:133)
androidx.compose.ui.node.NodeCoordinator.invoke (NodeCoordinator.kt:383)
androidx.compose.ui.node.NodeCoordinator.invoke (NodeCoordinator.kt:54)
androidx.compose.ui.platform.RenderNodeApi29.record (RenderNodeApi29.android.kt:209)
androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (RenderNodeLayer.android.kt:304)
androidx.compose.ui.platform.AndroidComposeView.dispatchDraw (AndroidComposeView.android.kt:1167)
android.view.View.draw (View.java:22957)
android.view.View.updateDisplayListIfDirty (View.java:21789)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4606)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4579)
android.view.View.updateDisplayListIfDirty (View.java:21740)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4606)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4579)
android.view.View.updateDisplayListIfDirty (View.java:21740)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4606)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4579)
android.view.View.updateDisplayListIfDirty (View.java:21740)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4606)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4579)
android.view.View.updateDisplayListIfDirty (View.java:21740)
android.view.ThreadedRenderer.updateViewTreeDisplayList (ThreadedRenderer.java:561)
android.view.ThreadedRenderer.updateRootDisplayList (ThreadedRenderer.java:567)
android.view.ThreadedRenderer.draw (ThreadedRenderer.java:673)
android.view.ViewRootImpl.draw (ViewRootImpl.java:4905)
android.view.ViewRootImpl.performDraw (ViewRootImpl.java:4620)
android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:3749)
android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:2428)
android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:9437)
android.view.Choreographer$CallbackRecord.run (Choreographer.java:1228)
android.view.Choreographer.doCallbacks (Choreographer.java:1012)
android.view.Choreographer.doFrame (Choreographer.java:922)
android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1213)
android.os.Handler.handleCallback (Handler.java:938)
android.os.Handler.dispatchMessage (Handler.java:99)
android.os.Looper.loopOnce (Looper.java:233)
android.os.Looper.loop (Looper.java:334)
android.app.ActivityThread.main (ActivityThread.java:8513)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:582)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1068)
eldartsa
  • 181
  • 1
  • 8

1 Answers1

0

There is a bug in the 1.6.0 Alpha libraries effecting Text Composables in material3, to fix this you can either switch to using BasicText or use the stable Compose version 1.5.0.

In my case I found a dependency that was forcing the use of 1.6 Alpha libraries, after downgrading the crash stopped.

Joe3112
  • 968
  • 8
  • 10
  • I already use androidx.compose:compose-bom:2023.08.00, which use Compose version 1.5.0.. What do I need to change specifically? – eldartsa Sep 02 '23 at 16:45