Open tkvalentine56 opened 2 years ago
Upon receiving multiple reports from production app users in the field, additional information has been gathered and is known about this issue.
The map tile download failure is happening to:
Additional information on this issue. This is an output from a device starting our app's mapbox navigation screen using the 2.6.0 GA Android Navigation UI SDK:
2022-07-27 14:24:01.562 17097-17097/com.ans.ctt.mobile I/Mapbox: [nav-sdk]: [RoutingTilesFiles] Initial size is 4096 bytes
2022-07-27 14:24:01.563 17097-17097/com.ans.ctt.mobile I/Mapbox: [nav-sdk]: [HistoryFiles] Initial size is 4096 bytes
2022-07-27 14:24:01.565 17097-17097/com.ans.ctt.mobile I/Mapbox: [nav-sdk]: [RoutingTilesFiles] Initial size is 4096 bytes
2022-07-27 14:24:01.566 17097-17097/com.ans.ctt.mobile I/Mapbox: [nav-native]: PersistentConfig path: /data/user/0/com.ans.ctt.mobile/files/mbx_nav/tiles/navigation/config.json
2022-07-27 14:24:01.569 17097-17097/com.ans.ctt.mobile W/Mapbox: [valhalla]: No metadata found for tiles
2022-07-27 14:24:01.569 17097-17097/com.ans.ctt.mobile W/Mapbox: [valhalla]: No metadata found for tiles
2022-07-27 14:24:01.570 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-native]: Entering void mapbox::navigation::NavigatorImpl::shutdown()
2022-07-27 14:24:01.570 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-native]: Exiting void mapbox::navigation::NavigatorImpl::shutdown()
2022-07-27 14:24:01.570 17097-17097/com.ans.ctt.mobile I/Mapbox: [nav-native]: PersistentConfig path: /data/user/0/com.ans.ctt.mobile/files/mbx_nav/tiles/navigation/config.json
2022-07-27 14:24:01.574 17097-17097/com.ans.ctt.mobile W/Mapbox: [valhalla]: No metadata found for tiles
2022-07-27 14:24:01.574 17097-17097/com.ans.ctt.mobile W/Mapbox: [valhalla]: No metadata found for tiles
2022-07-27 14:24:01.575 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-native]: Entering mapbox::navigation::NavigatorImpl::NavigatorImpl(std::shared_ptr
2022-07-27 14:24:01.868 17097-18086/com.ans.ctt.mobile D/Mapbox: [nav-native]: PersistentConfig loading started 2022-07-27 14:24:01.869 17097-18086/com.ans.ctt.mobile D/Mapbox: [nav-native]: PersistentConfig loaded 2022-07-27 14:24:01.869 17097-18086/com.ans.ctt.mobile I/Mapbox: [nav-native]: Async version config for mapbox/driving-traffic resolved with version 2022_07_16-03_00_00 [{"map":{"tileset_version":"2022_07_16-03_00_00"}}]
2022-07-27 14:24:02.030 17097-18161/com.ans.ctt.mobile D/Mapbox: [nav-native]: PersistentConfig loading started 2022-07-27 14:24:02.030 17097-18161/com.ans.ctt.mobile D/Mapbox: [nav-native]: PersistentConfig loaded 2022-07-27 14:24:02.031 17097-18161/com.ans.ctt.mobile I/Mapbox: [nav-native]: Async version config for mapbox/driving-traffic resolved with version 2022_07_16-03_00_00 [{"map":{"tileset_version":"2022_07_16-03_00_00"}}]
2022-07-27 14:24:02.254 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-native]: Entering void mapbox::navigation::NavigatorImpl::addObserver(const std::shared_ptr
2022-07-27 14:24:02.274 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-sdk]: [MapboxNavigationTelemetry] populateFreeDriveEvent
2022-07-27 14:24:02.277 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-sdk]: [MapboxNavigationTelemetry] class com.mapbox.navigation.core.telemetry.events.NavigationFreeDriveEvent event sent
2022-07-27 14:24:02.278 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-sdk]: [MapboxTripSession] routes update (reason: ROUTES_UPDATE_REASON_NEW, count: 0) - starting
2022-07-27 14:24:02.278 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-sdk]: [MapboxTripSession] primary route update - starting
2022-07-27 14:24:02.279 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-native]: Entering void mapbox::navigation::NavigatorImpl::setRoutes(util::optional
2022-07-27 14:24:02.331 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-sdk]: [MapboxTripSession] primary route update - finished 2022-07-27 14:24:02.332 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-sdk]: [MapboxTripSession] routes update (reason: ROUTES_UPDATE_REASON_NEW) - finished
2022-07-27 14:24:07.050 17097-18166/com.ans.ctt.mobile I/Mapbox: [maps-android\Mbgl-EGLConfigChooser]: In emulator: false 2022-07-27 14:24:07.052 17097-18166/com.ans.ctt.mobile I/Mapbox: [maps-android\Mbgl-EGLConfigChooser]: In emulator: false 2022-07-27 14:24:07.060 17097-18166/com.ans.ctt.mobile I/Mapbox: [maps-android\Mbgl-EglCore]: EGLContext created, client version 3 2022-07-27 14:24:07.061 17097-18166/com.ans.ctt.mobile I/Mapbox: [maps-core]: Using OpenGL render backend
2022-07-27 14:24:07.133 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-sdk]: [MapboxTripSession] updateRawLocation; notify navigator for (1231454854) - start 2022-07-27 14:24:07.133 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-native]: Got location with timestamp 539862173690827 2022-07-27 14:24:07.133 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-native]: Entering void mapbox::navigation::NavigatorImpl::updateLocation(const mapbox::navigation::FixLocation &, mapbox::navigation::UpdateLocationCallback &&) 2022-07-27 14:24:07.133 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-native]: Exiting void mapbox::navigation::NavigatorImpl::updateLocation(const mapbox::navigation::FixLocation &, mapbox::navigation::UpdateLocationCallback &&) 2022-07-27 14:24:07.134 17097-17097/com.ans.ctt.mobile W/Mapbox: [nav-sdk]: [TripSessionLocationEngine] Got an obsolete location: age = 5152 ms 2022-07-27 14:24:07.134 17097-17532/com.ans.ctt.mobile D/Mapbox: [nav-native]: Start processing location with timestamp 539862173690827 2022-07-27 14:24:07.134 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-sdk]: [MapboxTripSession] updateRawLocation; system elapsed time: 489100022048890; location (1231454854) elapsed time: 539862173690827 2022-07-27 14:24:07.134 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-sdk]: [MapboxTripSession] updateRawLocation; notify navigator for (1231454854) - start 2022-07-27 14:24:07.135 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-native]: Got location with timestamp 539862173690827 2022-07-27 14:24:07.135 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-native]: Entering void mapbox::navigation::NavigatorImpl::updateLocation(const mapbox::navigation::FixLocation &, mapbox::navigation::UpdateLocationCallback &&) 2022-07-27 14:24:07.135 17097-17097/com.ans.ctt.mobile D/Mapbox: [nav-native]: Exiting void mapbox::navigation::NavigatorImpl::updateLocation(const mapbox::navigation::FixLocation &, mapbox::navigation::UpdateLocationCallback &&)
@tkvalentine56 Migrating from previous versions of the Maps SDK requires the following steps to make sure that resources created in v9 are available to users in v10 as the offline database has moved. Is this what you may be running into?
I have examined your requirements in https://docs.mapbox.com/android/maps/guides/migrate-to-v10/#offline and although important to note, I am convinced it has little to do with the issue we are experiencing. Here is the current evidence as I have experienced and witnessed.
(1) https://docs.mapbox.com/android/maps/guides/migrate-to-v10/#offline references moving maps sdk v9 files so that an app upgraded to maps sdk v10 can use the existing set of map tiles. This is not our issue. Our problem is that maps sdk v10 does not download any map/style tile sets at all. I am assuming that an app install into a clean environment with no concern of v9 file caches would download what it needs, store it where it needs, to later be found and used as needed. When I test the app I always start with an app uninstall to remove previous artifacts so as not to have that as a variable in test scenarios. This suggests that something else is at fault for not delivering required map artifacts.
(2) I upgraded our development app with the v2.6.0 sdk on June 16, 2022 when it became available as a GA release. I tested multiple times until July 21-23 when this issue started. This suggests that it is not a migration issue.
(3) We currently have an android production app using the Android Navigation UI sdk v 0.42.6. It quit working (not returning requested routes) the same time as our app in development using the Android Navigation sdk 2.6.0 GA. This suggests that a configuration item or account/user issue may be in play as the issue crosses two diversely different sdk frameworks.
(4) I ran our Android app that uses Mapbox Navigation UI 0.46.2 through some debug trials and found that a route request is now failing due to an HTTP 401 error return (unauthorized access in general). I am not sure if this is happening with v2.6.0 as I have not seen this in the logs.
(5) Android Navigation v2.6.0 bundled with com.mapbox.maps:android:10.6.0 so I excluded it and pulled in com.mapbox.maps:android:10.7.0 as stated in the migration notes link. This produced the same issue result in not downloading map tiles.
My experience is telling me that this is more of an access or configuration issue that a code/migration issue.
This issue is resolved. Replacement of the secret access key resolved the issue.
This is an apparent (a) corruption of or (b) disassociation of our secret access key by the host (Mapbox).
Evidentiary artifacts supporting the above statements:
We, at the application end are satisfied that the secret access key replacement resolved our issue. This still leaves a question as to what happened on or about 21jul22 on the host that may have put our secret access key and ultimately our Mapbox usage in jeopardy for our two production applications.
Currently using Mapbox Android com.mapbox.navigation:android:2.6.0 GA release since published. Map tiles were downloaded successfully until around 20jul22 when I noticed the Navigation screen was not working. Investigation led to realizing the map tiles and their containing directory did not exist on the device.
I have made no local app code changes related to this issue. Currently it happens after requesting a route with 25 waypoints. I also checked my mapbox account and there is no indication of termination or locked account present. I also regenerated both public and secret keys but got the same issue of no map tile download.