**Impacted versions:**
V11 community edition
**Steps to reproduce:**
Setup sync with google calendar and click on sync button.
**Current behavior:**

**Error**
> May 23 17:22:16 Serveur odoo-bin[1022]: 2018-05-23 17:22:16,412 1022 ERROR DB odoo.http: Exception during JSON request handling.
2018-05-23 17:22:08,371 1022 INFO DB odoo.models.unlink: User #1 deleted bus.bus records with IDs: [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 1
May 23 17:22:16 Serveur odoo-bin[1022]: 2018-05-23 17:22:16,412 1022 ERROR DB odoo.http: Exception during JSON request handling.
May 23 17:22:16 Serveur odoo-bin[1022]: Traceback (most recent call last):
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/http.py", line 647, in _handle_exception
May 23 17:22:16 Serveur odoo-bin[1022]:     return super(JsonRequest, self)._handle_exception(exception)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/http.py", line 307, in _handle_exception
May 23 17:22:16 Serveur odoo-bin[1022]:     raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/tools/pycompat.py", line 87, in reraise
May 23 17:22:16 Serveur odoo-bin[1022]:     raise value
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/http.py", line 689, in dispatch
May 23 17:22:16 Serveur odoo-bin[1022]:     result = self._call_function(**self.params)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/http.py", line 339, in _call_function
May 23 17:22:16 Serveur odoo-bin[1022]:     return checked_call(self.db, *args, **kwargs)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/service/model.py", line 97, in wrapper
May 23 17:22:16 Serveur odoo-bin[1022]:     return f(dbname, *args, **kwargs)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/http.py", line 332, in checked_call
May 23 17:22:16 Serveur odoo-bin[1022]:     result = self.endpoint(*a, **kw)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/http.py", line 933, in __call__
May 23 17:22:16 Serveur odoo-bin[1022]:     return self.method(*args, **kw)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/http.py", line 512, in response_wrap
May 23 17:22:16 Serveur odoo-bin[1022]:     response = f(*args, **kw)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/google_calendar/controllers/main.py", line 43, in sync_data
May 23 17:22:16 Serveur odoo-bin[1022]:     return GoogleCal.with_context(context).synchronize_events()
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/google_calendar/models/google_calendar.py", line 589, in synchronize_events
May 23 17:22:16 Serveur odoo-bin[1022]:     res = recs.update_events(lastSync)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/google_calendar/models/google_calendar.py", line 805, in update_events
May 23 17:22:16 Serveur odoo-bin[1022]:     self.create_from_google(event, my_partner_id)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/google_calendar/models/google_calendar.py", line 406, in create_from_google
May 23 17:22:16 Serveur odoo-bin[1022]:     res = self.with_context(context_tmp).update_from_google(False, event.GG.event, "create")
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/google_calendar/models/google_calendar.py", line 518, in update_from_google
May 23 17:22:16 Serveur odoo-bin[1022]:     res = CalendarEvent.create(result).id
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/crm/models/calendar.py", line 38, in create
May 23 17:22:16 Serveur odoo-bin[1022]:     event = super(CalendarEvent, self).create(vals)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/calendar/models/calendar.py", line 1525, in create
May 23 17:22:16 Serveur odoo-bin[1022]:     meeting = super(Meeting, self).create(values)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/mail/models/mail_thread.py", line 231, in create
May 23 17:22:16 Serveur odoo-bin[1022]:     thread = super(MailThread, self).create(values)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/models.py", line 3315, in create
May 23 17:22:16 Serveur odoo-bin[1022]:     self._fields[key].determine_inverse(record)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/fields.py", line 1070, in determine_inverse
May 23 17:22:16 Serveur odoo-bin[1022]:     getattr(records, self.inverse)()
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/calendar/models/calendar.py", line 907, in _inverse_rrule
May 23 17:22:16 Serveur odoo-bin[1022]:     meeting.update(data)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/models.py", line 4493, in update
May 23 17:22:16 Serveur odoo-bin[1022]:     record[name] = value
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/models.py", line 4697, in __setitem__
May 23 17:22:16 Serveur odoo-bin[1022]:     return self._fields[key].__set__(self, value)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/odoo/fields.py", line 979, in __set__
May 23 17:22:16 Serveur odoo-bin[1022]:     record.write({self.name: write_value})
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/google_calendar/models/calendar.py", line 25, in write
May 23 17:22:16 Serveur odoo-bin[1022]:     return super(Meeting, self).write(values)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/calendar/models/calendar.py", line 1482, in write
May 23 17:22:16 Serveur odoo-bin[1022]:     self.env['calendar.alarm_manager'].notify_next_alarm(partners_to_notify)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/calendar/models/calendar.py", line 463, in notify_next_alarm
May 23 17:22:16 Serveur odoo-bin[1022]:     notif = self.sudo(user.id).get_next_notif()
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/calendar/models/calendar.py", line 413, in get_next_notif
May 23 17:22:16 Serveur odoo-bin[1022]:     for one_date in meeting._get_recurrent_date_by_event():
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/calendar/models/calendar.py", line 622, in _get_recurrent_date_by_event
May 23 17:22:16 Serveur odoo-bin[1022]:     return [d.astimezone(pytz.UTC) if d.tzinfo else d for d in rset1]
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/opt/odoo/odoo/addons/calendar/models/calendar.py", line 622, in <listcomp>
May 23 17:22:16 Serveur odoo-bin[1022]:     return [d.astimezone(pytz.UTC) if d.tzinfo else d for d in rset1]
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/usr/local/lib/python3.5/dist-packages/dateutil/rrule.py", line 1385, in _iter
May 23 17:22:16 Serveur odoo-bin[1022]:     advance_iterator(ritem)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/usr/local/lib/python3.5/dist-packages/dateutil/rrule.py", line 1302, in __next__
May 23 17:22:16 Serveur odoo-bin[1022]:     self.dt = advance_iterator(self.gen)
May 23 17:22:16 Serveur odoo-bin[1022]:   File "/usr/local/lib/python3.5/dist-packages/dateutil/rrule.py", line 859, in _iter
May 23 17:22:16 Serveur odoo-bin[1022]:     date = datetime.date.fromordinal(ii.yearordinal + i)
May 23 17:22:16 Serveur odoo-bin[1022]: ValueError: year is out of range

I can see some events on the log that doesn't appear on Odoo. For example, I just created a example event from google calendar. When I sync on Odoo, the event is on the log (with a bunch of other events that still doesn't sync), ready to be added to Odoo. but then, this error appear and nothing is written on the Odoo calendar.

I tried to change the "calendar.debug_print" parameter with value 1 to see more informations in the log. With or without it, the log is the same. But, I do see some sync events similar to this one : 

> ---- A SYNC EVENT ---
May 23 17:22:07 Serveur odoo-bin[1022]:     ID          OE: False
May 23 17:22:07 Serveur odoo-bin[1022]:     ID          GG: uahlj168dp03c6ln4s7gup7hfc
May 23 17:22:07 Serveur odoo-bin[1022]:     Name        OE: False
May 23 17:22:07 Serveur odoo-bin[1022]:     Name        GG: b'tsdfgdgf'
May 23 17:22:07 Serveur odoo-bin[1022]:     Found       OE:False vs GG:  True
May 23 17:22:07 Serveur odoo-bin[1022]:     Recurrence  OE:False vs GG: False
May 23 17:22:07 Serveur odoo-bin[1022]:     Instance    OE:False vs GG: False
May 23 17:22:07 Serveur odoo-bin[1022]:     Synchro     OE:      False
May 23 17:22:07 Serveur odoo-bin[1022]:     Update      OE:      False
May 23 17:22:07 Serveur odoo-bin[1022]:     Update      GG: 2018-04-22 21:12:23.395
May 23 17:22:07 Serveur odoo-bin[1022]:     Status      OE:False vs GG:  True
May 23 17:22:07 Serveur odoo-bin[1022]:     Action      Create
May 23 17:22:07 Serveur odoo-bin[1022]:     Source      GG
May 23 17:22:07 Serveur odoo-bin[1022]:     comment     New EVENT CREATE from GMAIL}
May 23 17:22:08 Serveur odoo-bin[1022]: 2018-05-23 17:22:08,371 1022 INFO DB odoo.models.unlink: User #1 deleted bus.bus records with IDs: [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 247, 300, 353, 380, 394, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 974, 975]

**Expected behavior:**
Sync both from google and from odoo without error
addons/calendar/models/calendar.py
""" Convert a "virtual/recurring event id" (type string) into a real event id (type int).
        E.g. virtual/recurring event id is 4-20091201100000, so it will return 4.
        :param calendar_id: id of calendar
        :param with_date: if a value is passed to this param it will return dates based on value of withdate + calendar_id
        :return: real event id
    """
    if calendar_id and isinstance(calendar_id, pycompat.string_types):
        res = [bit for bit in calendar_id.split('-') if bit]
        if len(res) == 2:
            real_id = res[0]
            if with_date:
                real_date = time.strftime(DEFAULT_SERVER_DATETIME_FORMAT, time.strptime(res[1], VIRTUALID_DATETIME_FORMAT))
                start = datetime.strptime(real_date, DEFAULT_SERVER_DATETIME_FORMAT)
                end = start + timedelta(hours=with_date)
                return (int(real_id), real_date, end.strftime(DEFAULT_SERVER_DATETIME_FORMAT))
            return int(real_id)
    return calendar_id and int(calendar_id) or calendar_id
def get_real_ids(ids):