Assigned
Status Update
Comments
za...@google.com <za...@google.com>
an...@northwesternmutual.com <an...@northwesternmutual.com> #2
Hello,
I'm only a little familiar with Power Apps. Is your app a mobile app or a web app?
This link
The primary
If your app does not work on Android mobile devices, you can also consider the
Description
Version used: 1.1.0
Devices/Android versions reproduced on: Android 6, and Android 10-14
If this is a bug in the library, we would appreciate if you could attach:
We received a bunch of crashlytics issues for Glance Widgets as of following, but we are unable to reproduce it, there seems that related to the Glance libraries itselves.
2 main crashes:
1. Okio__JvmOkioKt.source, android.system.ErrnoException - open failed: EACCES (Permission denied):
Fatal Exception: java.io.FileNotFoundException
/data/user/0/com.bitsmedia.android.muslimpro/files/datastore/GlanceAppWidgetManager.preferences_pb: open failed: ENOENT (No such file or directory)
Caused by android.system.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Linux.open(Linux.java)
at libcore.io.ForwardingOs.open(ForwardingOs.java:563)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:274)
at libcore.io.ForwardingOs.open(ForwardingOs.java:563)
at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:8624)
at libcore.io.IoBridge.open(IoBridge.java:560)
at java.io.FileInputStream.<init>(FileInputStream.java:160)
at okio.Okio__JvmOkioKt.source(JvmOkio.kt:181)
at okio.Okio.source(Okio.java:1)
at okio.JvmSystemFileSystem.source(JvmSystemFileSystem.kt:96)
at androidx.datastore.core.okio.OkioReadScope.readData(OkioStorage.kt:65351)
at androidx.datastore.core.StorageConnectionKt$readData$2.invokeSuspend(StorageConnection.kt:74)
at androidx.datastore.core.StorageConnectionKt$readData$2.invoke$788e1e94(StorageConnection.kt:1000)
at androidx.datastore.core.okio.OkioStorageConnection.readScope(OkioStorage.kt:113)
at androidx.datastore.core.StorageConnectionKt.readData(StorageConnection.kt:74)
at androidx.datastore.core.DataStoreImpl.readDataFromFileOrDefault(DataStoreImpl.kt:331)
at androidx.datastore.core.DataStoreImpl$readDataOrHandleCorruption$2.invokeSuspend(DataStoreImpl.kt:378)
at androidx.datastore.core.DataStoreImpl$readDataOrHandleCorruption$2.invoke(DataStoreImpl.kt:1000)
at androidx.datastore.core.SingleProcessCoordinator.lock(SingleProcessCoordinator.kt:50)
at androidx.datastore.core.DataStoreImpl.readAndInitOrPropagateAndThrowFailure(DataStoreImpl.kt:377)
at androidx.datastore.core.DataStoreImpl.access$getInternalDataFlow$p(DataStoreImpl.kt:53)
at androidx.datastore.core.DataStoreImpl.access$readDataOrHandleCorruption(DataStoreImpl.kt:53)
at androidx.datastore.core.DataStoreImpl$readDataAndUpdateCache$4.invokeSuspend(DataStoreImpl.kt:314)
at androidx.datastore.core.DataStoreImpl$readDataAndUpdateCache$4.invoke(DataStoreImpl.kt:1000)
at androidx.datastore.core.SingleProcessCoordinator.lock(SingleProcessCoordinator.kt:50)
at androidx.datastore.core.DataStoreImpl.readAndInitOrPropagateAndThrowFailure(DataStoreImpl.kt:12312)
at androidx.datastore.core.DataStoreImpl$readState$2.invokeSuspend(DataStoreImpl.kt:234)
at androidx.datastore.core.DataStoreImpl$readState$2.invoke(DataStoreImpl.kt:1000)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:61)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:163)
at kotlinx.coroutines.BuildersKt.withContext(Builders.kt:1)
at androidx.datastore.core.DataStoreImpl.readState(DataStoreImpl.kt:219)
at androidx.datastore.core.DataStoreImpl$internalDataFlow$1.invokeSuspend(DataStoreImpl.kt:123)
at androidx.datastore.core.DataStoreImpl$internalDataFlow$1.invoke(DataStoreImpl.kt:1000)
at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:57)
at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:226)
at kotlinx.coroutines.flow.FlowKt__EmittersKt$onStart$$inlined$unsafeFlow$1.collect(SafeCollector.common.kt:119)
at kotlinx.coroutines.flow.FlowKt__EmittersKt$onCompletion$$inlined$unsafeFlow$1.collect(SafeCollector.common.kt:113)
at androidx.datastore.core.DataStoreImpl$data$1.invokeSuspend(DataStoreImpl.kt:159)
at androidx.datastore.core.DataStoreImpl$data$1.invoke(DataStoreImpl.kt:1000)
at kotlinx.coroutines.flow.ChannelFlowBuilder.collectTo$suspendImpl(Builders.kt:316)
at kotlinx.coroutines.flow.ChannelFlowBuilder.collectTo(Builders.kt:1316)
at kotlinx.coroutines.flow.internal.ChannelFlow$collectToFun$1.invokeSuspend(ChannelFlow.kt:56)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler.createNewWorker(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:11811)
Caused by android.system.ErrnoException
open failed: ENOENT (No such file or directory)
Caused by android.system.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Linux.open(Linux.java)
2. BinderProxy.transactNative
android.os.DeadObjectException - Transaction failed on small parcel; remote process probably died
Fatal Exception: android.os.BadParcelableException
Failure retrieving array; only received 9 of 58
android.content.pm.BaseParceledListSlice.<init> (BaseParceledListSlice.java:110)
android.content.pm.ParceledListSlice.<init> (ParceledListSlice.java:42)
android.content.pm.ParceledListSlice.<init>
android.content.pm.ParceledListSlice$1.createFromParcel (ParceledListSlice.java:80)
android.content.pm.ParceledListSlice$1.createFromParcel (ParceledListSlice.java:78)
android.os.Parcel.readTypedObject (Parcel.java:4037)
com.android.internal.appwidget.IAppWidgetService$Stub$Proxy.getInstalledProvidersForProfile (IAppWidgetService.java:1121)
android.appwidget.AppWidgetManager.getInstalledProvidersForProfile (AppWidgetManager.java:1054)
android.appwidget.AppWidgetManager.getInstalledProviders (AppWidgetManager.java:999)
androidx.glance.appwidget.GlanceAppWidgetManager.addAllReceiversAndProvidersToPreferences (GlanceAppWidgetManager.kt:272)
androidx.glance.appwidget.GlanceAppWidgetManager.getState (GlanceAppWidgetManager.kt:109)
androidx.glance.appwidget.GlanceAppWidgetManager$getState$1.invokeSuspend (GlanceAppWidgetManager.kt:65353)
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:102)
kotlinx.coroutines.internal.LimitedDispatcher$Worker.run (LimitedDispatcher.kt:111)
kotlinx.coroutines.scheduling.TaskImpl.run (Tasks.kt:99)
kotlinx.coroutines.scheduling.CoroutineScheduler.createNewWorker (CoroutineScheduler.kt:584)
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run (CoroutineScheduler.kt:11811)
Caused by android.os.DeadObjectException
Transaction failed on small parcel; remote process probably died, but this could also be caused by running out of binder buffer space
android.os.BinderProxy.transactNative (BinderProxy.java)
3. AppWidgetManager.getInstalledProvidersForProfile
android.os.DeadSystemException
Fatal Exception: java.lang.RuntimeException
android.os.DeadSystemException
android.content.pm.BaseParceledListSlice.<init> (BaseParceledListSlice.java:110)
android.content.pm.ParceledListSlice.<init> (ParceledListSlice.java:42)
android.content.pm.ParceledListSlice.<init>
android.content.pm.ParceledListSlice$1.createFromParcel (ParceledListSlice.java:80)
android.content.pm.ParceledListSlice$1.createFromParcel (ParceledListSlice.java:78)
android.os.Parcel.readTypedObject (Parcel.java:4037)
com.android.internal.appwidget.IAppWidgetService$Stub$Proxy.getInstalledProvidersForProfile (IAppWidgetService.java:1121)
android.appwidget.AppWidgetManager.getInstalledProvidersForProfile (AppWidgetManager.java:1054)
android.appwidget.AppWidgetManager.getInstalledProviders (AppWidgetManager.java:999)
androidx.glance.appwidget.GlanceAppWidgetManager.addAllReceiversAndProvidersToPreferences (GlanceAppWidgetManager.kt:272)
androidx.glance.appwidget.GlanceAppWidgetManager.getState (GlanceAppWidgetManager.kt:109)
androidx.glance.appwidget.GlanceAppWidgetManager$getState$1.invokeSuspend (GlanceAppWidgetManager.kt:65353)
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:102)
kotlinx.coroutines.internal.LimitedDispatcher$Worker.run (LimitedDispatcher.kt:111)
kotlinx.coroutines.scheduling.TaskImpl.run (Tasks.kt:99)
kotlinx.coroutines.scheduling.CoroutineScheduler.createNewWorker (CoroutineScheduler.kt:584)
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run (CoroutineScheduler.kt:11811)
Caused by android.os.DeadSystemException
android.appwidget.AppWidgetManager.getInstalledProvidersForProfile (AppWidgetManager.java:867)
android.appwidget.AppWidgetManager.getInstalledProviders (AppWidgetManager.java:803)
androidx.glance.appwidget.GlanceAppWidgetManager.addAllReceiversAndProvidersToPreferences (GlanceAppWidgetManager.kt:272)
androidx.glance.appwidget.GlanceAppWidgetManager.getState (GlanceAppWidgetManager.kt:109)
androidx.glance.appwidget.GlanceAppWidgetManager$getState$1.invokeSuspend (GlanceAppWidgetManager.kt:65353)
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:102)
android.os.Handler.handleCallback (Handler.java:873)
android.os.Handler.dispatchMessage (Handler.java:99)
android.os.Looper.loop (Looper.java:233)
android.app.ActivityThread.main (ActivityThread.java:7225)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:499)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:962)