I upgraded systemd to latest 212-1 for Arch Linux which is inside OpenVZ container and systemd doesn't start anymore. It fails with error `Assertion 'clock_gettime(clock_id, &ts) == 0' failed at src/shared/time-util.c:32, function now(). Aborting.` strace output ``` clock_gettime(CLOCK_MONOTONIC, {3262, 615930730}) = 0 clock_gettime(CLOCK_MONOTONIC, {3262, 615951010}) = 0 open("/proc/sys/kernel/random/boot_id", O_RDONLY|O_NOCTTY|O_CLOEXEC) = 15 read(15, "08d9a51a-64ac-4ee7-bd6d-237c493e"..., 36) = 36 close(15) = 0 timerfd_settime(10, TFD_TIMER_ABSTIME, {it_interval={0, 0}, it_value={3352, 679749000}}, NULL) = 0 epoll_wait(3, {{EPOLLIN, {u32=26823648, u64=26823648}}}, 7, 0) = 1 clock_gettime(CLOCK_MONOTONIC, {3262, 616078247}) = 0 clock_gettime(0x7 /* CLOCK_??? */, 0x7fff79f0e550) = -1 EINVAL (Invalid argument) writev(2, [{"\33[1;31m", 7}, {"Assertion 'clock_gettime(clock_i"..., 108}, {"\33[0m", 4}, {"\n", 1}], 4Assertion 'clock_gettime(clock_id, &ts) == 0' failed at src/shared/time-util.c:32, function now(). Aborting. ) = 120 ``` using OpenVZ kernel 2.6.32-042stab078.27
This is probably CLOCK_BOOTTIME missing from the kernel. Note that kernels < 3.0 are not supported anyway, this is documented in the README.
I've reported it to OpenVZ, they make backports so it doesn't matter if kernel is 2.6.32. Current solution is to use systemd-211 which works fine.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.