Constant crashing on iOS 16 with v3.6.0

Hi,

I’ve been having issues with Arc and Arc Mini since iOS 16 was installed (or perhaps 3.6.0). Both apps are constantly being closed by iOS. It opens then locks up while it seems like it would be loading data. iOS then kills it before anything appears.

I have the widget installed and it still says “recording” for both Arc and Arc Mini which also seems odd.

Any clues to how I could fix it? My thoughts are maybe it’s waiting for iCloud to download data but gets killed?

Thanks in advance.

Hi @Camson!

That sounds very odd. You’re the first to report anything like it, so I don’t have any good guesses yet.

My best guess is that it’s the database migration necessary for Arc 3.6.0, which can freeze the app for some seconds on first launch after update. Though it should never be long enough to cause iOS to terminate the app.

If it is the database migration, then you can get past it by just leaving the app in the foreground, and wait until it unfreezes some seconds later. After the migration has completed it will be all back to normal - it’s a once off thing. That’s assuming that’s the cause! I haven’t heard of the migration causing this problem for anyone else yet, so I’m not confident that’s the cause.

It seems like it might be something like the migration causing it to crash. I have quite a lot of data and history stored in the app so it might be too much?

I’ve tried leaving it open without any interaction, but the app closes after about 30 seconds. I’m not sure if reopening it will resume it?

If it’s the migration, reopening the app will restart the migration. If you have the latest Arc Mini installed (it was updated a couple of days ago), then Arc Mini will also attempt the same migration.

Many Arc users have 4+ years of data (I have 6 years!), so there’s no “too much”. Though an older phone model will take longer to do the migration than a newer one. Which phone model do you have?

I’m using an iPhone 12 Pro. I have Arc Mini installed too as I’ve often used its widgets to restart when the recording stops.

Both Arc and Arc Mini crash after what seems to be exactly 30 seconds.

I’ve also noticed that when Arc opens, it shows nothing in todays timeline and seems to show some intro banner at the top of the screen. As if it’s a fresh install. See the screenshot below.

I’ve got the same problem here with both Arc and Arc Mini (although I’ve got something like 10 years of data thanks to migrating from Moves years ago). In fact, neither app stayed open long enough for me to do much. I’ve tried a few times to glance at the debug logs from Arc Mini but I’m barely able to get one of them to load before the app closes.

I’ve also got a brand new iPhone 14 Pro, and I’m running the 16.1 public beta so at first I figured it was something about the beta (the latest has made lots of apps rather sluggish).

Hmm. Sorry about this @Camson and @ryanboswell! I’m really not sure what’s going on here.

The database migration took maybe 3-5 seconds on my 13 Pro, with 6 years of data, and about the same duration my 11 Pro, with less data.

30 seconds sounds like iOS’s frozen app timeout watchdog, terminating the app after it’s been unresponsive for too long. But even a humungous database migration shouldn’t take that long.

Unfortunately there’s no way to introspect into that process. It happens in the SQLite database layer, provided by iOS, and is an opaque process, invisible to Arc until it completes (either successfully or with error). It sounds like it’s not getting as far as completing either successfully or not, given iOS is taking over and killing the app before it finishes.

Sadly, I think the only option is going to be deleting the app and reinstalling. If you have had Arc’s iCloud Drive backups enabled, then you will have that data to restore from.

Though personally I would stubbornly just try launching the app and waiting a bunch more times. It really shouldn’t take that long, so my hope would be that something has been interfering with it, and eventually one attempt will succeed.

I would maybe want to check to make sure the device has enough free space. Though if the phone has run out of space I’d expect it to fail quickly rather than after 30 seconds.

Aside: Moves imported data actually takes up very little database space, due to being an order of magnitude less detailed. So even with 10 years of data, I’d still expect the migration to completely easily within 10 seconds. It’s quite a mystery as to why it would be taking longer :thinking:

Thanks Matt. I’m willing to give the reinstall a go. However, before I do, how can I confirm that I have data backed up to iCloud without being able to verify in the app? I’m 99% sure I had the backup enabled and completed.

Thanks for the reinstall tip. @Camson fwiw, you should see a confirmation from iOS that documented in iCloud won’t be deleted when removing the main Arc app.

I tried it with Arc and Arc Mini, but no luck. Both apps still crash pretty quickly.

In Arc, I had barely enough time to grant permissions before it crashed the first time. On the second I was able to get through the restore purchases prompt. And for the third I initiated the restore from backup and it crashed a few seconds after that. From there, I’ve repeated that ~ 10 times.

Arc Mini was more or less the same, crashing right after I granted initial permissions and then again within a few seconds of opening.

So it looks like the crash is happening even when there isn’t any local data to migrate.

I did get a screenshot of the debug logs from Arc Mini for what it might be worth. From what I can see the crash always happened just after the “didFinishLaunchingWithOptions” event. So this one shows three attempts in one minute. And in none of the other logs I could see was it getting any further than that.

Wow. Okay, this is something entirely unexpected then. So this is a fresh install, no existing data?

Oh wait, have you deleted both apps first? iOS will keep the “App Group” shared data folder until all apps in the App Group have been deleted.

That log file makes it even more mysterious. Every time the app is launched a new log file is created. AnddidFinishLaunchingWithOptions is a once-off stage of iOS’s app launch flow that only happens once per launch (as the first step of the launch flow). So for it to appear repeatedly in the same log file is… I mean, that’s impossible.

Even if iOS were suspending the app instead of terminating it, didFinishLaunchingWithOptions could still only appear in the log file once. So… I’m going to have to do some quiet pondering what that even means :grimacing:

Check in iCloud Drive/Arc App/Backups. You’ll see a bunch of subfolders in there, LocomotionSample being the most important. Inside LocomotionSample you should see one file per week of the year, for every week you’ve had the app recording data. The most recent week should be 2022-W40, according to my own backup files.

As long as those LocomotionSample week files are there, your data is safe and can be restored after a fresh install. (Though I’d personally make a copy of that Backups folder to store somewhere safe before starting, just to be doubly careful. Computers aren’t trustworthy).

Aside: I just this second put Arc 3.6.1 live on the App Store, which includes a handful of improvements to the managed backup restore process, which should hopefully make the restore a less tedious process.

Ah, I had only deleted one app at a time originally, I didn’t know about the app group behavior. Gave it a second shot and re-installed (with the 3.6.1 update) and it looks like the crashing has stopped, so that’s a win.

Although now it won’t prompt me about restoring from a backup. Not sure if there’s any kind of trick to get it to recognize the existing backup data in iCloud (I can see it from iCloud Drive so it is there).

I confirmed I had backups of those files in iCloud and made a copy of them just in case. After that I deleted both Arc and Arc Mini and reinstalled.

Arc launched successfully without crashing, so thats a success. I started the restore process and left it to complete, however it seems to have stalled after only a few months of data. I can confirm the backup folder has data going back many years. How can I resume or monitor the restore progress?

Yep. The trick there is to copy the Backups folder into the Import folder, and rename it to Restore. Note: Make sure you copy the folder, not move! When doing a managed restore, Arc will delete the files from the Restore folder after success.

One way to speed up the restore is to go into the Files app, then long press on Restore folder and choose “Download now”. Getting the Files app to download the entire folder is much faster than Arc asking iOS to do it file by file.

Beyond that, it’s just a matter of sticking at it. If Arc gets terminated along the way (which it probably will - this kind of thing tends to upset iOS a bit) that’s fine. When you restart the restore it will pick up where it left off.