ERROR_INTERNAL EarthState in Geospatial API
I have recently been testing the new Geospatial API, and had things running nicely, however as of today, it is no longer working in all apps - including the BalloonPop and PocketGarden samples (as well as a custom app I was working on). All Unity apps.
I took a look through the logs however could not see anything very telling apart from the following:
W0000 00:00:1652946540.370592 17636 motion_stereo_manager.cc:1709] INVALID_ARGUMENT: evaluated_depth has wrong format. expected=FLOAT32 or DEPTH16 actual=UINT16
=== Source Location Trace: ===
third_party/arcore/ar/image/argument_validators.cc:35
vr/perception/depth/projects/motion_stereo/telemetry/depth_quality_calculator.cc:51
Not sure if that may be the cause? Unfortunately I do not have any logs from when everything was working that I can compare to.
Is the API currently working for anyone else? Things were working fine less than 12 hrs or so ago, so it seems strange that all apps have suddenly stopped working.
Hello, I can confirm that I am also having Error Internal.
I had a clean test build yesterday on an empty project, following all the instructions. The application is build and the onscreen log shows: "Geospatial sample encountered an EarthState error: ErrorInternal"
Thanks for confirming it's not just me @Ykrit .
Yes, I have exactly the same error. I assume there is an issue with the service currently then.
Anyone from Google possibly able to comment on if there is any eta on when the service might be back up?
I also have the same issue when using the geospatial example. The app crashes after 4 sec because of ERROR_INTERNAL at EarthState
@Ding0l1 After some investigation, I believe this issue is related to some issues with initialization.
One thing to keep in mind is the known issue in the release notes: https://github.com/google-ar/arcore-unity-extensions/releases. Make sure you have GeospatialMode.Enabled ahead of time, and add a delay in your initialization as is done in the PocketGarden sample:
https://github.com/buck-co/PocketGarden/blob/master/Assets/_GeoAR%20Framework/Scripts/GeospatialManager.cs
Note the 3s _initTime before the app tries to check the EarthManager.EarthState. Hopefully this will be improved in the future, as the initialization process seems like a bit of a hack currently ;)
After adding this delay in the initialization process I have not had any ERROR_INTERNAL errors, so would recommend trying that.
@stents-dev So you made it work? could you share the workflow you implemented?
My initialization flow is now very similar to the one in PocketGarden's Update method: https://github.com/buck-co/PocketGarden/blob/master/Assets/_GeoAR%20Framework/Scripts/GeospatialManager.cs
I wait for the ARSession to initialize, then delay for 3 seconds, before continuing with checking EarthManager.EarthState etc as before. I have Geospatial Mode set to enabled in my config from the start as well, rather than enabling it at runtime.
Hopefully that resolves it for you. If you still have any issues then feel free to post your initialization method and I can take a quick look.
Had the same problem and the solution suggested by @stents-dev also worked for me. I've configured the Unity project to have ARCoreExtensions.ARCoreExtensionsConfig.GeospatialMode == Geospatial.Enabled from the start, so it went straight into EarthManager.EarthState a bit later in the Update() method. That apparently was a bit too soon and resulted in Geospatial sample encountered an EarthState error: ErrorInternal. Now I'm triggering the 3 second wait, same as is done when ARCoreExtensions.ARCoreExtensionsConfig.GeospatialMode == GeospatialMode.Disabled, and now the sample runs without problems.
Note: I'm testing on iOS, maybe that's a common factor of all of us encountering this issue?
The solution by @stents-dev also worked for me and I'm developing on Android.
I'm testing on Android actually (mainly Samsung devices), so it's probably common to most devices, maybe just more or less frequent depending on network / device speed I guess. Glad to know the solution worked for you both as well. Hopefully the underlying issue is fixed in the next release so that the work around is no longer required.
Geospatial sample encountered an EarthState error: ErrorInternal
Had the same problem and the solution suggested by @stents-dev also worked for me. I've configured the Unity project to have
ARCoreExtensions.ARCoreExtensionsConfig.GeospatialMode == Geospatial.Enabledfrom the start, so it went straight into EarthManager.EarthState a bit later in the Update() method. That apparently was a bit too soon and resulted inGeospatial sample encountered an EarthState error: ErrorInternal. Now I'm triggering the 3 second wait, same as is done whenARCoreExtensions.ARCoreExtensionsConfig.GeospatialMode == GeospatialMode.Disabled, and now the sample runs without problems.Note: I'm testing on iOS, maybe that's a common factor of all of us encountering this issue?
I used the geospatial sample scene from ARcore Unity Extension 1.31.0. It also displayed the error message "Geospatial sample encountered an EarthState error". Where I can change the mode to "GeospatialMode.Disabled" ?
AREarthManager.EarthState returns ErrorInternal while the native handle for AREarth is being initialized. This is the case while the Geospatial API is being initialized.
I think this isn't completely clear (and leads to mistakes like in the sample); looking in to improving the API for ARF in 1.32. In the meantime, please use this commit allows for ARCore sample to recover from the ErrorInternal state.
Fixed same error on IOS changed my internet connection to speed one solved the problem. By allowing time to start earth manager before start ARsession do the same thing I hope. Also make sure your device location service is on for this app. It's necessary location on your device. If not check location when you enter into the scene by,
public void OnEnable()
{
Input.location.Start();
}
public void OnDisable()
{
Input.location.Stop();
}