iOS crash

For the Debug ID D232600479: Zotero for iOS crashes a few seconds after every time it completes a sync.

Steps taken to reproduce:

1. Start Zotero for iOS.
2. Wait for changes to sync.
3. Item count in library and collections matches that in Zotero on desktop (so, sync is apparently complete).
4. Zotero for iOS is normally responsive for a few seconds.
5. Zotero for iOS crashes to iPad Homescreen.

This has happened at least intermittently for all Zotero for iOS versions so far, including v1.0.28. This is true under iPadOSS 17.4, and also under iOS 15.8.2 where I reproduced it. However, the crash does not occur when I put the device into Airplane Mode. So, perhaps it's an issue with syncing the full text of items or PDF reading positions?
  • Is it giving you a Report ID for the crash after you restart Zotero?
  • It does not, I just tried again. The code above (D232600479) was the only code it gave me. Here's how I got it:

    - Enabled Logging in the settings
    - (here Zotero expectedly crashed the first time after a few seconds)
    - Started the app, started logging by hitting the blue record button
    - (here Zotero had its second crash, the one I hoped to record)
    - upon starting the app again, it showed a notification that the debug logs had been sent and gave me that code to copy.
  • edited March 12, 2024
    I may have misinterpreted what the blue record (or rather: stop recording) button does. This time I let logging start at next app start up and let it run through two crashes: D17194109.
  • D862535330
  • Same issue as described above, but for Zotero for iOS 1.0.29: Debug ID D1413121220. Has someone had a chance to take a look?

    As far as I can tell from https://www.zotero.org/support/reporting_problems Zotero for iOS does not provide Report IDs, but please advise if I'm missing something. Thanks in advance!
  • Hey @Pomulum, can you try on your device that the crashes occur, going to Settings > Privacy & Security > Analytics & Improvements > Analytics Data, search for "Zotero", and export and mails us the files to support@zotero.org, mentioning this thread?
    You can reproduce the crash and send the file that corresponds only to the last one, by checking the date in the name.
  • @Pomulum it seems there is an issue with the app's local database that causes the app to deadlock.

    Do you have enough free space on the device?

    Please also try the following, or let us know if you already have.
    - Restart the device and try again.
    - Delete & reinstall the app and try again. Keep in mind that you may lose any local changes that you haven't synced yet. If you use a desktop or the web client, you can verify what is already synced.
  • Thanks so much for taking a look @mvasilak !

    The iPad has 21.7 GB of free storage available at the moment, which would seem sufficient, and the crash occurs also after a fresh install (not just of the app, but also on a freshly set up iPad with no other 3rd party apps installed).

    Please note that I can use the app flawlessly to sync and (if I manage to download them in time before a crash) read PDFs as long as I prevent the app to connect to the internet and thus prevent a sync (read: put the iPad in Airplane mode). So it seems to me that the deadlock has something to do with finishing up on a sync.

    Additionally, I'm having that problem on two different devices. So far I just blamed my formerly dated iOS version, but the iPad is up to date with 17.4, that's why I decided to reach out.

    Thanks again!
  • @Pomulum can you please export the app database and send it to support@zotero.org, mentioning this thread once more?

    You can do so by going to:
    - Settings (gear icon when you go Back from My Library)
    - Debug Output Logging
    - Export Database File
  • Hello again @Pomulum, can you please install the iOS beta (https://www.zotero.org/support/beta_builds#zotero_for_ios_beta)?
    We have added a new debug feature that might help us pinpoint the cause of the issue.
    Go to:
    - Settings
    - Debug Output Logging
    - Full Sync Debugging
    - and tap Start Full Sync Debugging

    Thank you in advance.
  • Thank you, I let the Full Sync Debugging option run until the app crashed, but unfortunately it did not give me a Debug ID for that (it said: Full sync is in progress, please wait, and then it crashed to the Home Screen again). However, I let logging run through a second crash after that, and the Debug ID for that is D192357790.
  • edited April 3, 2024
    It took a workaround, but here is, I believe, the right Debug ID for Full Sync Debugging: D1152163725.

    (By "workaround" I mean: I started the app up with the iPad in Airplane Mode, initiated the Full Sync Debugging Feature, let the iPad connect to the Internet again, waited for it to sync and crash, started it up again normally, and then stopped the debug logging. I hope that way it collected the information you needed. Thanks again!)
  • Hi @Pomulum, thanks for your patience. Unfortunately your logs don't quite show the data we need, because of the crash. It's also unusual that you don't get any Report ID after the app crashes.

    When you just start the app (don't start debug logging manually), let it sync, then let it crash and start it again, you don't see a popup with Report ID?

    If not, can you try again what @mvasilak suggested above: "can you try on your device that the crashes occur, going to Settings > Privacy & Security > Analytics & Improvements > Analytics Data, search for "Zotero", and export and mails us the files to support@zotero.org, mentioning this thread"? Since you can reproduce the crash you should have multiple reports there, can you send us a few recent ones?

    Also if you have some spare time, could you try screen recording you reproducing the crash? Maybe we'll notice something in the UI that would help us solve your issue.

    Thanks!
  • edited April 4, 2024
    Thanks for looking into this so diligently! I'm confirming that there never, alas, is a Report ID popup after these crashes, and that I just sent the analytics file and the screen recording.

    Just to give you all the information I have that might be useful for that:

    1. This is for 1.0.32 (251), so, the beta version from TestFlight, and that was the only Zotero analytics file available at the moment from Analytics Data.

    2. In an act of desparation for which dstillman might rightly chide me, I emptied my Zotero library a week ago and just finished reuploading my data. However, I now know that the crash also occurs when there is no data at all in my account, so that the desktop library is empty, the web library is empty, and the storage information shows 0 MB synced file data---even then the iOS apps on both my devices go dark after 10-15 seconds (you'll see what I mean in the screen recording).

    I got a hunch though that it has something to do with my account. I haven't seen any problems in the web library, and given that the crash happens even with a completely empty library it probably has nothing to do with any one particular file, .prop or .pdf or otherwise, but still it does not look at all like this was a common issue. Would it be okay if I created a dummy account to test that, so, to check whether the app crashes also on the same device, but with a different account?
  • @Pomulum that's very strange.

    So to sum your issues so far:
    - When you start the app, the sync process starts in background and after a while the app crashes (presumably during or shortly after sync).
    - You tried to uninstall and re-install the app on your iOS device and it still crashes after sync.
    - You tried to install the app on another iOS device and it crashes there too.

    Is that correct?

    You mentioned you tried removing all items and collections from your own account, then tried syncing with existing iOS app? Or did you have a fresh install of iOS app when you tried logging in with your empty account?

    There shouldn't be any issue with your account, it's most likely a bug in the sync process of iOS app, it's just very unusual and it's giving us hard time.

    We don't usually ask our users to do this, but if you would be comfortable with it, could you create a temporary password for your account and send it to support@zotero.org? If what I mentioned above is correct, I should be able to reproduce your issue on my device and hopefully fix it for you. If you don't want to do it I totally understand and we'll keep trying to figure this out another way.
  • That's the exact summary, @michalrentka. Regarding syncing the empty account, I synced that with a fresh install of the app and logged in with the empty account (after uninstalling the previous Zotero download and shutting the iPad down and leaving it off for a while, I wanted to try it out with a fresh local database).

    And I just sent you the temporary password. The account is empty again (and I just checked for the crash, it still occurs at my end); not because I didn't trust you, but because there's quite a lot of items in the library and that way you don't have to wait forever for the syncs to finish while you troubleshoot (for which I'm very grateful). I'll restore from an up-to-date backup later.
  • @Pomulum I was able to fix your issue, thank you very much for sharing your account! You can switch your password back now. New build will be out on Testflight soon, so you can test it out too.
  • Fantastic, thank you so much!
  • @Pomulum beta should be out, you can check it out and let me know whether it works for you now.
  • edited April 5, 2024
    It works perfectly, thanks!

    I have to admit I followed along on GitHub while you were fixing it yesterday and today, and I never would have guessed that item deletion limits could cause that kind of problem. You guys obviously are awesome. And I'm really enjoying reading with the app now.
  • At this point you had over 1 million deletions registered in your account, since you deleted and re-added your library a few times :). But even before that, you probably did some cleanup in your library or didn't sync the iOS device for some time and that raised this issue. Unfortunately debugging it was quite unusual due to the nature of the bug, but I'm glad it's finally working for you.
Sign In or Register to comment.