Hi Matt. just be been using Arc for ages without significant problems until recently. I opened the UI to check where I was a few days back (main use case) and I found a black screen (first time ever) closed the app and when I opened it the last 4 or 5 days of data were missing. The app recovered some data for the current day and nothing else. Looking for support I discovered Arc Recorder that I’m now also running. However I was again presented with the black screen of death today with identical results. Let me know if there’s anything I can do to help you diagnose the problem. Obviously I restarted the phone but didn’t help
Hi @alponce. Sorry to hear that! That sounds frustrating.
The fix for the kind of problem you’re describing (or at least the missing data part of it) is to have Arc Recorder running. So you’ve solved the problem of the risk of data gaps already.
But for the actual black screen itself… that’s more mysterious. That would typically mean the app is locked up in some way, presumably with the database locked, which is then causing the UI to fail to load because it’s waiting on data from the database.
But for that to happen with the database… it’s very hard to know why.
The good news is that it was probably random, and the second time it happened was probably just a coincidence that it happened soon after. It’s unlikely to be any significant problem that’s going to keep reoccurring.
Though if it does keep happening from this point onwards… then we’ll have a mystery to solve! But yeah, my instinct is that it was just some weird combination of conditions that caused the database to get locked up for too long, freezing the UI. And that weird combination of conditions shouldn’t be one that comes up any more frequently now than before. Just bad luck that it happened twice in close succession.
Anyway, definitely let me know if it settles down after this or not!
It happened again this morning so I guess we do have a mystery to solve. I was also reading the Arc crashes all the time thread today and many things look familiar. Especially the app crashing after fixing something in the timeline, it happens very often. Not my biggest concern as I restart it right away and it stays up, but maybe is useful information.
Is that from the “Extract Brief Visits” view? Or from the “Timeline Cleanup” view? If so, those are unfortunately known and unfixable (so far) crashes. Something to do with the mixing of UIKit and SwiftUI, and probably some mistakes in how I’ve done that, that so far I’ve failed to identify.
Those crashes are a good part of why I started the whole “ground up rebuild” project, of LocoKit2 and Arc Editor app. To completely get rid of that mix of old UIKit and new SwiftUI. While Apple did a lot of work to make that technological transition smooth, sometimes it’s very troublesome. And in Arc Timeline’s case, sometimes beyond my skills to fix!
Though perhaps with more experience now with SwiftUI and associated patterns, I might actually be able to fix those crashes finally. But I’m still more inclined to put all of my time into getting Arc Editor finished and ready to take over fully as the replacement. I think my time is best spent there, rather than on patching up the creaky old beast, Arc Timeline.
Is that the black screen? So it goes to black, freezes, you swipe it closed (or it crashes?), and then when you relaunch it goes back to the black screen?
In that case… that does sound like something else. That’s very much the pattern of the “database is locked” situation. Which means that some process is trying to do a very large chunk of work on the database, causing it to be locked from other actions until it completes.
As to what that process might be, I don’t know. But I do know that it’s more likely to happen when the phone is plugged in. There’s a bunch of “housekeeping” tasks it does periodically, that are only allowed to run when the phone is plugged in to power (so that they don’t drain the battery). Some of those processes can be quite long, and potentially lock up the database at certain points.
Though iOS is meant to run those processes always in the background, when the app (and ideally the whole phone) isn’t in use. Like when it’s sitting idle, plugged in to charge. If iOS fires up those scheduled tasks while you’re actually using the phone… that’s not great, and really not how it’s meant to work. But iOS does do that sometimes.
The black screen happened again 2 Days in a row. Is there anything i can send you to help at diagnosing it. It is very annoying. Also when this happens, data gets lost despite having the recorder running all the time. The database size might be a problem? I’ve been using Arc since Patreon time and migrated several years of Moves data when you released the importer (I was actually who suggested it).
Hmm. That does sound annoying! And isn’t matching my expectations of it being a random event. If it’s happening consistently, yeah we need to dig in to what’s going on.
It won’t be the database size. My own goes back to 2016. And imported Moves data is actually very small in size - Moves really didn’t record much detail at all - so Moves data going back earlier doesn’t really add to the database size.
I’m trying to think what diagnostic information would be useful…
The black screen typically means the database is locked. Which is most likely when there’s some long running housekeeping task running. The iCloud Drive backups don’t really have that kind of pattern - they work in small discrete chunks, so they can’t really cause the database to lock.
The kind of database action that would result in a sustained lock would be something like a long running write rather than a read. What does that… Hmm… Really nothing at all. Which is what makes this so puzzling.
Tell you what, I’ll send you a TestFlight build that has the debug views enabled. Then you’ll be able to see the System Debug View from the Settings tab. That’ll expose some hopefully useful information in there.
Ok you should’ve received an invite email now. On the Settings tab, down the bottom go to System Debug Info. If you could grab screenshots of the entire contents of that view then post them in here, that’ll give us a good starting point for where to look next.
Hi Matt,
it’s been a while. The problems with the application never stopped for me and is getting very painful. IOs turns it off 10 times a day. I’ve been hoping for an update but didn’t happen. Tried to join the beta for the editor but it is full. Despite being one of the patreon era user, and loving the application, I have decided to unsubscribe. I’ll look forward to coming back when Arc Editor is released.
Thanks,
Hi again @alponce!
Sorry to hear the app is still giving you trouble. That does indeed sound frustrating.
For the Arc Editor beta, I increased the user limit yesterday and there’s free spots to join now. I strongly recommend jumping on it!
It’s entirely free at this stage, so no need to restart your subscription. You can evaluate it, get full use out of it (importing your old Arc Timeline data), with no restrictions.
Once it ships to the App Store it’ll require a subscription again, but that’s maybe a month or two away - plenty of time to get a feel for whether it’s better than the old app for you. And I’d bet money it will be - it’s much faster, more reliable, records higher quality data, and a bunch of other niceties.
Thanks Matt. I installed the Beta and will be happy to subscribe back once it’s released.
You mentioned that I can import my old data but I didn’t find a way to do so. Can you indicate what I need to do?
Also, do I need to keep Arc Recorder running?
Ah sorry, I forgot I haven’t shipped the latest build yet, which makes the importing stuff much easier to find.
In the build you’ve got, go to Debug Info in the settings view, then scroll to Database at the bottom, then it’s the “Old LocoKit import”.
No need, and for now no use. Arc Recorder will eventually be updated to work as a partner to the new app, but for now it’s still only partnered with old Arc Timeline app.
And at the moment Arc Editor is doing very well at not making iOS angry. So for example my current session is over 3 days long - iOS has left it alone entirely, no interruptions, no problems.
I’m not sure whether that’ll always be the case. iOS is a moody beast. But for now it’s quite pleasant, and it makes Arc Recorder far less necessary!
Arc Editor is working very well haven’t seen iOS terminating it at all. It’s also very good at processing the timeline. I managed to find the database import option which also worked very well
I noticed you released build 15. How do I update to the new version?
Check in the TestFlight app to make sure you’ve got auto updates turned on. It’s a toggle at the bottom of the app’s details view.
Then inside Arc Editor, if you go to the Settings view then Debug Info, on the header of that view you should see it say “1.0 (35)”. The newest build is 35 (there were a whole bunch of private beta releases earlier, but 15 public ones so far!)