Hacker News new | past | comments | ask | show | jobs | submit login
Google Maps SDK is crashing (issuetracker.google.com)
95 points by giffarage on April 23, 2020 | hide | past | favorite | 26 comments

Here's what the Whistle (dog tracking app that uses the Google Maps SDK) just sent everybody via email:

> "Hi William, We have identified an issue stemming from an outage with Google Maps that is causing the Whistle app to immediately crash upon opening. Our team is aware of the issue and monitoring the situation closely. While there is no estimated time for resolution from Google, rest assured that the safety of Bella is still our top priority. Please keep Bella close for the time being. [...]"

Oh man this is going to be rough if it keeps the corrupted data in a local cache. Cache probably won’t get refreshed before previous contents get parsed, and parsing the data crashes the app.

Looks like you have to hit "Clear Storage" on Android in order to get it working again (tested it with Uber). That is, not the cache, but the actual application data. I.e. this will require users to wipe any data being locally stored and log back in again. This is pretty bad.

Edit: Google has confirmed this is the case https://issuetracker.google.com/issues/154855417#comment181 but apparently the data will be invalidated within a few hours.

Yep. I tried clearing cache on Redfin but it does open after clearing app data.

That explains why Doordash and UberEats were both crashing for me earlier today. Was wondering what was going on, seemed like quite a coincidence.

Try opening Lyft on iOS, hard crash on boot. I don't wish to be someone working on that right now!

Opened fine for me, maybe they fixed it in the 9m between our posts?

seems to work fine when it's cached, but if you reload the app it'll start crashing

Aha. I just loaded up the Samsung Health app for the first time in forever and it would crash everytime it tried to grab location for a tracked run. I tried rolling back and and reinstalling and presumed it was an app bug. Ended up uninstalling because there wasn't much info to investigate.

Reluctantly installed Strava and they mentioned an ongoing issue with Google maps - but it seemed to display and record fine.

Ah, this is why my Doordash mobile client started crashing. I was wondering...

Any chance we could get the link changed to something that doesn't have a Google loginwall? I'm not going to sign in to a Google account to read a bug report.

Reminder to think of your application as a system composed of many sub-systems, where any sub-system can fail at any time. Plan for this, engineer for this.

To an extent due diligence is required of any library, but there must always be some guarantees for the benefit of the developer. It's unreasonable to expect a developer to accommodate for the failure of any SDK call.

> It's unreasonable to expect a developer to accommodate for the failure of any SDK call.

This is not even remotely close to unreasonable. In fact, it is the opposite. Doordash, Uber, Lyft etc. are completely dead on arrival due to a remote bug that could have easily been protected against.

During SDK initialization, if shit hits the fan, pull the chute and inform the user that things cannot proceed. Easy as pie. If you do not have that level of control or the foresight/wisdom to implement, well yep you are going to be the victim of a situation like this. And if you are the mobile lead at any of the aforementioned companies I can guarantee your head is gonna be on a stick by 5pm.

Multiple comments are commenting that even with a try/catch, the error still crashes the app.

From https://issuetracker.google.com/issues/154855417#comment39

> This happens even with a MapView.onCreate call for me, even when encased in a try / catch error. So beyond the fact that Google Maps isn't working, the Google Maps library isn't handling the error throwing properly and is bypassing the app's ability to catch errors.

From https://issuetracker.google.com/issues/154855417#comment86

> instead of crashing the app even though try/catch is used and this cryptic message cited above.

Sure, but if your business is broken because of a 3rd party library, I'd sooner be looking at patching the bytecode than to write breathless "me too but we are very important" in the bug tracker.

> patching the bytecode

Tell that to the developers who barely grasp that the JVM exists.

But yeah, the degree of helplessness people engineer themselves into without a second thought is absurd. I guess it's a blessing that the Play Store isn't embedding the Maps SDK and crashing before it can update the Maps SDK heheh.

I have heard that this applies to both iOS and Android, by the way.

No-one is good anywhere, why is it crashing ;)

seems to be fixed, but if you've had the crash you have to Clear Storage or you'll keep crashing

Uber and Lyft crash for me on Android.

i mean it's not the SDK that's crashing right, the service changed somehow.

The SDK is crashing. It's likely crashing because the service changed, but it's causing actual crashes on iOS and Android devices which rely on the SDK.

And even worse it doesn't crash in realtime. It crashes parsing locally cached data caused by a bad update, meaning this possibly can't be quickly fixed merely by fixing the API.

Imagine writing a test for that. Just to replicate it repeatedly. Would they be able to use a phone emulator and point it to the old api to cache data, and then go to the new api to replicate the failure?

That actually doesn't sound that hard, it's very similar to writing e2e tests over Selenium (except in this case instead of talking to chrome you're talking to the android emulator).

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact