Time is not synced after resuming from a sleep

Hi,
In my f41, time is out of sync after I resuming my session from a sleep. This is probably because the chronyd is not working properly. After restarting the service, everything is fine:

sudo systemctl status chronyd
[sudo] password for rudra: 
● chronyd.service - NTP client/server
     Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Sun 2024-10-13 13:01:03 IST; 10h ago
 Invocation: 898e5a69ac3b44e0a06b96aa6f8c6391
       Docs: man:chronyd(8)
             man:chrony.conf(5)
    Process: 1084 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 1125 (chronyd)
      Tasks: 1 (limit: 18201)
     Memory: 6.3M (peak: 7.3M)
        CPU: 137ms
     CGroup: /system.slice/chronyd.service
             └─1125 /usr/sbin/chronyd -F 2

Oct 13 15:47:51 roddur chronyd[1125]: Can't synchronise: no selectable sources
Oct 13 15:47:51 roddur chronyd[1125]: Source 3.6.43.90 offline
Oct 13 23:47:31 roddur chronyd[1125]: Forward time jump detected!
Oct 13 23:47:31 roddur chronyd[1125]: Source 143.244.134.227 online
Oct 13 23:47:31 roddur chronyd[1125]: Source 3.6.43.90 online
Oct 13 23:47:31 roddur chronyd[1125]: Source 172.105.60.167 online
Oct 13 23:47:31 roddur chronyd[1125]: Source 139.84.142.141 online
Oct 13 23:47:36 roddur chronyd[1125]: Selected source 139.84.142.141 (2.fedora.pool.ntp.org)
Oct 13 23:47:36 roddur chronyd[1125]: System clock wrong by -19799.997457 seconds
Oct 13 23:47:38 roddur chronyd[1125]: Selected source 3.6.43.90 (2.fedora.pool.ntp.org)
 rudra roddur ~ sudo systemctl restart chronyd
 rudra roddur ~ sudo systemctl status chronyd
● chronyd.service - NTP client/server
     Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Sun 2024-10-13 23:53:13 IST; 2s ago
 Invocation: fd6976796dbf41878528a89720025019
       Docs: man:chronyd(8)
             man:chrony.conf(5)
    Process: 122270 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 122272 (chronyd)
      Tasks: 1 (limit: 18201)
     Memory: 1M (peak: 3.3M)
        CPU: 42ms
     CGroup: /system.slice/chronyd.service
             └─122272 /usr/sbin/chronyd -F 2

Oct 13 23:53:13 roddur systemd[1]: Starting chronyd.service - NTP client/server...
Oct 13 23:53:13 roddur chronyd[122272]: chronyd version 4.6.1 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +NTS +SECHASH +IPV6 +D>
Oct 13 23:53:13 roddur chronyd[122272]: Using leap second list /usr/share/zoneinfo/leap-seconds.list
Oct 13 23:53:13 roddur chronyd[122272]: Frequency -7.944 +/- 18.443 ppm read from /var/lib/chrony/drift
Oct 13 23:53:13 roddur chronyd[122272]: Loaded seccomp filter (level 2)
Oct 13 23:53:13 roddur systemd[1]: Started chronyd.service - NTP client/server.

timedatectl before running chronyd:

timedatectl 
               Local time: Mon 2024-10-14 05:24:10 IST
           Universal time: Sun 2024-10-13 23:54:10 UTC
                 RTC time: Sun 2024-10-13 23:54:16
                Time zone: Asia/Calcutta (IST, +0530)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
         This mode cannot be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

After restarting chronyd:

timedatectl 
               Local time: Sun 2024-10-13 23:55:00 IST
           Universal time: Sun 2024-10-13 18:25:00 UTC
                 RTC time: Sun 2024-10-13 23:55:00
                Time zone: Asia/Calcutta (IST, +0530)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
         This mode cannot be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

RTC in local TZ: yes also affects how the time is set after wake-up. After wake up, the internal system time has to be set to UTC time, which is taken from the RTC clock assuming it is running in UTC time. That gives a time difference of 5 hours which is too much for chronyd to fix.

So run timedatectl set-local-rtc false to RTC to run UTC, and when you check the BIOS clock before booting, it should show 5 hours before wall clock time.