Touch-Base Logo
Excessive CPU load when setting date and time forward

UPDD driver uses a number of libraries, one being the ACE inter-process communication library.  If the system date and time is set forward we are aware that under Windows the CPU usage for 1 core goes to 100% for a period of time. This is because the library has code which when managing an interval  based timer skips over intervals that have expired. The fact is that for a 20ms timer this code will loop to skip over as many 20ms intervals as there are in the skipped period. In our tests, setting the time forward 7 years, produced a 100% load on the driver processes for 15 seconds.  We also noted a number of other active processes that loaded the system during this time so it appears to be a common issue.

Some customers have issues with this when conducting system tests or loading embedded images with a earlier date so that the date needs to be set forward.  Should you experience this then we have modified the code in ACE and recompiled to create patched versions.

We do not intend to ship this patched version as standard as we do not want to maintain a different version of the ACE library and having to apply the same patch to future releases of the library.

Should you encounter this issue and want to use the patched lib they are available here, 32 bit and 64 bit. These should be OK for UPDD version 4.1.8, 4.1.10, 5.0.2 and 5.1.0.

This has only been reported in Windows.  This code loop may cause similar issues in other UPDD supported OS if the date and time is set forward.



Details
Last Modified:04/07/2013 15:06:04

Last Modified By: Dave Bhattacharjee

Type: INFO

Article has been viewed 2,839 times.

Options