Opened 10 years ago

Closed 9 years ago

#7936 closed Bugs (fixed)

Kernel boot up time changes with host clock change

Reported by: saboorian@… Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: interprocess
Version: Boost 1.53.0 Severity: Problem
Keywords: interprocess, lastbootuptime, temporary folder Cc:

Description

With each clock changes of the host computer, obtaining LastBootUpTime will result in a different value. Since boost interprocess relies heavily on LastBootUpTime in windows, it's making a lot of problems in systems with time synchronization enabled.

Change History (3)

comment:1 by Ion Gaztañaga, 10 years ago

If I change the date or synchronize the clock on my Windows 7, the LastBootUpTime does not change (tested with command line "wmic os get lastbootuptime"). Only if timezone is changed the last part is modified (e.g. 20130128175525.610798+060 -> 20130128105525.610798-360)

Which system are you using? Can you add more information about the precision error?

in reply to:  1 comment:2 by saboorian@…, 10 years ago

I tested with 3 PCs one XP x86 and two 7 x86. I'm still confused about the exact reason for when it does happen and when it doesn't. One scenario is this:
1- Start windows
2- run "wmic os get lastbootuptime"
3- change time manually
4- wait for 5 to 10 minutes. (sometimes it does not change immediately. I'm not sure why. Also when I tried to find the exact timeout required for the change, the change did not happen at all. Maybe it has something to do with idle time.)
5- run "wmic os get lastbootuptime" --> new result!

comment:3 by Ion Gaztañaga, 9 years ago

Resolution: fixed
Status: newclosed

(In [84424]) Changed bootstamp function in Windows to use EventLog service start time as system bootup time. Previously used LastBootupTime from WMI was unstable with time synchronization and hibernation and unusable in practice. If you really need to obtain pre Boost 1.54 behaviour define BOOST_INTERPROCESS_BOOTSTAMP_IS_LASTBOOTUPTIME from command line or detail/workaround.hpp. Fixes #7936

Last edited 9 years ago by Ion Gaztañaga (previous) (diff)
Note: See TracTickets for help on using tickets.