CA server thread in ioc uses CPU
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
EPICS Base |
Fix Released
|
Critical
|
Jeff Hill |
Bug Description
Scope
-----
The bug exists in EPICS 3.13.5, 3.13.6, 3.13.7
Symptoms
--------
An IOC core CA server thread is found to be using excessive CPU possibly at elevated priority resulting from vxWorks priority inheritance scheduling. All attached CA clients will permanently disconnect from the IOC, and record processing may be disrupted if the threads priority is elevated. Elevated priority was observed in the one situation where the bug has been reproduced and identified so far.
Additional information:
Circumstances Related to Relative Rates of Occurrence
-------
This bug will occur only in circumstances where the CA client deletes a monitor subscription and the client's CA event queue in iocCore is 100% full. Since there is always space for each monitor subscription to place at least one update on the queue then the queue can only be full if *all* subscriptions for a particular client are sending subscription update events at a rate that is faster than the client is reading them. Therefore, specialized clients that have a small number of regularly updated subscriptions and that do not regularly call ca_poll() or ca_pend_event() are more likely to reproduce the problem.
Original Mantis Bug: mantis-21
http://
Patched in R3.13.8