Description
MIN_SLEEP_DURATION
causes a flaky error in DecentralizedP2PUnbalancedTimeoutPhysical.lf (see this CI test result).
In the below logs, you can see that the federate doesn't wait until the physical time of 1 msec
because the waiting time is less than MIN_SLEEP_DURATION
(10 usec
). However, this leads to advancing the current tag to 1 msec
before the physical time exceeds 1 msec
(994.0 usec
). However, a message came through the physical connection, was scheduled at 996.6 usec
, and invoked a fatal error.
DEBUG: -------- Waiting until physical time 1000000.
DEBUG: Wait time 6608 is less than MIN_SLEEP_DURATION 10000. Skipping wait.
DEBUG: Waiting is not interrupted. Current physical time is 993743.
DEBUG: Advanced (elapsed) tag to (1000000, 0) at physical time 993983.
Fed 1 (d): FATAL ERROR: DEBUG: get_next_event_tag(): Earliest event on the event queue ((996593, 0)) is earlier than the current tag ((1000000, 0)).
@edwardalee Do you think we can fix this by simply decreasing the amount of MIN_SLEEP_DURATION
? Then, what should be the new value?
Metadata
Metadata
Assignees
Labels
No labels