Assigned
Status Update
Comments
an...@google.com <an...@google.com> #2
We could add an API to make the weighted distance customizable, aosp/3271691 has more info.
8h...@gmail.com <8h...@gmail.com> #3
Happens the following crash only for Android 8 devices
100% Android 8 65% Android 8.1.0 35% Android 8.0.0
25% Motorola 20% Huawei 15% Vivo 10% Oneplus 10% Oppo 5% Samsung 5% Xiaomi 5% LGE 5% Sony
Fatal Exception: java.lang.StackOverflowError
stack size 8MB
androidx.compose.ui.semantics.SemanticsNodeKt.SemanticsNode (SemanticsNode.kt:110)
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers (SemanticsNode.kt:34)
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers (SemanticsNode.kt:42)
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers (SemanticsNode.kt:42)
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers (SemanticsNode.kt:42)
androidx.compose.ui.semantics.SemanticsNode.l (SemanticsNode.kt:15)
androidx.compose.ui.semantics.SemanticsNode.getChildren (SemanticsNode.kt:27)
androidx.compose.ui.semantics.SemanticsNode.getReplacedChildren$ui_release (SemanticsNode.kt:333)
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat.populateAccessibilityNodeInfoProperties (AndroidComposeViewAccessibilityDelegateCompat.java:333)
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat.createNodeInfo (AndroidComposeViewAccessibilityDelegateCompat.java:333)
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat.access$createNodeInfo (AndroidComposeViewAccessibilityDelegateCompat.java:333)
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat$ComposeAccessibilityNodeProvider.createAccessibilityNodeInfo (AndroidComposeViewAccessibilityDelegateCompat.android.kt:333)
android.view.View.populateVirtualStructure (View.java:8056)
android.view.View.populateVirtualStructure (View.java:8059)
android.view.View.populateVirtualStructure (View.java:8059)
android.view.View.populateVirtualStructure (View.java:8059)
android.view.View.populateVirtualStructure (View.java:8059)
android.view.View.populateVirtualStructure (View.java:8059)
android.view.View.populateVirtualStructure (View.java:8059)
android.view.View.populateVirtualStructure (View.java:8059)
android.view.View.populateVirtualStructure (View.java:8059)
android.view.View.populateVirtualStructure (View.java:8059)
android.view.View.populateVirtualStructure (View.java:8059)
android.view.View.onProvideVirtualStructure (View.java:7628)
android.view.View.dispatchProvideStructureForAssistOrAutofill (View.java:8128)
android.view.View.dispatchProvideStructure (View.java:8071)
android.view.ViewGroup.dispatchProvideStructure (ViewGroup.java:3469)
android.view.ViewGroup.dispatchProvideStructure (ViewGroup.java:3533)
android.view.ViewGroup.dispatchProvideStructure (ViewGroup.java:3533)
android.view.ViewGroup.dispatchProvideStructure (ViewGroup.java:3533)
android.view.ViewGroup.dispatchProvideStructure (ViewGroup.java:3533)
android.view.ViewGroup.dispatchProvideStructure (ViewGroup.java:3533)
android.view.ViewGroup.dispatchProvideStructure (ViewGroup.java:3533)
android.app.assist.AssistStructure$WindowNode.<init> (AssistStructure.java:517)
android.app.assist.AssistStructure.<init> (AssistStructure.java:1917)
android.app.ActivityThread.handleRequestAssistContextExtras (ActivityThread.java:3076)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1826)
android.os.Handler.dispatchMessage (Handler.java:105)
android.os.Looper.loop (Looper.java:164)
android.app.ActivityThread.main (ActivityThread.java:6710)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:240)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:770)
latest versions of compose and compiler plugin
Description
Crashed on some Android 8/12/13 devices and found that they all seem to have Accessibility enabled, which may be related to this
java.lang.IllegalStateException: LayoutNode should be attached to an owner
androidx.compose.ui.node.LayoutNodeKt.requireOwner LayoutNodeKt.java
androidx.compose.ui.node.LayoutNode.ؠ LayoutNode.java:28
androidx.compose.ui.semantics.SemanticsNodeKt.SemanticsNode SemanticsNodeKt.java
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers SemanticsNode.java
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers SemanticsNode.java
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers SemanticsNode.java
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers SemanticsNode.java
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers SemanticsNode.java
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers SemanticsNode.java
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers SemanticsNode.java
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers SemanticsNode.java
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers SemanticsNode.java
androidx.compose.ui.semantics.SemanticsNode.fillOneLayerOfSemanticsWrappers SemanticsNode.java
androidx.compose.ui.semantics.SemanticsNode.ׯ SemanticsNode.java:15
androidx.compose.ui.semantics.SemanticsNode.getChildren SemanticsNode.java
androidx.compose.ui.semantics.SemanticsNode.getReplacedChildren$ui_release SemanticsNode.java
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat_androidKt.getAllUncoveredSemanticsNodesToMap$findAllSemanticNodesRecursive AndroidComposeViewAccessibilityDelegateCompat_androidKt.java
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat_androidKt.getAllUncoveredSemanticsNodesToMap$findAllSemanticNodesRecursive AndroidComposeViewAccessibilityDelegateCompat_androidKt.java
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat_androidKt.getAllUncoveredSemanticsNodesToMap$findAllSemanticNodesRecursive AndroidComposeViewAccessibilityDelegateCompat_androidKt.java
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat_androidKt.getAllUncoveredSemanticsNodesToMap AndroidComposeViewAccessibilityDelegateCompat_androidKt.java
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat.getCurrentSemanticsNodes$ui_release AndroidComposeViewAccessibilityDelegateCompat.java
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat.createNodeInfo AndroidComposeViewAccessibilityDelegateCompat.java
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat.access$createNodeInfo AndroidComposeViewAccessibilityDelegateCompat.java
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat$MyNodeProvider.createAccessibilityNodeInfo AndroidComposeViewAccessibilityDelegateCompat.java
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat$MyNodeProvider.createAccessibilityNodeInfo$bridge AndroidComposeViewAccessibilityDelegateCompat.java
android.view.accessibility.AccessibilityRecord.setSource AccessibilityRecord.java:150
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat.ށ AndroidComposeViewAccessibilityDelegateCompat.java:32
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat.sendEventForVirtualView AndroidComposeViewAccessibilityDelegateCompat.java
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat.sendEventForVirtualView$default AndroidComposeViewAccessibilityDelegateCompat.java
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat.sendSubtreeChangeAccessibilityEvents AndroidComposeViewAccessibilityDelegateCompat.java
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat.boundsUpdatesEventLoop AndroidComposeViewAccessibilityDelegateCompat.java
androidx.compose.ui.platform.AndroidComposeViewAccessibilityDelegateCompat$boundsUpdatesEventLoop$1.invokeSuspend AndroidComposeViewAccessibilityDelegateCompat.java
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith BaseContinuationImpl.java:9
kotlinx.coroutines.DispatchedTask.run DispatchedTask.java:96
androidx.compose.ui.platform.AndroidUiDispatcher.performTrampolineDispatch AndroidUiDispatcher.java
androidx.compose.ui.platform.AndroidUiDispatcher.access$performTrampolineDispatch AndroidUiDispatcher.java
androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.run AndroidUiDispatcher.java:3
android.os.Handler.handleCallback Handler.java:808
android.os.Handler.dispatchMessage Handler.java:101
android.os.Looper.loop Looper.java:166
android.app.ActivityThread.main ActivityThread.java:7529
java.lang.reflect.Method.invoke Method.java:-2
com.android.internal.os.Zygote$MethodAndArgsCaller.run Zygote.java:245
com.android.internal.os.ZygoteInit.main ZygoteInit.java:921