Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

corrupt entry appears cause database locked issue / prevent ALL sync of that calendar #291

Open
m10d opened this issue Mar 23, 2023 · 1 comment

Comments

@m10d
Copy link

m10d commented Mar 23, 2023

I apologize this is not a complete bug report - my debug logs rolled over in the act of finding / deleting the offending/corrupt cal entry, so while the symptoms i refer to are true & in order, I am missing the full stack trace / logs, and of course cannot 100% identify causality.

tl;dr is that one of my calendars refused to sync anything to Thunderbird; after cleaning up a single offending, somehow apparently** corrupt cal entry, everything syncs fine.

  • ** during this time, android apps synced fine, and I do remember seeing a sync warning somewhere (in the pim... web app perhaps?), I never had any problems syncing my data between android phones.

steps / background, for completeness:

  • long time etesync user on several android's; new user of etesync-dav

  • set up easily w/ systemd, 5 calendars. 4 synced quickly & seemingly completely in thunderbird.

  • The fifth calendar was displaying an !, and in the non-debug logs I have a database locked failure. zero entries from this calendar displayed in thunderbird.

  • attempt force fix the 'locked' issue via .dump command:

      systemctl stop --user etesync-dav.service 
      mv .local/share/etesync-dav/etebase_data.db{,.bak}
      echo .dump | sqlite3 .local/share/etesync-dav/etebase_data.db.bak | sqlite3 .local/share/etesync-dav/etebase_data.db
      systemctl start --user etesync-dav.service 
    
  • sync in TB, ! persists, same with database locked

  • enable -D and restart service

  • find a failure-to-parse stacktrace error immediately after database locked line. No other errors.

    • The stactrace log text referenced a corrupted entry, and happened to include the contents of a CN= field - this happened to be a contact with only a handful of calendar events containing their info
    • so i simply manually edited all of those to completely remove them (via android)
  • synced android, restart etesync-dav, resync TB

  • issue resolved, full missing calendar syncs

@m10d m10d changed the title fail to parse cal entry *may* cause database locked issue fail to parse cal entry appears cause database locked issue / prevent ALL sync of that calendar Mar 23, 2023
@m10d m10d changed the title fail to parse cal entry appears cause database locked issue / prevent ALL sync of that calendar corrupt entry appears cause database locked issue / prevent ALL sync of that calendar Mar 23, 2023
@m10d
Copy link
Author

m10d commented Mar 23, 2023

Emphasize that while I don't know if Android app noticed this failure, it did sync the offending cal entry (I was able to search for it by the person's name from the desktop(linux) logs, edit it, save it, and succesfully sync all that)

I'd expect the behavior here to:

  • maybe sync & display an entry with a corrupt field [optional]. It could just strip the field if needed (although somehow Android was able to display it "corruption & all", for me to edit ??)
  • but definitely sync the rest of the calendar.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant