Seeing “invalid date/time” or “invalid time server” Client Error Messages
——————————————————————————————————–
When either of these error messages are displayed by the client, you can follow the appropriate following troubleshooting steps, depending on whether the system is Windows-based or Linux-based.
<br>
Windows:
– Due to how server generates XML, the only conceivable causes are:
– CTimeManager::GetTimezone() returning false, because if successful, all required XML attributes are generated:
1) Call Win32::GetTimeZoneInformation to get a TZI struct to use in registry lookup.
If this fails (super unlikely), the server logs “Error getting current system time zone configuration.”
2) Call CTimeManager::WalkAvailableTimeZones to find a known timezone that matches by TZI struct.
If this fails, the server logs “Error getting current system time zone name.”
– Could fail due to CTimeManager::QueryTimeZone returning false. In such case the server will also
log a message resembling “failed to get time zone display name”, “failed to get time zone daylight
name”, or “failed to get time zone standard name”, including the specific registry key being
accessed, to help in debugging. The key is most likely missing or spelled differently, causing
it to not be found.
– Otherwise, returning true, the time zone name is empty. This indicates that no known time zone
was found that matched by TZI struct. This is not logged by the server.
<br>
Linux:
– Due to how server generates XML, the only conceivable causes are:
– CTimeManager::GetTimezone() returning false, because if successful, all required XML attributes are generated:
1) The /etc/localtime file is missing. This is a binary (not human-readable) file that determines the
system’s local time zone. In such case the server logs a message resembling “Failed to get system
time zone – file stat error” with the specific error code.
2) The same error can be caused if there are file errors or missing files within the system’s time zone
database, which is described by the /usr/share/zoneinfo file, and with binary time zone files
contained beneath the /usr/share/zoneinfo directory.
3) If any file errors occur while reading time zone files to compare them for matching,
the system will log a message resembling “Failed to get system time zone – file compare error”,
with further details included.
– Otherwise, returning true, the time zone name is empty. This indicates that no known time zone
file was matching by both file size and content. Unlike Windows, the server will log a message
if no matching time zone was determined, with a message resembling “Failed to get system time
zone – cannot associate with a known value.”