Closed AndriiYanechko closed 11 months ago
@AndriiYanechko are the logs from firebase similar to this one? From this emulator logcat it seems the date could be outdated, Chain validation failed
usually means that. Other option is expired certificate but I assume it's not the case here.
The date is correct, I know that the date could be an issue, so before launching the app I've adjusted the date settings to be in sync by gps and etc (all checks for automatic time adjusting).
Ok, even if we will assume that the root cause of the issue is in wrong date on the client device (I agree this is possible, since it happens only to the ~2-5% of the user), how do you imagine the fix for that, like put in the app dialog which states:
Sorry, our application cannot load the map, because your phone is 1 min later, please adjust the time and try again
It seems strange to me.
Ok, even if we will assume that the root cause of the issue is in wrong date on the client device (I agree this is possible, since it happens only to the ~2-5% of the user)
It's a typical reason for such SSL handshake certificate errors (if the certificate itself is indeed valid). It's pretty easy to catch on the emulator, that's why I've asked whether the firebase reports also contain Chain validation failed
thus signalling about the same problem.
If it's indeed wrong date/time this means other https requests should fail on the device, then it's unclear how firebase was able to send reports to the endpoint. Maybe they were stored and sent after the time settings were restored to the correct.
If it's not then maybe some set of devices has wrong certificate setup. How many users do face the issue? Were there reports prior to 10.9.0?
Hard to say how to handle such exceptions in the SDK or app since handshake may fail due to different reasons, either server/device certificate is outdated/missing, wrong date on device etc.
At the same time mapboxMap.loadStyle
has onMapLoadErrorListener
callback to indicate any error that can be used I suppose.
Actually, I didn't get a report that includes Chain validation failed
log from the Firebase, because I didn't log that, however I was showing the dialog to notify the user about error, but onMapLoadErrorListener
has been invoked too many time and that was causing ANRs or crashes, I've removed the dialog in the hot-fix release and started investigation on why Mapbox
cannot initialize itself properly and the only reason I find out - Chain validation failed
. Probably, it will be better to return back to this issue when I'll collect more logs that are related to the Mapbox
initialization issue (for that I'll add additional reporting of the any issue that was reported by the onMapLoadErrorListener
).
In terms of affected users, you can take a look at the picture bellow, for the app auditory it's about 3-5%, but it's still pretty much:
@AndriiYanechko right, then we'll need to see why did the onMapLoadErrorListener
was fired, there can be different reasons and specific one is needed to investigate further.
3-5% of affected users indeed seems pretty high, lets take another look when the the logs will be available.
Are there any updates on this issue?
@AndriiYanechko were you able to collect more logs and/or is the error still being reported?
Unfortunately, no, I don't see that issue anymore on production builds
OK, since we know the reason for the "Chain validation failed" error I'm closing this, please file a new one if a new error log pops up.
Environment
10.9.0
Observed behavior and steps to reproduce
Application cannot load style (or initialize the map with provided style), but it happens time to time, I caught that today on my emulator, however on my real device everything works fine, but I see that some users facing same behaviour (I have firebase reports)
Expected behavior
Mapbox is able to apply the style and render the map
Notes / preliminary analysis
Logs: