Timer misbehaving with system time change

Using SDL 2.0.8 and Ubuntu 18.04 LTS, changing the system time ‘backwards’ appears to cause timers created with SDL_AddTimer() not to fire. For example if I set a timer to fire every second, on issuing the following command my callback is not called for 10 seconds, after which normal operation resumes:

sudo date --set='-10 seconds'

I thought SDL2 used only monotonic time, when available (which I would have expected it to be in modern Linux), but this behavior suggests that ‘clock time’ is still being used for timers, at least in some circumstances.

This issue is a serious problem for one of my users, who is changing the time zone on-the-fly: it can cause my app to freeze for several hours! Can somebody confirm (or not) this behavior, and if possible suggest a workaround?

We have also seen behavior that appears to be caused by this issue. We have customers in other time zones and our software adjusts for the time zone the user sets in the system. That can cause time to be set back, with the resulting freeze, when they first run our software after setting the new time zone.
We tested this behavior and did not need to use any BBCSDL commands relating to time to see the issue so we are not sure of the cause. We did discover that rather than stopping indefinitely our software only seems to stop executing until the system time “catches up” to the time it was at before being set back.