From 7a85d0f66ca81e202ab97ffdcbbe89818ab4a31f Mon Sep 17 00:00:00 2001
From: Jeff Hill dbEvent bug The bug reported for the previous release has been fixed. config changes The bug exists in EPICS 3.13.5, 3.13.6, 3.13.7 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. 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. IOC resident CA serverEPICS Release 3.13.8
-Changes since 3.13.7
+Changes since 3.13.7
-dbEvent Bug Fix Changes
+
+Scope
+
+Symptoms
+
+Circumstances Related to Relative Rates of Occurrence
+
+Config Changes
-
-Changes since 3.13.6
+Changes since 3.13.6
@@ -33,24 +62,27 @@
messages, and may also crash.
Scope: The bug is present only in the IOC resident CA server. It was introduced in R3.13.6, and will be more likely to occur when there - is a particularly heavy Channel Access put callback load.
+ is a particularly heavy Channel Access put callback load.dbCommon.dbd
-UDF how has a promptgroup. This allows database configuration tools to mset UDF false.
+UDF how has a promptgroup. This allows database configuration tools to +mset UDF false.
mbboRecord
-Field VAL now has a cvt_dbaddr method. -If any state strings are defined the field type and dbr_field_type are declared ENUM. If no state strings are defined then the type is USHORT. Previously the types were always ENUM.
+Field VAL now has a cvt_dbaddr method. If any state strings are defined +the field type and dbr_field_type are declared ENUM. If no state strings are +defined then the type is USHORT. Previously the types were always ENUM.
camacDev
--ai and ao now support special_linconv. NOTE: NOT TESTED.
+ +ai and ao now support special_linconv. NOTE: NOT TESTED.
drvGpib.c
+Add some cacheFlush statements
aiRecord and aoRecord: Setting eoff=egul
@@ -58,14 +90,13 @@ ai and ao now support special_linconv. NOTE: NOT TESTED.Instead of init_record executing code like
if ((pai->linr == menuConvertLINEAR) && pdset->special_linconv) {
pai->eoff = pai->egul;
- }
-
+ }
It now executes:
if ((pai->eslo==1.0) && (pai->eoff==0.0)) {
pai->eoff = pai->egul;
- }
-
+ }
+
aoRecord has a similar change
This was done so that old device support which does not implement @@ -74,8 +105,9 @@ special_linconv still works.
CA puts to disabled record
If a CA client issues a put to a disabled record then, when the record is -enabled, database puts to the record will not make the record process until -a CA put is again issued. This is fixed
+enabled, database puts to the record will not make the record process until a +CA put is again issued. This is fixed +dbb - database breakpoints
The database breakpoint facility was not working. This has probably been @@ -125,10 +157,11 @@ occur when recGblGetTimeStamp is called.
CA server (rsrv)
-Fixed race condition occuring when a put notify is canceled by a ca_clear_channel at the same instant that it completes. This problem was introduced in -R3.13.5.
+Fixed race condition occuring when a put notify is canceled by a +ca_clear_channel at the same instant that it completes. This problem was +introduced in R3.13.5.
-dbNotify
@@ -237,7 +270,7 @@ code. -convertRelease and checkRelease
@@ -386,9 +419,9 @@ put is successful. Previosuly it was always called.devVXStats
-Improved algorithm for cpuUsage.
+Improved algorithm for cpuUsage
-Symptom: CA clients on all versions of EPICS with unresolved channels @@ -453,7 +486,7 @@ powerPCs. The values are now initialized to 0.
There was a bug when converting ascii string format to time stamp. The bug @@ -858,9 +891,9 @@ of the calcout record were made.
devAaoCamac.c
-This had an error that prevented it from compiling.
+This had an error that prevented it from compiling
-If either of the environment variables EPICS_IOC_LOG_PORT or @@ -964,7 +997,7 @@ href="http://www.aps.anl.gov/asd/controls/epics/EpicsDocumentation/AppDevManuals IOC Applications: Building and Source/Release Control" provides guidlines for developing applications with 3.13.
-