diff --git a/RELEASE_NOTES.html b/RELEASE_NOTES.html index ad3176d49..16a1ab857 100644 --- a/RELEASE_NOTES.html +++ b/RELEASE_NOTES.html @@ -7,6 +7,29 @@
+The bug exists in probably in all previous versions of EPICS.
+ +An IOC, low on network buffers, prints a message about an assert failure. +The assert failure can cause the CA server or the CA client library to be +compromised depending on where in the code it occurs.
+ +All calls to getpeername() and getsockname() were checked and fixed as +necessary to make certain that an assert() failure does not occur if failure +status is returned, and that a proper response is made to this off-normal +situation.
+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. @@ -36,7 +59,7 @@ 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.
+more likely to reproduce the problem.Symptom: CA clients on all versions of EPICS with unresolved channels -broadcast search messages too frequently if an EPICS R3.13.3 server is -present. This bug does not occur if an R3.13.3 server is not present.
+Symptom: CA clients on all versions of EPICS with unresolved +channels broadcast search messages too frequently if an EPICS R3.13.3 server +is present. This bug does not occur if an R3.13.3 server is not present.
-Changed: CA server now sends beacon messages which uniquely identify the -server address. The CA repeater was also upgraded to detect, and fix, any +
Changed: CA server now sends beacon messages which uniquely identify +the server address. The CA repeater was also upgraded to detect, and fix, any problems of this nature.
-Symptom: Undefined symbols show up when EPICS R3.13.3 was loaded into a -PC IOC running Tornado II.
+Symptom: Undefined symbols show up when EPICS R3.13.3 was loaded +into a PC IOC running Tornado II.
Changed: Conditionally compiled out references to architecture
inappropriate system calls.
-
dfanoutRecord
-
drvTS.c
-
MAKE_INC_TARGET_FIRST=YES
NOTE: If your applications relies on header files being installed as - the first step of building, you should reorganize the order of building. - The 3.14 releases of base will no longer support the INC step.
+ the first step of building, you should reorganize the order of + building. The 3.14 releases of base will no longer support the INC + step.The network interface query code used by Channel Access to auto-configure its address list was modified to be compatible with changed API's present in -the SENS IP kernel supplied with Tornado II and optionally inTornado I.
+the SENS IP kernel supplied with Tornado II and optionally inTornado +I.DBR_PUT_ACKT and DBR_PUT_ACKS
@@ -586,12 +611,12 @@ with NSEV instead of SEVR of the source record.The stack size for cpuUsageTask was increased. The precious stack size was too small for mv172s, which do not have a separate interrupt stack like the -mv167. The same problem may exist on other processors such as the +mv167. The same problem may exist on other processors such as the powerPC.
dbel.c
-It was incorrectly reporting VALUE, ALARM and LOG for all events.
+It was incorrectly reporting VALUE, ALARM and LOG for all events.
longoutRecord
@@ -603,31 +628,31 @@ powerPC. to double.aoRecord.c
-
dfanoutRecord.c
A dbPutLink is attempted for all links even if a put for a previous link -fails. If a dbPutLink fails recGblSetSevr(pdfanout,LINK_ALARM,MAJOR_ALARM) -is called.
+fails. If a dbPutLink fails +recGblSetSevr(pdfanout,LINK_ALARM,MAJOR_ALARM) is called.dbStaticLib
-When dbPutString writes to the VAL field then udf is set false.
+When dbPutString writes to the VAL field then udf is set false.
cvtFast
cvtLongToHexString now puts 0x in frount of the number and
cvtLongToOctalString writes a leading 0.
-
11) don't send an exception to client when bad request received over UDP.
config
dbCommon.dbd
-
drvTS.c
-
drvSup.h
removed definition for reboot.
+removed definition for reboot.
dbNotify
-If dbPutNotify called dbProcess and dbProcess returned an error the +
If dbPutNotify called dbProcess and dbProcess returned an error the notify completion callback was called twice. This bug is fixed.
drvBB232
@@ -759,7 +784,7 @@ definitions are removed. dynamically modified.hyst and lalm changed from float to double
@@ -781,7 +806,7 @@ were posted, no monitors on the single bit fields.ErGetTicks now locks while updating ticks
devCommonGpib
-
drvBBMsg.c drvBBMsg.c drvRs232.c drvTy232.h
@@ -851,11 +876,11 @@ for vxWorks 5.3:getopt() changed to getopt "";
+getopt() changed to getopt "";
rc2.logServer
-Moved export statements to the right place.
+Moved export statements to the right place.
access security
@@ -865,7 +890,7 @@ for vxWorks 5.3:Under certain conditions (an input link referencing a PV on another ioc -and an unusually long ioc initialization), the calcout record would cause an -error during iocInit by attempting to dbScanLock a record prematurely. This -anomaly has been resolved with this version. No changes to the functionality -of the calcout record were made.
+and an unusually long ioc initialization), the calcout record would cause +an error during iocInit by attempting to dbScanLock a record +prematurely. This anomaly has been resolved with this version. No changes to +the functionality of the calcout record were made.dbLoadTemplate
@@ -918,20 +943,21 @@ seconds for an indeterminate period of time.task_params.h
-Task priorities were changed so that no epics task has higher priority -than netTask. Definitions for IOEVENTSCAN and TIMESTAMP were removed.
+Task priorities were changed so that no epics task has higher +priority than netTask. Definitions for IOEVENTSCAN and TIMESTAMP were +removed.
histogram record
Added new field PREC for display of double and float fields ULIM, LLIM, SDEL, SVAL, SGNL, and WDTH. Added unsigned long fields HOPR and LOPR for -display of VAL array counts. Changed SDEL field from SPC_NOMOD to SPC_RESET -to allow start and stop of the watch dog timer.
+display of VAL array counts. Changed SDEL field from SPC_NOMOD to +SPC_RESET to allow start and stop of the watch dog timer.Sequencer
The lex definitions have been changed so that definitions like
-#define ERRVALUE 9.90E+09+
#define ERRVALUE 9.90E+09
are accepted.
devMbbiDirectSoftRaw, devMbbiSoftRaw, devMbboDirectSoftRaw,
devMbboSoftRaw
-
SHFT was made a prompt field and also modifiable. The VAL field -of mbboDirectRecord is now modifiable.
+SHFT was made a prompt field and also modifiable. The VAL +field of mbboDirectRecord is now modifiable.
If the fields NOBT and SHFT are given values then this device support will
honor the MASK and SHFT fields just like hardware device support. To keep
@@ -976,7 +1002,7 @@ mrk:aiExample,"Analog input","Passive"
mrk:aiExample1,"Analog input No. 1","Passive"
mrk:aiExample2,"Analog input No. 2","Passive"
mrk:aiExample3,"Analog input No. 3","Passive"
-
The Application Developer's Guide is a major revision of the 3.12 edition. -The latest version is for beta12 base release. It is available in pdf (adobe -acrobat reader) and in postscript. The pdf format is nice for online viewing -and postscript for generating a hard copy.
+The latest version is for beta12 base release. It is available in pdf +(adobe acrobat reader) and in postscript. The pdf format is nice for online +viewing and postscript for generating a hard copy.LANL has a revision of the Record Reference Manual available. See the LANL EPICS documentation.
@@ -1015,7 +1041,7 @@ gnumake clean uninstallA performance test showed that executing
--in a 25MHZ mv167 took (4.4 ,7.8) microseonds when (semBCreate,semMCreate) -was used. The extra options as well as allowing a task to lock recursively -are worth the difference in performance. +in a 25MHZ mv167 took (4.4 ,7.8) microseonds when +(semBCreate,semMCreate) was used. The extra options as well as allowing a +task to lock recursively are worth the difference in performance.semTake(sem,WAIT_FOREVER); - semGive(bsem);+semTake(sem,WAIT_FOREVER); + semGive(bsem);
The nextField routines used by tsSubr were moved inside tsSubr.c and made -static routines.
+The nextField routines used by tsSubr were moved inside tsSubr.c and +made static routines.
See the new WWW documentation on Application Source Release for details
-I nnn::mmm # Current directory is between nnn and mmm --I :nnn # Current directory is first --I nnn: # Current directory is last+
-I nnn::mmm # Current directory is between nnn and mmm +-I :nnn # Current directory is first +-I nnn: # Current directory is lastThe lex grammer was changed so that quoted strings can contain any ascii character except a quote. A quote itself can be given as the escape sequence \". This same change was made to dbLoadRecords and dbLoadTemplates. @@ -1201,10 +1227,10 @@ details.
#device(ai,AB_IO,devAiAbSlcDcm,"AB-SLC500DCM") -#device(ai,AB_IO,devAiAbSlcDcmSigned,"AB-SLC500DCM-Signed") -#device(ao,AB_IO,devAoAbSlcDcm,"AB-SLC500DCM") -#device(longin,AB_IO,devLiAbSlcDcm,"AB-SLC500DCM") +#device(ai,AB_IO,devAiAbSlcDcm,"AB-SLC500DCM") +#device(ai,AB_IO,devAiAbSlcDcmSigned,"AB-SLC500DCM-Signed") +#device(ao,AB_IO,devAoAbSlcDcm,"AB-SLC500DCM") +#device(longin,AB_IO,devLiAbSlcDcm,"AB-SLC500DCM") #device(longout,AB_IO,devLoAbSlcDcm,"AB-SLC500DCM")initHooks
@@ -1216,13 +1242,13 @@ the new the startup file must contain the statement:ld < bin/initHooks.oIf you have your own version of initHooks.c it should be changed to support the new features. At a minumum the statement
- +
void initHooks( int state)must be changed to
void initHooks( initHookState state)+ +
void initHooks( initHookState state)
The following, which is designed by Benjamin Franksen at BESSY, is now the recommended method:
-A new field EOFF exists. The new linear conversion algorithm is now
+A new field EOFF exists. The new linear conversion algorithm is +now
VAL = AVAL * ESLO + EOFF+
VAL = AVAL * ESLO + EOFFAVAL is the raw value adjusted by ASLO and AOFF.
Thus device support should now compute ESLO and EOFF instead of ESLO and @@ -1260,9 +1287,9 @@ NOTES:
VAL = AVAL * ESLO + EGUL-The original bi-polar adc device support modules added a "bias" to the raw -value so that the raw value is >= 0. When they were written neither RVAL -or EOFF existed. +The original bi-polar adc device support modules added a "bias" to the +raw value so that the raw value is >= 0. When they were written neither +RVAL or EOFF existed.
device(ai,INST_IO,devAiVXStats,"VX stats") @@ -1393,8 +1420,8 @@ changes are minor. Following is a brief list: NOTE:The initHooks described in the appDevGuide is not in beta11. In beta11 initHooks is the same as previous releases. The new version will be in the next release.
-
- +
+Compiler warning messages:
All of base except drv/old is now being built with @@ -1790,17 +1817,17 @@ provides guidlines that can be used for large applications.#define GEN_SIZE_OFFSET -#undef GEN_SIZE_OFFSET+#undef GEN_SIZE_OFFSET
pai->simm = pai->siml.value.value; +NOTE: This change also has to be made to any device support that manipulates constant links. Normally this is only soft device support. @@ -1814,24 +1841,24 @@ for constant links. These have been changed. definitions in the generated header files.pai->simm = pai->siml.value.value; is changed to - recGblInitConstantLink(&pai->siml,DBF_USHORT,&pai->simm);+ recGblInitConstantLink(&pai->siml,DBF_USHORT,&pai->simm);
OLD ROUTINE REPLACEMENT - -dbFindRecdes dbFindRecordType -dbFirstRecdes dbFirstRecordType -dbNextRecdes dbNextRecordType -dbGetRecdesName dbGetRecordTypeName -dbGetNRecdes dbGetNRecordTypes -dbFirstFielddes dbFirstField -dbNextFielddes dbNextField -dbGetChoices dbGetMenuChoices+
OLD ROUTINE REPLACEMENT + +dbFindRecdes dbFindRecordType +dbFirstRecdes dbFirstRecordType +dbNextRecdes dbNextRecordType +dbGetRecdesName dbGetRecordTypeName +dbGetNRecdes dbGetNRecordTypes +dbFirstFielddes dbFirstField +dbNextFielddes dbNextField +dbGetChoices dbGetMenuChoicesFor now the old version will be supported. After one release they will go away.
MENUS += menuXXX.h - RECTYPES += xxxRecord.h+
MENUS += menuXXX.h + RECTYPES += xxxRecord.h
long dbGetLink(struct db_link *,short dbrType, - void *pbuffer,long *options,long *nRequest);+ void *pbuffer,long *options,long *nRequest); The last two arguments can be 0. options=0 means no options. nRequest=0 means scalar, i.e. retrieve one value.
long dbPutLink(struct db_link *,short dbrType, - void *pbuffer,long nRequest);+ void *pbuffer,long nRequest);
database(x) { nowhere() {
- }
- }
+ database(x) { nowhere() {
+ }
+ }
or
- database(x) {
- }
+ database(x) {
+ }
These statements must be removed. They were in pre 3.12 releases.
record(fanout,name) {
- field(SELN,"1")
- field(SELL,"0")
- }
+ record(fanout,name) {
+ field(SELN,"1")
+ field(SELL,"0")
+ }
Such definitions can be fixed by either completly removing the link
definition or changing the value from "0" to "".
@@ -1947,7 +1974,7 @@ problem:
A good way to find these problems is to use grep. For example:
-grep SELL */*.db+
grep SELL */*.dbThis assumes that you are in directory that contains subdirectorys containing .db files.