Wall clock time is 1 hour behind system time on Ubuntu Linux

Hi. I’m using the most recent Logic 2 on Ubuntu Linux 22.04 and my wall clock time in Logic 2 is 1 hour before actual time is.

For example Logic 2 shows 16:53:06 but my system time is 17:53:06.

Maybe it is due to my local time zone which is EEST (GMT+3).
In preferences Use UTC timezone checkmark is not set.


$ date
Fri Apr 14 17:53:32 EEST 2023

$ uname -a
Linux User 5.19.0-38-generic #39~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 17 21:16:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

This is a very interesting problem! I don’t have an explanation yet.

Our software captures the point in time when it collects the first USB buffer from the device. This has a lot of error (typically up to 33ms). We’re planning on improving that significantly with a firmware update in the future, but we haven’t prioritized it.

Specifically, from our C++ data processing system, we capture the system time using std::chrono::system_clock::now();

I need to double check the build system because I haven’t looked in a while, but on Linux, I believe we build libc++ 12.0.0 and statically link that (as opposed to dynamically linking libstdc++, which we used to do for a long time before switching to clang cross-platform)
It’s a little more complicated than that, we still use the libstdc++ ABI, and we have a few other tweaks to make sure analyzer shared libraries load correctly.

This seems like summer time offset problem, however I’m not sure why your system time and std::chrono::system_clock::now() would report different times, unless the definition of your selected timezone changed sometime between libc++ 12 and now.

Unfortunately I don’t have more time to dig into this now. What might make the most sense is testing it over here, which I’ll try to get to soon.

In the meantime, if you changed any settings recently, or if your computer has been running since the time changed, please try restarting your computer.