Open henrikyn opened 3 years ago
Unfortunately, this error is not complete. After this error, there should be a stack trace reported in the error log; please provide this information as well! Thanks.
Here's the whole stack trace:
Unable to resume activity {com.example.name/com.example.name.MyActivity}: com.google.ar.core.exceptions.FatalException Fatal Exception: java.lang.RuntimeException: Unable to resume activity {com.example.name/com.example.name.MyActivity}: com.google.ar.core.exceptions.FatalException at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4279) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4311) at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2047) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7590) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
Caused by com.google.ar.core.exceptions.FatalException
at java.lang.reflect.Constructor.newInstance0(Constructor.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at com.google.ar.core.Session.throwExceptionFromArStatus(Session.java:16)
at com.google.ar.core.Session.nativeCreateSessionAndWrapperWithFeatures(Session.java)
at com.google.ar.core.Session.
ReferenceQueueDaemon at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:442) at java.lang.Object.wait(Object.java:568) at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:217) at java.lang.Daemons$Daemon.run(Daemons.java:139) at java.lang.Thread.run(Thread.java:919)
TcmReceiver at android.net.LocalSocketImpl.readba_native(LocalSocketImpl.java) at android.net.LocalSocketImpl.access$300(LocalSocketImpl.java:37) at android.net.LocalSocketImpl$SocketInputStream.read(LocalSocketImpl.java:113) at com.qti.tcmclient.DpmTcmClient$TcmReceiver.run(DpmTcmClient.java:149) at java.lang.Thread.run(Thread.java:919)
FinalizerWatchdogDaemon at java.lang.Thread.sleep(Thread.java) at java.lang.Thread.sleep(Thread.java:440) at java.lang.Thread.sleep(Thread.java:356) at java.lang.Daemons$FinalizerWatchdogDaemon.sleepForMillis(Daemons.java:385) at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:413) at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:325) at java.lang.Daemons$Daemon.run(Daemons.java:139) at java.lang.Thread.run(Thread.java:919)
Crashlytics Exception Handler1 at dalvik.system.VMStack.getThreadStackTrace(VMStack.java) at java.lang.Thread.getStackTrace(Thread.java:1720) at java.lang.Thread.getAllStackTraces(Thread.java:1796) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateThreadsList(CrashlyticsReportDataCapture.java:264) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateExecutionData(CrashlyticsReportDataCapture.java:244) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateEventApplicationData(CrashlyticsReportDataCapture.java:206) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.captureEventData(CrashlyticsReportDataCapture.java:102) at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistEvent(SessionReportingCoordinator.java:198) at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistFatalEvent(SessionReportingCoordinator.java:115) at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:196) at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:181) at com.google.firebase.crashlytics.internal.common.CrashlyticsBackgroundWorker$3.then(CrashlyticsBackgroundWorker.java:105) at com.google.android.gms.tasks.zzf.run(com.google.android.gms:play-services-tasks@@17.1.0:2) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:64) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) at java.lang.Thread.run(Thread.java:919)
Timer-0 at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:442) at java.util.TimerThread.mainLoop(Timer.java:559) at java.util.TimerThread.run(Timer.java:512)
GLThread 115660 at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:442) at java.lang.Object.wait(Object.java:568) at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1497) at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1272)
firebase-installations-executor-2 at sun.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:919)
Okio Watchdog at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:442) at java.lang.Object.wait(Object.java:568) at com.android.okhttp.okio.AsyncTimeout.awaitTimeout(AsyncTimeout.java:313) at com.android.okhttp.okio.AsyncTimeout.access$000(AsyncTimeout.java:42) at com.android.okhttp.okio.AsyncTimeout$Watchdog.run(AsyncTimeout.java:288)
ScionFrontendApi at sun.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:919)
pool-4-thread-1 at sun.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:919)
firebase-installations-executor-1 at sun.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:919)
grpc-shared-destroyer-0 at sun.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:919)
awaitEvenIfOnMainThread task continuation executor1 at sun.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:64) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) at java.lang.Thread.run(Thread.java:919)
FinalizerDaemon at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:442) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:190) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:211) at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:273) at java.lang.Daemons$Daemon.run(Daemons.java:139) at java.lang.Thread.run(Thread.java:919)
Measurement Worker at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:442) at com.google.android.gms.measurement.internal.zzfh.run(com.google.android.gms:play-services-measurement-impl@@18.0.2:10)
AsyncTask #2 at sun.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:459) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:920) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:919)
GoogleApiHandler at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:336) at android.os.Looper.loop(Looper.java:181) at android.os.HandlerThread.run(HandlerThread.java:67)
queued-work-looper at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:336) at android.os.Looper.loop(Looper.java:181) at android.os.HandlerThread.run(HandlerThread.java:67)
magnifier pixel copy result handler at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:336) at android.os.Looper.loop(Looper.java:181) at android.os.HandlerThread.run(HandlerThread.java:67)
OkHttp ConnectionPool at java.lang.Object.wait(Object.java) at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:107) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:919)
com.google.firebase.crashlytics.startup1 at sun.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:64) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) at java.lang.Thread.run(Thread.java:919)
The native stack trace should look something like this in #1054.
Sorry, there's no native stack trace 😞. I need to enable native crash reporting for the next build.
I'll keep an eye on internal reports in the meantime.
Same Issue:
Caused by com.google.ar.core.exceptions.FatalException at java.lang.reflect.Constructor.newInstance0(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at com.google.ar.core.Session.throwExceptionFromArStatus(Session.java:100) at com.google.ar.core.Session.nativeResume(Session.java) at com.google.ar.core.Session.resume(Session.java:79) at com.google.ar.sceneform.ArSceneView.resumeSession(ArSceneView.java:280) at com.google.ar.sceneform.ArSceneView.resume(ArSceneView.java:233) at com.google.ar.sceneform.ux.BaseArFragment.start(BaseArFragment.java:543) at com.google.ar.sceneform.ux.BaseArFragment.onResume(BaseArFragment.java:342) at com.x.y.z.onResume(FaceArFragment.java:66) at androidx.fragment.app.Fragment.performResume(Fragment.java:3039) at androidx.fragment.app.FragmentStateManager.resume(FragmentStateManager.java:607) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:306) at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647) at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128) at androidx.fragment.app.FragmentManager.dispatchResume(FragmentManager.java:3086) at androidx.fragment.app.Fragment.performResume(Fragment.java:3048) at androidx.fragment.app.FragmentStateManager.resume(FragmentStateManager.java:607) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:306) at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647) at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128) at androidx.fragment.app.FragmentManager.dispatchResume(FragmentManager.java:3086) at androidx.fragment.app.Fragment.performResume(Fragment.java:3048) at androidx.fragment.app.FragmentStateManager.resume(FragmentStateManager.java:607) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:306) at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647) at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128) at androidx.fragment.app.FragmentManager.dispatchResume(FragmentManager.java:3086) at androidx.fragment.app.FragmentController.dispatchResume(FragmentController.java:273) at androidx.fragment.app.FragmentActivity.onResumeFragments(FragmentActivity.java:458) at androidx.fragment.app.FragmentActivity.onPostResume(FragmentActivity.java:447) at androidx.appcompat.app.AppCompatActivity.onPostResume(AppCompatActivity.java:240) at android.app.Activity.performResume(Activity.java:8080) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4269) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4311) at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2047) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7592) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
90% of the time the issue is on Redmi Note 7 Pro Device Also, got a report from different Redmi Users that sometimes it doesn't crash but only the camera feed is visible and not the AR Model on this same device and maybe sometimes the placement of AR model is completely unexpected. Works fine on other devices (Oneplus 7, Samsung Galaxy m51)
Is this fixed or any suggestion to fix this?
SPECIFIC ISSUE ENCOUNTERED
User has issues with initializing ARCore session using Xiaomi Redmi Note 7. Information is from Firebase Crashlytics. Crash stack-trace: Caused by com.google.ar.core.exceptions.FatalException at java.lang.reflect.Constructor.newInstance0(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at com.google.ar.core.Session.throwExceptionFromArStatus(Session.java:16) at com.google.ar.core.Session.nativeCreateSessionAndWrapperWithFeatures(Session.java) at com.google.ar.core.Session.(Session.java:11)
at com.google.ar.core.Session.(Session.java:4)
at com.example.name.MyFragment.createSession(MyFragment.kt:609)
at com.example.name.MyFragment.onResume(MyFragment.kt:430)
at androidx.fragment.app.Fragment.performResume(Fragment.java:2649)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:922)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2659)
at androidx.fragment.app.FragmentManagerImpl.dispatchResume(FragmentManagerImpl.java:2625)
at androidx.fragment.app.FragmentController.dispatchResume(FragmentController.java:268)
at androidx.fragment.app.FragmentActivity.onResumeFragments(FragmentActivity.java:479)
at androidx.fragment.app.FragmentActivity.onPostResume(FragmentActivity.java:468)
at androidx.appcompat.app.AppCompatActivity.onPostResume(AppCompatActivity.java:204)
at android.app.Activity.performResume(Activity.java:8080)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4269)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4311)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2047)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7590)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
VERSIONS USED
Android Studio: 4.1.2, Build #AI-201.8743.12.41.7042882 ARCore SDK for Android: com.google.ar:core:1.22.0 Device manufacturer, model, and O/S: Xiaomi Redmi Note 7, Android 10 Google Play Services for AR (ARCore): App is ARCore required (manifest), ARCore SDK install and Camera permissions are requested and required before use.
STEPS TO REPRODUCE THE ISSUE
WORKAROUNDS (IF ANY)
ADDITIONAL COMMENTS