WIN32: IOC scan loops hang
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
EPICS Base |
Fix Released
|
Critical
|
Unassigned |
Bug Description
The IOC scan loops hung on all IOCs on several computers, on investigation this looks to be caused by the monotonic clock wrapping. The values of next and now in dbScan.c / periodicTask() are consistent with GetTickCount() wrapping (which happens every 49.7 days), which I believe lead to epicsEventWaitW
The epics Monotonic time functions should not normally be using GetTickCount(), however it looks like the logic in the test for whether to use GetPerformanceC
Related branches
- Andrew Johnson: Approve
- mdavidsaver: Approve
-
Diff: 65 lines (+20/-19)1 file modifiedmodules/libcom/src/osi/os/WIN32/osdMonotonic.c (+20/-19)
Changed in epics-base: | |
status: | Fix Committed → Fix Released |
I observed an a Windows areaDetector IOC not updating the ArrayRate_RBV records when it should. It appeared that the 1 second scan was not running. Restarting the IOC fixed the problem. This is consistent with this bug