nxnw

Q: bad invitation triggering millions of caldav error log entries

I am getting hundreds of lines in my caldav error log every minute related to an invitation that appears to have been corrupted. It starts with:

2015-05-27 20:22:16-0400 [PooledMemCacheProtocol,client] [txdav.caldav.datastore.scheduling.scheduler#error] iMIP request calendar component is not valid:Calendar data had unfixable problems:

   [VEVENT] Too many properties: STATUS BEGIN:VCALENDAR

 

It continues with a messed up event that has, among other things, dozens of start times going back to to 1916, followed by:

2015-05-27 20:38:00-0400 [-] [caldav-1]  [PooledMemCacheProtocol,client] [txdav.caldav.datastore.scheduling.imip.inbound#error] Unable to format event {'logLevel': 40, 'log_level': <LogLevel=error>, 'log_format': 'Failed to inject iMIP response (<ErrorResponse 403 {urn:ietf:params:xml:ns:caldav}valid-calendar-data>)', 'log_logger': <Logger 'txdav.caldav.datastore.scheduling.imip.inbound'>, 'log_source': None, 'log_namespace': 'txdav.caldav.datastore.scheduling.imip.inbound', 'log_legacy': <twext.python.log.LegacyFormatStub object at 0x10d851150>, 'log_time': 1432773480.106654, 'format': '[txdav.caldav.datastore.scheduling.imip.inbound#error] %(log_legacy)s'}: u'urn'

 

It then concludes with a traceback.

 

I figure if I could get rid of this event, I'm good. It is not in the user's calendar. I have exported the user's calendar, deleted and reimported it, but that did not help.

 

Help?

 

Mavericks server 10.9.5.

Mavericks Server, OS X Server

Posted on May 27, 2015 5:43 PM

Close

Q: bad invitation triggering millions of caldav error log entries

  • All replies
  • Helpful answers

  • by Linc Davis,

    Linc Davis Linc Davis May 28, 2015 9:02 AM in response to nxnw
    Level 10 (208,000 points)
    Applications
    May 28, 2015 9:02 AM in response to nxnw

    If you know how to do it safely, the in a root shell, delete the file

    "/Library/Server/Calendar and Contacts/Data/memberships_cache"

    and try again to start the service. Reboot if you still can't.

    Failing that, restore the Data directory from a backup that predates the issue.

    Credit for this solution to ASC member ts-macademy.

  • by nxnw,

    nxnw nxnw May 28, 2015 9:57 AM in response to Linc Davis
    Level 1 (15 points)
    May 28, 2015 9:57 AM in response to Linc Davis

    Thanks for your suggestions.

     

    Sorry I was not clear about this. Calendar server is running. The primary problem I have observed is the runaway logging. Over 300 lines each minute (250 of which are the bad event).

     

    Deleting memberships_cache did not help, nor did restarting the service, rebooting, or deleting the calendar from which the invitation was generated. Restoring the data directory from a backup is not a viable solution in this case, because the bad event is many months old, so we would lose critical information.

     

    Any other ideas? Any postgresql gurus out there?

  • by Linc Davis,

    Linc Davis Linc Davis May 28, 2015 9:59 AM in response to nxnw
    Level 10 (208,000 points)
    Applications
    May 28, 2015 9:59 AM in response to nxnw

    Your chances of fixing this problem by doing SQL surgery on the database are nil. You will have to export all calendars on the clients, wipe the service database, create a new one, and import the calendars.

  • by nxnw,

    nxnw nxnw May 28, 2015 10:05 AM in response to Linc Davis
    Level 1 (15 points)
    May 28, 2015 10:05 AM in response to Linc Davis

    I was afraid of that.

     

    Can you refer me to a definitive method to wipe the database. There's all kinds of postgresql voodoo I have read - if I am going to do this, I want to make sure I do it right (and not mess up anything else in the process).

     

    Thanks for your help.

  • by Linc Davis,

    Linc Davis Linc Davis May 28, 2015 10:27 AM in response to nxnw
    Level 10 (208,000 points)
    Applications
    May 28, 2015 10:27 AM in response to nxnw

    You should be able to stop the service, delete the Calendar and Contacts folder, and start the service. If the service fails to start, see below. I should have mentioned that you'll also need to export Contacts accounts on the clients, if you have any of those.

    Back up all data.

    Quit the Server application and drag it to the Trash, but don't empty. You'll be prompted to confirm that you want to stop all services. You won't lose any data.

    If you're using the server for DNS, temporarily change the primary DNS setting in the Network preference pane to another DNS.

    Put the app back where it was and launch it.

    Revert the DNS setting, if applicable.