Uploaded image for project: 'core-c#dof-oal'
  1. core-c#dof-oal
  2. COAL-118

A timer callback for a 49 day timeout may not get called if no timer items are added or time out for 49 days

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • 8.0.1, 7.1.7
    • 7.1.6
    • None

      If very soon after PCRTime_GetMS rolls over a very long timer item (very close to max uint32) is added, and then for the next 49 days there are no timer items that expire, or get added, when PCRTime_GetMS rolls over again, the timer tree_index may not get switched.  If that happens the timer item callback that was added to the second tree would not be called correctly.

      If both timer trees are empty it would not be a problem if the timer_index is not switched.

      This is extremely improbable, since any connection attempt uses a timer, established connections use timers for silence timers and rekeys, and operations use timers.  Also, a local operation is the only thing I can think of that could use such a long timeout.  It would not apply if DOF_TIMEOUT_NEVER is used as the timeout. 

            jwinder John Winder
            jwinder John Winder
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: