Diff of the two buildlogs:

--
--- b1/build.log	2025-01-06 10:24:08.839221267 +0000
+++ b2/build.log	2025-01-06 11:23:17.493477212 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Sun Jan  5 20:32:15 -12 2025
-I: pbuilder-time-stamp: 1736152335
+I: Current time: Tue Jan  7 00:24:20 +14 2025
+I: pbuilder-time-stamp: 1736159060
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz]
 I: copying local configuration
@@ -26,52 +26,84 @@
 dpkg-source: info: applying fix-epics-header-path.patch
 I: Not using root during the build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/15256/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/21776/tmp/hooks/D01_modify_environment starting
+debug: Running on virt32a.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+'/bin/sh' -> '/bin/bash'
+lrwxrwxrwx 1 root root 9 Jan  6 10:25 /bin/sh -> /bin/bash
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/21776/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/21776/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build/reproducible-path'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='armhf'
-  DEBIAN_FRONTEND='noninteractive'
-  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=5 '
-  DISTRIBUTION='unstable'
-  HOME='/root'
-  HOST_ARCH='armhf'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf")
+  BASH_VERSION='5.2.37(1)-release'
+  BUILDDIR=/build/reproducible-path
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=armhf
+  DEBIAN_FRONTEND=noninteractive
+  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 '
+  DIRSTACK=()
+  DISTRIBUTION=unstable
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=arm
+  HOST_ARCH=armhf
   IFS=' 	
   '
-  INVOCATION_ID='3cae3233b5c848ea9421b1d7d50a205a'
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  MAIL='/var/mail/root'
-  OPTIND='1'
-  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
-  PBCURRENTCOMMANDLINEOPERATION='build'
-  PBUILDER_OPERATION='build'
-  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
-  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
-  PBUILDER_SYSCONFDIR='/etc'
-  PPID='15256'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=1c8b351022a442d3a1e97f93b48401ac
+  LANG=C
+  LANGUAGE=it_CH:it
+  LC_ALL=C
+  MACHTYPE=arm-unknown-linux-gnueabihf
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnueabihf
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=21776
   PS4='+ '
-  PWD='/'
-  SHELL='/bin/bash'
-  SHLVL='2'
-  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.cTmWMJb4/pbuilderrc_HZHT --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.cTmWMJb4/b1 --logfile b1/build.log epics-base_7.0.8.1+dfsg1-7.dsc'
-  SUDO_GID='114'
-  SUDO_UID='109'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://10.0.0.15:3142/'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.cTmWMJb4/pbuilderrc_pv8e --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.cTmWMJb4/b2 --logfile b2/build.log epics-base_7.0.8.1+dfsg1-7.dsc'
+  SUDO_GID=113
+  SUDO_UID=107
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://10.0.0.15:3142/
 I: uname -a
-  Linux ff64a 6.1.0-28-arm64 #1 SMP Debian 6.1.119-1 (2024-11-22) aarch64 GNU/Linux
+  Linux i-capture-the-hostname 6.1.0-28-armmp-lpae #1 SMP Debian 6.1.119-1 (2024-11-22) armv7l GNU/Linux
 I: ls -l /bin
   lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/15256/tmp/hooks/D02_print_environment finished
+I: user script /srv/workspace/pbuilder/21776/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -84,7 +116,7 @@
 Depends: debhelper-compat (= 13), iproute2
 dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
 Selecting previously unselected package pbuilder-satisfydepends-dummy.
-(Reading database ... 19562 files and directories currently installed.)
+(Reading database ... 19566 files and directories currently installed.)
 Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ...
 Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ...
 dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested:
@@ -152,10 +184,10 @@
 Get: 41 http://deb.debian.org/debian unstable/main armhf intltool-debian all 0.35.0+20060710.6 [22.9 kB]
 Get: 42 http://deb.debian.org/debian unstable/main armhf po-debconf all 1.0.21+nmu1 [248 kB]
 Get: 43 http://deb.debian.org/debian unstable/main armhf debhelper all 13.23 [919 kB]
-Fetched 21.4 MB in 1s (30.9 MB/s)
+Fetched 21.4 MB in 0s (52.1 MB/s)
 Preconfiguring packages ...
 Selecting previously unselected package libelf1t64:armhf.
-(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19562 files and directories currently installed.)
+(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19566 files and directories currently installed.)
 Preparing to unpack .../00-libelf1t64_0.192-4_armhf.deb ...
 Unpacking libelf1t64:armhf (0.192-4) ...
 Selecting previously unselected package libbpf1:armhf.
@@ -341,7 +373,11 @@
 Building tag database...
  -> Finished parsing the build-deps
 I: Building the package
-I: Running cd /build/reproducible-path/epics-base-7.0.8.1+dfsg1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../epics-base_7.0.8.1+dfsg1-7_source.changes
+I: user script /srv/workspace/pbuilder/21776/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for unstable
+I: user script /srv/workspace/pbuilder/21776/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/epics-base-7.0.8.1+dfsg1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../epics-base_7.0.8.1+dfsg1-7_source.changes
 dpkg-buildpackage: info: source package epics-base
 dpkg-buildpackage: info: source version 7.0.8.1+dfsg1-7
 dpkg-buildpackage: info: source distribution unstable
@@ -361,7 +397,7 @@
     inet6 ::1/128 scope host proto kernel_lo 
        valid_lft forever preferred_lft forever
 dh_auto_clean
-	make -j5 distclean
+	make -j4 distclean
 make[2]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1'
 make -C ./configure realclean
 perl -CSD ./src/tools/cvsclean.pl
@@ -379,12 +415,12 @@
 make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/src/tools'
 make -C template/base realclean
 make -C template/ext realclean
-make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/src/template/ext'
 make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/src/template/base'
+make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/src/template/ext'
 rm -rf O.*
-make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/src/template/ext'
 rm -rf O.*
 make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/src/template/base'
+make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/src/template/ext'
 make[3]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/src'
 make -C ./test realclean
 make -C ./modules realclean
@@ -433,23 +469,23 @@
 make -C ./src realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData/src'
 rm -rf O.*
-rm -rf O.*
-make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/template'
 make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/client'
 make -C ./tools realclean
-make -C ./perl realclean
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/tools'
+make -C ./perl realclean
+rm -rf O.*
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/perl'
+make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/template'
 rm -rf O.*
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData/src'
 make -C ./testApp realclean
-rm -rf O.*
 make -C ./examples realclean
-make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/perl'
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData/testApp'
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData/examples'
 rm -rf O.*
 make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/tools'
+rm -rf O.*
+make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/perl'
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src'
 make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca'
 make -C ./database realclean
@@ -460,18 +496,18 @@
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData/examples'
 make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData'
 make -C ./normativeTypes realclean
-make -C ./src realclean
 make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes'
+make -C ./src realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src'
 make -C ./tools realclean
+make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/tools'
 make -C ./template realclean
 make -C ./configure realclean
-make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/tools'
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes/configure'
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/template'
 rm -rf O.*
-make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/template'
 rm -rf O.*
+make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/template'
 make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/tools'
 make -C ./ioc realclean
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/ioc'
@@ -496,28 +532,28 @@
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes/test'
 make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes'
 make -C ioc/db realclean
+make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/ioc/db'
 make -C ioc/dbtemplate realclean
+make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/ioc/dbtemplate'
 make -C std/rec realclean
 make -C std/link realclean
-make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/ioc/db'
-make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/ioc/dbtemplate'
-make -C std/filters realclean
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/std/rec'
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/std/link'
+rm -rf O.*
+make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/ioc/db'
+make -C std/filters realclean
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/std/filters'
 rm -rf O.*
 rm -rf O.*
 make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/std/rec'
 make -C ./tools realclean
-make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/ioc/db'
-rm -rf O.*
-make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/tools'
 make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/std/link'
-rm -rf O.*
-make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/std/filters'
+make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/tools'
 rm -rf O.*
 make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/ioc/dbtemplate'
 rm -rf O.*
+make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/std/filters'
+rm -rf O.*
 make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/tools'
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test'
 make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database'
@@ -538,63 +574,63 @@
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/src/ioc'
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/testApp'
 rm -rf O.*
+rm -rf O.*
+make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/src/ioc'
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/src/ca'
 make -C ./pvtoolsSrc realclean
 make -C ./testCa realclean
-make -C ./examples realclean
-rm -rf O.*
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/pvtoolsSrc'
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/testCa'
+make -C ./examples realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/examples'
-make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/src/ioc'
 rm -rf O.*
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/testApp'
 rm -rf O.*
-make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/examples'
+make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/pvtoolsSrc'
 rm -rf O.*
-make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/testCa'
 rm -rf O.*
-make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/pvtoolsSrc'
+make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/examples'
+make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/testCa'
 make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess'
 make -C ./pvaClient realclean
 make -C ./pvDatabase realclean
 make -C ./pva2pva realclean
 make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvaClient'
-make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva'
 make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase'
-make -C ./configure realclean
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase/configure'
+make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva'
 make -C ./configure realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvaClient/configure'
 make -C ./configure realclean
 make -C ./p2pApp realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/configure'
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/p2pApp'
+make -C ./configure realclean
+make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase/configure'
 rm -rf O.*
+make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvaClient/configure'
+make -C ./src realclean
+make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvaClient/src'
 rm -rf O.*
 rm -rf O.*
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/configure'
 make -C ./pdbApp realclean
+make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/p2pApp'
+make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/pdbApp'
+rm -rf O.*
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase/configure'
-make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvaClient/configure'
-make -C ./src realclean
 make -C ./src realclean
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/pdbApp'
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase/src'
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvaClient/src'
 rm -rf O.*
-make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/p2pApp'
+make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvaClient/src'
+make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvaClient'
 rm -rf O.*
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/pdbApp'
 make -C ./testApp realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/testApp'
 rm -rf O.*
-rm -rf O.*
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase/src'
 make -C ./test realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase/test'
-make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvaClient/src'
-make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvaClient'
 rm -rf O.*
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/testApp'
 make -C ./iocBoot realclean
@@ -605,23 +641,23 @@
 make -C ./iocimagedemo realclean
 make -C ./iocputlog realclean
 make -C ./iocpvalink realclean
-make -C ./iocutag realclean
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocimagedemo'
-make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocpvalink'
-make -C ./iocwfdemo realclean
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocputlog'
+make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocpvalink'
+make -C ./iocutag realclean
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocutag'
-make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocwfdemo'
-rm -f cdCommands envPaths dllPath.bat relPaths.sh
-rm -f cdCommands envPaths dllPath.bat relPaths.sh
 rm -f cdCommands envPaths dllPath.bat relPaths.sh
 make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocpvalink'
-make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocimagedemo'
-make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocwfdemo'
+make -C ./iocwfdemo realclean
+make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocwfdemo'
 rm -f cdCommands envPaths dllPath.bat relPaths.sh
 make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocputlog'
 rm -f cdCommands envPaths dllPath.bat relPaths.sh
+make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocimagedemo'
+rm -f cdCommands envPaths dllPath.bat relPaths.sh
 make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocutag'
+rm -f cdCommands envPaths dllPath.bat relPaths.sh
+make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocwfdemo'
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot'
 make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva'
 make[3]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules'
@@ -2260,7 +2296,7 @@
 /usr/bin/gcc  -D_GNU_SOURCE -D_DEFAULT_SOURCE        -DUSE_TYPED_RSET -DUSE_TYPED_DSET   -DUNIX  -Dlinux     -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O3   -Wall -Werror-implicit-function-declaration           -D_FILE_OFFSET_BITS=64  -fPIC -I. -I../O.Common -I. -I. -I.. -I../as -I../bpt -I../db -I../dbStatic -I../dbtemplate -I../misc -I../registry -I../rsrv -I../../../../../include/compiler/gcc -I../../../../../include/os/Linux -I../../../../../include         -MM -MF dbtoolsIocRegister.d  ../dbtemplate/dbtoolsIocRegister.c
 perl -CSD /build/reproducible-path/epics-base-7.0.8.1+dfsg1/bin/linux-arm/genVersionHeader.pl   -t ../../../../.. -N EPICS_VCS_VERSION -V "" ../O.Common/epicsVCS.h
 Creating VCS header ../O.Common/epicsVCS.h
-    EPICS_VCS_VERSION = "2025-01-06T08:50+0000"
+    EPICS_VCS_VERSION = "2025-01-06T10:32+0000"
 /usr/bin/gcc  -D_GNU_SOURCE -D_DEFAULT_SOURCE        -DUSE_TYPED_RSET -DUSE_TYPED_DSET   -DUNIX  -Dlinux     -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O3   -Wall -Werror-implicit-function-declaration           -D_FILE_OFFSET_BITS=64  -fPIC -I. -I../O.Common -I. -I. -I.. -I../as -I../bpt -I../db -I../dbStatic -I../dbtemplate -I../misc -I../registry -I../rsrv -I../../../../../include/compiler/gcc -I../../../../../include/os/Linux -I../../../../../include         -MM -MF epicsRelease.d  ../misc/epicsRelease.c
 /usr/bin/gcc  -D_GNU_SOURCE -D_DEFAULT_SOURCE        -DUSE_TYPED_RSET -DUSE_TYPED_DSET   -DUNIX  -Dlinux     -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O3   -Wall -Werror-implicit-function-declaration           -D_FILE_OFFSET_BITS=64  -fPIC -I. -I../O.Common -I. -I. -I.. -I../as -I../bpt -I../db -I../dbStatic -I../dbtemplate -I../misc -I../registry -I../rsrv -I../../../../../include/compiler/gcc -I../../../../../include/os/Linux -I../../../../../include         -MM -MF iocInit.d  ../misc/iocInit.c
 /usr/bin/gcc  -D_GNU_SOURCE -D_DEFAULT_SOURCE        -DUSE_TYPED_RSET -DUSE_TYPED_DSET   -DUNIX  -Dlinux     -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O3   -Wall -Werror-implicit-function-declaration           -D_FILE_OFFSET_BITS=64  -fPIC -I. -I../O.Common -I. -I. -I.. -I../as -I../bpt -I../db -I../dbStatic -I../dbtemplate -I../misc -I../registry -I../rsrv -I../../../../../include/compiler/gcc -I../../../../../include/os/Linux -I../../../../../include         -MM -MF miscIocRegister.d  ../misc/miscIocRegister.c
@@ -2283,7 +2319,7 @@
 /usr/bin/gcc  -D_GNU_SOURCE -D_DEFAULT_SOURCE        -DUSE_TYPED_RSET -DUSE_TYPED_DSET   -DUNIX  -Dlinux     -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O3   -Wall -Werror-implicit-function-declaration           -D_FILE_OFFSET_BITS=64  -fPIC -I. -I../O.Common -I. -I. -I.. -I../as -I../bpt -I../db -I../dbStatic -I../dbtemplate -I../misc -I../registry -I../rsrv -I../../../../../include/compiler/gcc -I../../../../../include/os/Linux -I../../../../../include         -MM -MF rsrvIocRegister.d  ../rsrv/rsrvIocRegister.c
 perl -CSD /build/reproducible-path/epics-base-7.0.8.1+dfsg1/bin/linux-arm/genVersionHeader.pl   -t ../../../../.. -N EPICS_VCS_VERSION -V "" ../O.Common/epicsVCS.h
 Keeping VCS header ../O.Common/epicsVCS.h
-    EPICS_VCS_VERSION = "2025-01-06T08:50+0000"
+    EPICS_VCS_VERSION = "2025-01-06T10:32+0000"
 Installing generated generic include file ../../../../../include/databaseVersion.h
 perl -CSD /build/reproducible-path/epics-base-7.0.8.1+dfsg1/bin/linux-arm/installEpics.pl  -d -m 444 ../O.Common/databaseVersion.h ../../../../../include
 Installing generic include file ../../../../../include/asDbLib.h
@@ -5498,7 +5534,7 @@
 ok 29 - dependency file (line 3)
 ok
 All tests successful.
-Files=1, Tests=29,  5 wallclock secs ( 0.14 usr  0.04 sys +  3.72 cusr  0.64 csys =  4.54 CPU)
+Files=1, Tests=29,  3 wallclock secs ( 0.07 usr  0.02 sys +  1.76 cusr  0.33 csys =  2.18 CPU)
 Result: PASS
 -------------------
 
@@ -5545,8 +5581,8 @@
 epicsUnitTestTest.t ........... 
 1..1
 # Running under perl version 5.040000 for linux
-# Current time local: Mon Jan  6 10:12:06 2025
-# Current time GMT:   Mon Jan  6 10:12:06 2025
+# Current time local: Mon Jan  6 11:12:57 2025
+# Current time GMT:   Mon Jan  6 11:12:57 2025
 # Using Test.pm version 1.31
 ok 1
 ok
@@ -6398,10 +6434,9 @@
 ok  2 - TEST_VAR_A = "test value"
 ok  3 - TEST_VAR_A = "(null)"
 ok
-errlog: lost 9 messages
-errlog: lost 4 messages
-errlog: lost 2 messages
-log client: connected to log server at '127.0.0.1:54051'
+errlog: lost 16 messages
+errlog: lost 8 messages
+log client: connected to log server at '127.0.0.1:47933'
 epicsErrlogTest.t ............. 
 1..54
 ok  1 - input "\0" expect "" actual ""
@@ -6445,10 +6480,10 @@
 ok 35 - Received 255 chars
 ok 36 - 372: pvt.count (4) == 4 (4)
 # Find buffer capacity (2048 theoretical)
-#  For 256 messages of length 8 got 256 (100.0% efficient)
-#  For 128 messages of length 16 got 128 (100.0% efficient)
-#  For 64 messages of length 32 got 55 (85.9% efficient)
-#  For 32 messages of length 64 got 28 (87.5% efficient)
+#  For 256 messages of length 8 got 240 (93.8% efficient)
+#  For 128 messages of length 16 got 120 (93.8% efficient)
+#  For 64 messages of length 32 got 64 (100.0% efficient)
+#  For 32 messages of length 64 got 32 (100.0% efficient)
 #  For 16 messages of length 128 got 16 (100.0% efficient)
 ok 37 - 410: Listener 1 ran
 # Checking buffer use after partial flush
@@ -6460,11 +6495,11 @@
 # Overflow the buffer
 ok 41 - 447: Listener 1 didn't run
 ok 42 - 448: pvt.count (2) == 2 (2)
-# Logged 16 messages
-ok 43 - Logged 16 messages, expected 17
+# Logged 18 messages
+ok 43 - Logged 18 messages, expected 17
 ok 44 - Removed 1 listener
 # Testing iocLogPrefix
-# Listening on port 54051
+# Listening on port 47933
 ok 45 - iocLogInit() == 0
 ok 46 - Accepted new client
 ok 47 - Client read configured
@@ -7345,7 +7380,7 @@
 ok
 epicsTimeTest.t ............... 
 1..242
-# $TZ = "/usr/share/zoneinfo/Etc/GMT+12"
+# $TZ = "/usr/share/zoneinfo/Etc/GMT-14"
 # EPICS_TZ = "CST6CDT,M3.2.0/2,M11.1.0/2"
 # Local TZ names "", ""
 ok  1 - testAdd(0:0 + 0.000000000 -> 0:0 == 0:0)
@@ -7391,7 +7426,7 @@
 ok 41 - bad format => '<invalid format>'
 ok 42 - default time provider
 # Running 10 loops
-# 100000 calls to epicsTime::getCurrent() averaged  0.464 usec each
+# 100000 calls to epicsTime::getCurrent() averaged  0.125 usec each
 ok 43 - copy == now
 ok 44 - copy <= now
 ok 45 - copy >= now
@@ -7403,7 +7438,7 @@
 ok 51 - now - now == 0
 ok 52 - now - begin ~= diff
 ok 53 - begin + 0 == begin
-# begin + diff (2025-01-06 10:12:12.110837420) == now (2025-01-06 10:12:12.110837420)
+# begin + diff (2025-01-06 11:13:01.406352986) == now (2025-01-06 11:13:01.406352986)
 ok 54 - begin + diff == now
 ok 55 - now - 0 == now
 ok 56 - now - diff == begin
@@ -7423,7 +7458,7 @@
 ok 70 - now - now == 0
 ok 71 - now - begin ~= diff
 ok 72 - begin + 0 == begin
-# begin + diff (2025-01-06 10:12:12.151684893) == now (2025-01-06 10:12:12.151684893)
+# begin + diff (2025-01-06 11:13:01.418476229) == now (2025-01-06 11:13:01.418476229)
 ok 73 - begin + diff == now
 ok 74 - now - 0 == now
 ok 75 - now - diff == begin
@@ -7443,7 +7478,7 @@
 ok 89 - now - now == 0
 ok 90 - now - begin ~= diff
 ok 91 - begin + 0 == begin
-# begin + diff (2025-01-06 10:12:12.192420075) == now (2025-01-06 10:12:12.192420075)
+# begin + diff (2025-01-06 11:13:01.430797513) == now (2025-01-06 11:13:01.430797513)
 ok 92 - begin + diff == now
 ok 93 - now - 0 == now
 ok 94 - now - diff == begin
@@ -7463,7 +7498,7 @@
 ok 108 - now - now == 0
 ok 109 - now - begin ~= diff
 ok 110 - begin + 0 == begin
-# begin + diff (2025-01-06 10:12:12.233066882) == now (2025-01-06 10:12:12.233066882)
+# begin + diff (2025-01-06 11:13:01.443471924) == now (2025-01-06 11:13:01.443471924)
 ok 111 - begin + diff == now
 ok 112 - now - 0 == now
 ok 113 - now - diff == begin
@@ -7483,7 +7518,7 @@
 ok 127 - now - now == 0
 ok 128 - now - begin ~= diff
 ok 129 - begin + 0 == begin
-# begin + diff (2025-01-06 10:12:12.273734980) == now (2025-01-06 10:12:12.273734980)
+# begin + diff (2025-01-06 11:13:01.455863281) == now (2025-01-06 11:13:01.455863281)
 ok 130 - begin + diff == now
 ok 131 - now - 0 == now
 ok 132 - now - diff == begin
@@ -7503,7 +7538,7 @@
 ok 146 - now - now == 0
 ok 147 - now - begin ~= diff
 ok 148 - begin + 0 == begin
-# begin + diff (2025-01-06 10:12:12.314383245) == now (2025-01-06 10:12:12.314383245)
+# begin + diff (2025-01-06 11:13:01.468062657) == now (2025-01-06 11:13:01.468062657)
 ok 149 - begin + diff == now
 ok 150 - now - 0 == now
 ok 151 - now - diff == begin
@@ -7523,7 +7558,7 @@
 ok 165 - now - now == 0
 ok 166 - now - begin ~= diff
 ok 167 - begin + 0 == begin
-# begin + diff (2025-01-06 10:12:12.355011384) == now (2025-01-06 10:12:12.355011384)
+# begin + diff (2025-01-06 11:13:01.480350324) == now (2025-01-06 11:13:01.480350324)
 ok 168 - begin + diff == now
 ok 169 - now - 0 == now
 ok 170 - now - diff == begin
@@ -7543,7 +7578,7 @@
 ok 184 - now - now == 0
 ok 185 - now - begin ~= diff
 ok 186 - begin + 0 == begin
-# begin + diff (2025-01-06 10:12:12.395648566) == now (2025-01-06 10:12:12.395648566)
+# begin + diff (2025-01-06 11:13:01.492434330) == now (2025-01-06 11:13:01.492434330)
 ok 187 - begin + diff == now
 ok 188 - now - 0 == now
 ok 189 - now - diff == begin
@@ -7563,7 +7598,7 @@
 ok 203 - now - now == 0
 ok 204 - now - begin ~= diff
 ok 205 - begin + 0 == begin
-# begin + diff (2025-01-06 10:12:12.436272914) == now (2025-01-06 10:12:12.436272914)
+# begin + diff (2025-01-06 11:13:01.504358072) == now (2025-01-06 11:13:01.504358072)
 ok 206 - begin + diff == now
 ok 207 - now - 0 == now
 ok 208 - now - diff == begin
@@ -7583,7 +7618,7 @@
 ok 222 - now - now == 0
 ok 223 - now - begin ~= diff
 ok 224 - begin + 0 == begin
-# begin + diff (2025-01-06 10:12:12.476948595) == now (2025-01-06 10:12:12.476948595)
+# begin + diff (2025-01-06 11:13:01.516584444) == now (2025-01-06 11:13:01.516584444)
 ok 225 - begin + diff == now
 ok 226 - now - 0 == now
 ok 227 - now - diff == begin
@@ -7594,20 +7629,20 @@
 ok 232 - beginTS + diff == now
 ok 233 - epicsTime can represent 10 years hence
 ok 234 - OS time_t can represent 10 years hence
-ok 235 - crossCheck(2.100000) actual 2.100315 (-0.014991 %)
-ok 236 - crossCheck(0.100000) actual 0.100284 (-0.283845 %)
-ok 237 - crossCheck(0.020000) actual 0.010272 (48.638780 %)
-ok 238 - crossCheck(0.020000) actual 0.001084 (94.577900 %)
-ok 239 - crossCheck(0.020000) actual 0.010280 (48.601075 %)
+ok 235 - crossCheck(2.100000) actual 2.103940 (-0.187610 %)
+ok 236 - crossCheck(0.100000) actual 0.100115 (-0.115267 %)
+ok 237 - crossCheck(0.020000) actual 0.010125 (49.375250 %)
+ok 238 - crossCheck(0.020000) actual 0.001106 (94.472120 %)
+ok 239 - crossCheck(0.020000) actual 0.010122 (49.391750 %)
 # Resolution 1 ns
-# epicsThreadSleep(0.0) Delta 84875 ns
-# Small Delta 291 ns
+# epicsThreadSleep(0.0) Delta 389303 ns
+# Small Delta 180 ns
 # testTMGames()
 ok 240 - !epicsTimeGetCurrent(&now)
-# LTM mday=6 hour=10 min=12 sec=14
-# GTM mday=6 hour=10 min=12 sec=14
-ok 241 - localtime 1105006334 == 1105006334
-ok 242 - gmtime 1105006334 == 1105006334
+# LTM mday=6 hour=11 min=13 sec=3
+# GTM mday=6 hour=11 min=13 sec=3
+ok 241 - localtime 1105009983 == 1105009983
+ok 242 - gmtime 1105009983 == 1105009983
 ok
 epicsTimeZoneTest.t ........... 
 1..160
@@ -7800,20 +7835,20 @@
 ok
 epicsThreadTest.t ............. 
 1..17
-# System has 6 CPUs
+# System has 4 CPUs
 ok  1 - ncpus > 0
-# main() thread 0x1c4c7f8
-ok  2 - Join delayed parent (2.00091 seconds)
-ok  3 - 0x1c4ee10 == 0x1c4ee10 avoid self re-alloc
+# main() thread 0x9517f8
+ok  2 - Join delayed parent (2.00039 seconds)
+ok  3 - 0x953e10 == 0x953e10 avoid self re-alloc
 ok  4 - Join tests #1 completed
-ok  5 - Join delayed parent (2.00088 seconds)
-ok  6 - 0x1c4ee10 == 0x1c4ee10 avoid self re-alloc
+ok  5 - Join delayed parent (2.00044 seconds)
+ok  6 - 0x953e10 == 0x953e10 avoid self re-alloc
 ok  7 - Join tests #2 completed
 ok  8 - pget == pset
 ok  9 - thread.getPriority() == epicsThreadGetPriority(self)
 ok 10 - pget == pset
-ok 11 - thread.getPriority() == epicsThreadGetPriority(self)
-ok 12 - pget == pset
+ok 11 - pget == pset
+ok 12 - thread.getPriority() == epicsThreadGetPriority(self)
 ok 13 - thread.getPriority() == epicsThreadGetPriority(self)
 ok 14 - threadA epicsThreadIsOkToBlock() = 0
 ok 15 - threadB epicsThreadIsOkToBlock() = 1
@@ -7928,25 +7963,25 @@
 epicsThreadOnceTest.t ......... 
 1..10
 ok  1 - once-0: initCount = 1
-ok  2 - once-3: initCount = 1
-ok  3 - once-4: initCount = 1
-ok  4 - once-5: initCount = 1
-ok  5 - once-6: initCount = 1
-ok  6 - once-7: initCount = 1
-ok  7 - once-1: initCount = 1
-ok  8 - once-2: initCount = 1
+ok  2 - once-2: initCount = 1
+ok  3 - once-3: initCount = 1
+ok  4 - once-1: initCount = 1
+ok  5 - once-4: initCount = 1
+ok  6 - once-5: initCount = 1
+ok  7 - once-6: initCount = 1
+ok  8 - once-7: initCount = 1
 ok  9 - doneCount = 8
 # init was run by once-0
 ok 10 - Recursive epicsThreadOnce() detected
 ok
 epicsThreadPriorityTest.t ..... 
 1..7
-ok  1 - task 0xf71006f8 epicsEventWait returned 0
+ok  1 - task 0xb61006f8 epicsEventWait returned 0
 ok  2 - epicsEventWaitWithTimeout returned 0
-ok  3 - task 0xf71006f8 epicsEventWait returned 0
+ok  3 - task 0xb61006f8 epicsEventWait returned 0
 ok  4 - epicsEventWaitWithTimeout returned 0
 # No strict priority scheduler
-ok  5 - task 0xf71006f8 epicsEventWait returned 0
+ok  5 - task 0xb61006f8 epicsEventWait returned 0
 ok  6 - epicsEventWaitWithTimeout returned 0
 ok  7 - epicsEventWait returned 0
 ok
@@ -8125,19 +8160,19 @@
 ok 68 - priv->job[i]!=NULL
 ok 69 - epicsJobQueue(priv->job[i])==0
 # i=2
-ok 70 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 71 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 70 - priv->job[i]!=NULL
+ok 71 - epicsJobQueue(priv->job[i])==0
+# i=3
 ok 72 - priv->job[i]!=NULL
-# Job 4
 ok 73 - epicsJobQueue(priv->job[i])==0
-# Job 3
-# i=3
+# Waiting for all jobs to start
 ok 74 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 75 - priv->job[i]!=NULL
+# Job 4
+ok 75 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+# Job 3
+ok 76 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 # Job 2
-ok 76 - epicsJobQueue(priv->job[i])==0
 ok 77 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-# Waiting for all jobs to start
 # Job 1
 # All jobs running
 # Stop all
@@ -8154,18 +8189,18 @@
 ok 81 - priv->job[i]!=NULL
 ok 82 - epicsJobQueue(priv->job[i])==0
 # i=2
-ok 83 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 84 - priv->job[i]!=NULL
-ok 85 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-# Job 4
-ok 86 - epicsJobQueue(priv->job[i])==0
+ok 83 - priv->job[i]!=NULL
+ok 84 - epicsJobQueue(priv->job[i])==0
 # i=3
-ok 87 - priv->job[i]!=NULL
+ok 85 - priv->job[i]!=NULL
+ok 86 - epicsJobQueue(priv->job[i])==0
+# Waiting for all jobs to start
+ok 87 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+# Job 4
 ok 88 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 # Job 3
+ok 89 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 # Job 2
-ok 89 - epicsJobQueue(priv->job[i])==0
-# Waiting for all jobs to start
 ok 90 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 # Job 1
 # All jobs running
@@ -8181,20 +8216,20 @@
 ok 93 - epicsJobQueue(priv->job[i])==0
 # i=1
 ok 94 - priv->job[i]!=NULL
-ok 95 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 96 - epicsJobQueue(priv->job[i])==0
-# Job 4
-ok 97 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 95 - epicsJobQueue(priv->job[i])==0
 # i=2
-# Job 3
+ok 96 - priv->job[i]!=NULL
+ok 97 - epicsJobQueue(priv->job[i])==0
+# i=3
 ok 98 - priv->job[i]!=NULL
 ok 99 - epicsJobQueue(priv->job[i])==0
-# i=3
-ok 100 - priv->job[i]!=NULL
+# Waiting for all jobs to start
+ok 100 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+# Job 4
 ok 101 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+# Job 3
+ok 102 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 # Job 2
-ok 102 - epicsJobQueue(priv->job[i])==0
-# Waiting for all jobs to start
 ok 103 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 # Job 1
 # All jobs running
@@ -8210,13 +8245,13 @@
 ok 107 - (job[2]=epicsJobCreate(pool, cleanupjobs[2], EPICSJOB_SELF))!=NULL
 ok 108 - epicsJobQueue(job[i])==0
 ok 109 - epicsJobQueue(job[i])==0
-ok 110 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 111 - epicsJobQueue(job[i])==0
+ok 110 - epicsJobQueue(job[i])==0
+ok 111 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 ok 112 - epicsJobQueue(job)==0
 ok 113 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 ok 114 - epicsJobQueue(job)==0
-ok 115 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 116 - epicsJobUnqueue(job)==0
+ok 115 - epicsJobUnqueue(job)==0
+ok 116 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 ok 117 - epicsJobUnqueue(job)==S_pool_jobIdle
 ok 118 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 # testreadd
@@ -8226,39 +8261,39 @@
 ok 122 - epicsJobQueue(priv->job)==0
 ok 123 - epicsJobQueue(priv2->job)==0
 ok 124 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 125 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 126 - priv->inprogress==0
-ok 127 - priv->inprogress==0
+ok 125 - priv->inprogress==0
 # count==5
+ok 126 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 127 - priv->inprogress==0
 # count==5
 ok 128 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 129 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 130 - priv->inprogress==0
-ok 131 - priv->inprogress==0
+ok 129 - priv->inprogress==0
 # count==4
+ok 130 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 131 - priv->inprogress==0
 # count==4
 ok 132 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 133 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 134 - priv->inprogress==0
-ok 135 - priv->inprogress==0
+ok 133 - priv->inprogress==0
 # count==3
+ok 134 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 135 - priv->inprogress==0
 # count==3
 ok 136 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 137 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 138 - priv->inprogress==0
-ok 139 - priv->inprogress==0
+ok 137 - priv->inprogress==0
 # count==2
+ok 138 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 139 - priv->inprogress==0
 # count==2
 ok 140 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 141 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 142 - priv->inprogress==0
-ok 143 - priv->inprogress==0
+ok 141 - priv->inprogress==0
 # count==1
+ok 142 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 143 - priv->inprogress==0
 # count==1
 ok 144 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 ok 145 - priv->inprogress==0
-ok 146 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 # count==0
+ok 146 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 ok 147 - priv->inprogress==0
 # count==0
 ok 148 - epicsThreadPoolNThreads(pool)==2
@@ -8299,12 +8334,12 @@
 ok  3 - unregistered counter() not called
 ok  4 - Registered mainExit()
 # threadA starting
-ok  5 - Registered atExit(0x1714d10)
-ok  6 - Registered atThreadExit(0x1714d10)
+ok  5 - Registered atExit(0x9d4d10)
+ok  6 - Registered atThreadExit(0x9d4d10)
 # threadA waiting for atExit
 # threadB starting
-ok  7 - Registered atExit(0x1714d60)
-ok  8 - Registered atThreadExit(0x1714d60)
+ok  7 - Registered atExit(0x9d4d60)
+ok  8 - Registered atThreadExit(0x9d4d60)
 # threadB waiting for atExit
 # Calling epicsExit
 ok  9 - threadB reached atExit
@@ -8320,32 +8355,32 @@
 ok  1 - Q1==Q2
 # Testing timer accuracy
 ok  2 - timerCount == nTimers
-ok  3 - Delay 1.000 s, error = -4.657452 ms (-0.466 %)
-ok  4 - Delay 1.100 s, error = -4.641399 ms (-0.422 %)
-ok  5 - Delay 1.200 s, error = -4.813681 ms (-0.401 %)
-ok  6 - Delay 1.300 s, error = -4.641544 ms (-0.357 %)
-ok  7 - Delay 1.400 s, error = -4.635409 ms (-0.331 %)
-ok  8 - Delay 1.500 s, error = -4.640898 ms (-0.309 %)
-ok  9 - Delay 1.600 s, error = -4.640513 ms (-0.290 %)
-ok 10 - Delay 1.700 s, error = -4.640294 ms (-0.273 %)
-ok 11 - Delay 1.800 s, error = -4.641991 ms (-0.258 %)
-ok 12 - Delay 1.900 s, error = -4.640897 ms (-0.244 %)
-ok 13 - Delay 2.000 s, error = -4.640636 ms (-0.232 %)
-ok 14 - Delay 2.100 s, error = -4.641585 ms (-0.221 %)
-ok 15 - Delay 2.200 s, error = -4.633448 ms (-0.211 %)
-ok 16 - Delay 2.300 s, error = -4.641438 ms (-0.202 %)
-ok 17 - Delay 2.400 s, error = -4.641177 ms (-0.193 %)
-ok 18 - Delay 2.500 s, error = -4.638541 ms (-0.186 %)
-ok 19 - Delay 2.600 s, error = -4.640490 ms (-0.178 %)
-ok 20 - Delay 2.700 s, error = -4.641520 ms (-0.172 %)
-ok 21 - Delay 2.800 s, error = -4.649135 ms (-0.166 %)
-ok 22 - Delay 2.900 s, error = -4.641249 ms (-0.160 %)
-ok 23 - Delay 3.000 s, error = -4.641405 ms (-0.155 %)
-ok 24 - Delay 3.100 s, error = -4.643811 ms (-0.150 %)
-ok 25 - Delay 3.200 s, error = -4.639925 ms (-0.145 %)
-ok 26 - Delay 3.300 s, error = -4.641082 ms (-0.141 %)
-ok 27 - Delay 3.400 s, error = -4.641362 ms (-0.137 %)
-# average timer delay error -4.648435 ms
+ok  3 - Delay 1.000 s, error = -4.878879 ms (-0.488 %)
+ok  4 - Delay 1.100 s, error = -4.866102 ms (-0.442 %)
+ok  5 - Delay 1.200 s, error = -4.869203 ms (-0.406 %)
+ok  6 - Delay 1.300 s, error = -4.877504 ms (-0.375 %)
+ok  7 - Delay 1.400 s, error = -4.878826 ms (-0.348 %)
+ok  8 - Delay 1.500 s, error = -0.341553 ms (-0.023 %)
+ok  9 - Delay 1.600 s, error = -4.831134 ms (-0.302 %)
+ok 10 - Delay 1.700 s, error = -4.867551 ms (-0.286 %)
+ok 11 - Delay 1.800 s, error = -4.854694 ms (-0.270 %)
+ok 12 - Delay 1.900 s, error = -4.318526 ms (-0.227 %)
+ok 13 - Delay 2.000 s, error = -4.881595 ms (-0.244 %)
+ok 14 - Delay 2.100 s, error = -4.857919 ms (-0.231 %)
+ok 15 - Delay 2.200 s, error = -4.356268 ms (-0.198 %)
+ok 16 - Delay 2.300 s, error = -4.863942 ms (-0.211 %)
+ok 17 - Delay 2.400 s, error = -4.870224 ms (-0.203 %)
+ok 18 - Delay 2.500 s, error = -4.859466 ms (-0.194 %)
+ok 19 - Delay 2.600 s, error = -4.873007 ms (-0.187 %)
+ok 20 - Delay 2.700 s, error = -4.337459 ms (-0.161 %)
+ok 21 - Delay 2.800 s, error = -4.291784 ms (-0.153 %)
+ok 22 - Delay 2.900 s, error = -4.363939 ms (-0.150 %)
+ok 23 - Delay 3.000 s, error = -4.343243 ms (-0.145 %)
+ok 24 - Delay 3.100 s, error = -4.846397 ms (-0.156 %)
+ok 25 - Delay 3.200 s, error = -4.672435 ms (-0.146 %)
+ok 26 - Delay 3.300 s, error = -4.857620 ms (-0.147 %)
+ok 27 - Delay 3.400 s, error = -4.865261 ms (-0.143 %)
+# average timer delay error -4.548981 ms
 # Testing timer cancellation
 ok 28 - timerCount == nTimers
 ok 29 - cancelVerify::expireCount == 0
@@ -8423,9 +8458,9 @@
 ok 39 - !foundCorruption
 # single producer, single consumer with locking
 # Everything enqueued, Stopping consumer
-# Pushed 1000, have 100 remaining unconsumed
-# Expect 900 consumed
-ok 40 - 0x3830383 == 0x3830383
+# Pushed 1000, have 98 remaining unconsumed
+# Expect 902 consumed
+ok 40 - 0x3850385 == 0x3850385
 ok 41 - Consumer consumed all
 ok 42 - !foundCorruption
 ok
@@ -8742,28 +8777,28 @@
 ok  9 - consumer: errors = 0
 ok 10 - producer 0: errors = 0
 ok 11 - producer 1: errors = 0
-ok 12 - epicsEventWaitWithTimeout(0.000000)  delay error 0.000098 sec
-ok 13 - epicsEventWaitWithTimeout(1.000000)  delay error 0.000334 sec
-ok 14 - epicsEventWaitWithTimeout(0.500000)  delay error 0.000341 sec
-ok 15 - epicsEventWaitWithTimeout(0.250000)  delay error 0.000341 sec
-ok 16 - epicsEventWaitWithTimeout(0.125000)  delay error 0.000342 sec
-ok 17 - epicsEventWaitWithTimeout(0.062500)  delay error 0.000340 sec
-ok 18 - epicsEventWaitWithTimeout(0.031250)  delay error 0.000340 sec
-ok 19 - epicsEventWaitWithTimeout(0.015625)  delay error 0.000339 sec
-ok 20 - epicsEventWaitWithTimeout(0.007812)  delay error 0.000321 sec
-ok 21 - epicsEventWaitWithTimeout(0.003906)  delay error 0.000321 sec
-ok 22 - epicsEventWaitWithTimeout(0.001953)  delay error 0.000172 sec
-ok 23 - epicsEventWaitWithTimeout(0.000977)  delay error 0.000087 sec
-ok 24 - epicsEventWaitWithTimeout(0.000488)  delay error 0.000114 sec
-ok 25 - epicsEventWaitWithTimeout(0.000244)  delay error 0.000088 sec
-ok 26 - epicsEventWaitWithTimeout(0.000122)  delay error 0.000089 sec
-ok 27 - epicsEventWaitWithTimeout(0.000061)  delay error 0.000087 sec
-ok 28 - epicsEventWaitWithTimeout(0.000031)  delay error 0.000087 sec
-ok 29 - epicsEventWaitWithTimeout(0.000015)  delay error 0.000087 sec
-ok 30 - epicsEventWaitWithTimeout(0.000008)  delay error 0.000087 sec
-ok 31 - epicsEventWaitWithTimeout(0.000004)  delay error 0.000087 sec
-ok 32 - epicsEventWaitWithTimeout(0.000002)  delay error 0.000087 sec
-ok 33 - Mean delay error was 0.000200 sec
+ok 12 - epicsEventWaitWithTimeout(0.000000)  delay error 0.001822 sec
+ok 13 - epicsEventWaitWithTimeout(1.000000)  delay error 0.000124 sec
+ok 14 - epicsEventWaitWithTimeout(0.500000)  delay error 0.000182 sec
+ok 15 - epicsEventWaitWithTimeout(0.250000)  delay error 0.000129 sec
+ok 16 - epicsEventWaitWithTimeout(0.125000)  delay error 0.000136 sec
+ok 17 - epicsEventWaitWithTimeout(0.062500)  delay error 0.000127 sec
+ok 18 - epicsEventWaitWithTimeout(0.031250)  delay error 0.000124 sec
+ok 19 - epicsEventWaitWithTimeout(0.015625)  delay error 0.000125 sec
+ok 20 - epicsEventWaitWithTimeout(0.007812)  delay error 0.000123 sec
+ok 21 - epicsEventWaitWithTimeout(0.003906)  delay error 0.000126 sec
+ok 22 - epicsEventWaitWithTimeout(0.001953)  delay error 0.000119 sec
+ok 23 - epicsEventWaitWithTimeout(0.000977)  delay error 0.000112 sec
+ok 24 - epicsEventWaitWithTimeout(0.000488)  delay error 0.000104 sec
+ok 25 - epicsEventWaitWithTimeout(0.000244)  delay error 0.000107 sec
+ok 26 - epicsEventWaitWithTimeout(0.000122)  delay error 0.000073 sec
+ok 27 - epicsEventWaitWithTimeout(0.000061)  delay error 0.000103 sec
+ok 28 - epicsEventWaitWithTimeout(0.000031)  delay error 0.000101 sec
+ok 29 - epicsEventWaitWithTimeout(0.000015)  delay error 0.000078 sec
+ok 30 - epicsEventWaitWithTimeout(0.000008)  delay error 0.000078 sec
+ok 31 - epicsEventWaitWithTimeout(0.000004)  delay error 0.000077 sec
+ok 32 - epicsEventWaitWithTimeout(0.000002)  delay error 0.000079 sec
+ok 33 - Mean delay error was 0.000193 sec
 ok 34 - all threads still sleeping
 ok 35 - 1 thread awakened, expected 1
 ok 36 - 2 threads awakened, expected 2
@@ -8797,24 +8832,24 @@
 # mutexThread 0 exiting
 # mutexThread 1 exiting
 # mutexThread 2 exiting
-# lock()*1/unlock()*1 takes 0.511355 microseconds
-# lock()*2/unlock()*2 takes 0.400722 microseconds
-# lock()*4/unlock()*4 takes 0.736344 microseconds
+# lock()*1/unlock()*1 takes 0.158077 microseconds
+# lock()*2/unlock()*2 takes 0.203848 microseconds
+# lock()*4/unlock()*4 takes 0.324344 microseconds
 ok
 epicsSpinTest.t ............... 
 1..2
-# Starting 6 spinners
+# Starting 4 spinners
 # All started
 # All done
 ok  1 - epicsTryLock returns 1 (expect 1)
 # spinThread 0 starting
 # spinThread 1 starting
 # spinThread 2 starting
-# spinThread 2 exiting
 # spinThread 1 exiting
+# spinThread 2 exiting
 # spinThread 0 exiting
 ok  2 - Loops run = 1500 (expecting 1500)
-# lock()*1/unlock()*1 takes 0.234757 microseconds
+# lock()*1/unlock()*1 takes 0.092956 microseconds
 ok
 epicsAtomicTest.t ............. 
 1..50
@@ -10279,16 +10314,16 @@
 ok  3 - Server thread created
 ok  4 - Socket valid
 ok  5 - Client end connected
-ok  6 - Accepted socket valid
-ok  7 - Socket valid
-ok  8 - Client thread created
+ok  6 - Client thread created
+ok  7 - Accepted socket valid
+ok  8 - Socket valid
 ok  9 - Server circuit thread created
 ok 10 - Server circuit created
 ok 11 - Client is asleep
 # Trying Shutdown mechanism
 ok 12 - Shutdown() returned Ok
-# server circuit was disconnected
 # client circuit was disconnected
+# server circuit was disconnected
 # Shutdown succeeded
 # This OS behaves like "esscimqi_socketBothShutdownRequired".
 ok 13 - Declared mechanism works
@@ -10391,14 +10426,14 @@
 # ...  3
 # ...  2
 # ...  1
-# Sender 1 exiting, sent 614 messages
-# Sender 3 exiting, sent 639 messages
-# Sender 2 exiting, sent 620 messages
-# Sender 4 exiting, sent 606 messages
-# Received 614 messages from Sender 1
-# Received 620 messages from Sender 2
-# Received 639 messages from Sender 3
-# Received 606 messages from Sender 4
+# Sender 1 exiting, sent 645 messages
+# Sender 4 exiting, sent 597 messages
+# Sender 2 exiting, sent 638 messages
+# Sender 3 exiting, sent 591 messages
+# Received 645 messages from Sender 1
+# Received 638 messages from Sender 2
+# Received 591 messages from Sender 3
+# Received 597 messages from Sender 4
 ok 74 - errors == 0
 # Receiver one exiting
 ok
@@ -10466,21 +10501,21 @@
 ok 14 - getsockopt IP_MULTICAST_TTL => 1
 # udpSockFanoutBindTest()
 # First test if epicsSocketEnableAddressUseForDatagramFanout() is necessary
-ok 15 - bind() to port 34571
-ok 16 - bind() to 34571 error -1, 98
+ok 15 - bind() to port 48962
+ok 16 - bind() to 48962 error -1, 98
 # Now the real test
-ok 17 - bind() to port 34571
-ok 18 - bind() to port 34571
+ok 17 - bind() to port 48962
+ok 18 - bind() to port 48962
 # udpSockFanoutTest()
 not ok 19 - Found non-loopback interface # TODO Known failure on Debian buildd infra
 not ok 20 - Successes 0 # TODO Known failure on Debian buildd infra
 # tcpSockReuseBindTest(0)
-ok 21 - bind() to port 42225
-ok 22 - bind() to 42225 error -1, 98
+ok 21 - bind() to port 52071
+ok 22 - bind() to 52071 error -1, 98
 # tcpSockReuseBindTest(1)
 # epicsSocketEnableAddressReuseDuringTimeWaitState
-ok 23 - bind() to port 37787
-ok 24 - bind() to 37787 error -1, 98
+ok 23 - bind() to port 34635
+ok 24 - bind() to 34635 error -1, 98
 ok
 testexecname.t ................ 
 1..1
@@ -10701,14 +10736,14 @@
 ok
 epicsLoadTest.t ............... 
 1..4
-# # of CPUs 6
+# # of CPUs 4
 ok  1 - !epicsFindSymbol("noSuchFunction")
 # Lookup symbol from Com
-ok  2 - 0xf7e911c9 == 0xf7e911c9 (epicsThreadGetCPUs) : (null)
+ok  2 - 0xb6ef11c9 == 0xb6ef11c9 (epicsThreadGetCPUs) : (null)
 # Load and lookup symbol from libca
 # Loading ../../../../lib/linux-arm/libca.so
-ok  3 - Loaded 0x1acaff8 : (null)
-ok  4 - dbf_text 0xf72b00a8 : (null)
+ok  3 - Loaded 0x161dff8 : (null)
+ok  4 - dbf_text 0xb63100a8 : (null)
 ok
 nonEpicsThreadPriorityTest.t .. 
 1..2
@@ -10716,7 +10751,7 @@
 ok  2 - epicsEventWait returned 0
 ok
 All tests successful.
-Files=49, Tests=4392, 198 wallclock secs ( 1.76 usr  0.24 sys +  7.98 cusr  5.44 csys = 15.42 CPU)
+Files=49, Tests=4392, 190 wallclock secs ( 0.92 usr  0.15 sys +  2.39 cusr  1.23 csys =  4.69 CPU)
 Result: PASS
 -------------------
 
@@ -11469,10 +11504,10 @@
 There is a logic_error
 
 On line 48 of ../../testApp/misc/testBaseException.cpp
-./testBaseException(_Z18testLogicExceptionv+0x3b) [0x8b152c]
-./testBaseException(main+0x13) [0x8b16ec]
-/lib/arm-linux-gnueabihf/libc.so.6(+0x1f4fa) [0xf765f4fa]
-/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x5d) [0xf765f596]
+./testBaseException(_Z18testLogicExceptionv+0x3b) [0x48152c]
+./testBaseException(main+0x13) [0x4816ec]
+/lib/arm-linux-gnueabihf/libc.so.6(+0x1f4fa) [0xb6a8f4fa]
+/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x5d) [0xb6a8f596]
 To translate run 'addr2line -e execname 0xXXXXXXX ...'
   Note: Must be compiled with debug symbols
 
@@ -11480,20 +11515,20 @@
 There is another logic_error
 
 On line 55 of ../../testApp/misc/testBaseException.cpp
-./testBaseException(_Z18testLogicExceptionv+0xf9) [0x8b15ea]
-./testBaseException(main+0x13) [0x8b16ec]
-/lib/arm-linux-gnueabihf/libc.so.6(+0x1f4fa) [0xf765f4fa]
-/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x5d) [0xf765f596]
+./testBaseException(_Z18testLogicExceptionv+0xf9) [0x4815ea]
+./testBaseException(main+0x13) [0x4816ec]
+/lib/arm-linux-gnueabihf/libc.so.6(+0x1f4fa) [0xb6a8f4fa]
+/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x5d) [0xb6a8f596]
 
 ok  1 - testLogicException
 testBaseException... 
 
 all is OK
 On line 38 of ../../testApp/misc/testBaseException.cpp
-./testBaseException(_Z21testBaseExceptionTestv+0x7d) [0x8b1876]
-./testBaseException(main+0x17) [0x8b16f0]
-/lib/arm-linux-gnueabihf/libc.so.6(+0x1f4fa) [0xf765f4fa]
-/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x5d) [0xf765f596]
+./testBaseException(_Z21testBaseExceptionTestv+0x7d) [0x481876]
+./testBaseException(main+0x17) [0x4816f0]
+/lib/arm-linux-gnueabihf/libc.so.6(+0x1f4fa) [0xb6a8f4fa]
+/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x5d) [0xb6a8f596]
 
 
 
@@ -11721,40 +11756,40 @@
 ok  2 - refs.empty()
 # testSimple()
 # ctor
-# one = 0xffa26688  two = 0xffa266f0
-# refs: 0xffa26688, 
-#ptr 0xffa26688: 0xf7aba042 0x904a1c 0x903802 0x902076 0xf771f4fa 0xf771f596 
+# one = 0xbee5f0d8  two = 0xbee5f140
+# refs: 0xbee5f0d8, 
+#ptr 0xbee5f0d8: 0xb6e7a042 0x4b4a1c 0x4b3802 0x4b2076 0xb6adf4fa 0xb6adf596 
 # refs: 
 # No refs
 ok  3 - refs.size()==1
 ok  4 - refs.find(&one)!=refs.end()
 ok  5 - refs.find(&two)==refs.end()
 # assign non-NULL
-# refs: 0xffa26688, 0xffa266f0, 
-#ptr 0xffa26688: 0xf7aba042 0x904a1c 0x903802 0x902076 0xf771f4fa 0xf771f596 
-#ptr 0xffa266f0: 0xf7aba042 0x903920 0x902076 0xf771f4fa 0xf771f596 
-# refs: 0xffa26688, 0xffa266f0, 
-#ptr 0xffa26688: 0xf7aba042 0x904a1c 0x903802 0x902076 0xf771f4fa 0xf771f596 
-#ptr 0xffa266f0: 0xf7aba042 0x903920 0x902076 0xf771f4fa 0xf771f596 
+# refs: 0xbee5f0d8, 0xbee5f140, 
+#ptr 0xbee5f0d8: 0xb6e7a042 0x4b4a1c 0x4b3802 0x4b2076 0xb6adf4fa 0xb6adf596 
+#ptr 0xbee5f140: 0xb6e7a042 0x4b3920 0x4b2076 0xb6adf4fa 0xb6adf596 
+# refs: 0xbee5f0d8, 0xbee5f140, 
+#ptr 0xbee5f0d8: 0xb6e7a042 0x4b4a1c 0x4b3802 0x4b2076 0xb6adf4fa 0xb6adf596 
+#ptr 0xbee5f140: 0xb6e7a042 0x4b3920 0x4b2076 0xb6adf4fa 0xb6adf596 
 ok  6 - refs.size()==2
 ok  7 - refs.find(&one)!=refs.end()
 ok  8 - refs.find(&two)!=refs.end()
 # reset
 # refs: 
 # No refs
-# refs: 0xffa266f0, 
-#ptr 0xffa266f0: 0xf7aba042 0x903920 0x902076 0xf771f4fa 0xf771f596 
+# refs: 0xbee5f140, 
+#ptr 0xbee5f140: 0xb6e7a042 0x4b3920 0x4b2076 0xb6adf4fa 0xb6adf596 
 ok  9 - refs.size()==0
 ok 10 - refs.size()==1
 ok 11 - refs.find(&one)==refs.end()
 ok 12 - refs.find(&two)!=refs.end()
 # copy ctor
-# refs: 0xffa266f0, 0xffa26758, 
-#ptr 0xffa266f0: 0xf7aba042 0x903920 0x902076 0xf771f4fa 0xf771f596 
-#ptr 0xffa26758: 0xf7aba042 0x904aa4 0x903b3a 0x902076 0xf771f4fa 0xf771f596 
+# refs: 0xbee5f140, 0xbee5f1a8, 
+#ptr 0xbee5f140: 0xb6e7a042 0x4b3920 0x4b2076 0xb6adf4fa 0xb6adf596 
+#ptr 0xbee5f1a8: 0xb6e7a042 0x4b4aa4 0x4b3b3a 0x4b2076 0xb6adf4fa 0xb6adf596 
 # refs: 
 # No refs
-# three = 0xffa26758  empty = 0xffa267bc
+# three = 0xbee5f1a8  empty = 0xbee5f20c
 ok 13 - refs.size()==0
 ok 14 - refs.size()==2
 ok 15 - refs.find(&one)==refs.end()
@@ -11805,98 +11840,98 @@
 ok  1 - factory.get()!=NULL
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # boolean
-#  after 0xb8fdc0 == 0xb8fdc0
+#  after 0xff4dc0 == 0xff4dc0
 ok  2 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # boolean[]
-#  after 0xb8fe28 == 0xb8fe28
+#  after 0xff4e28 == 0xff4e28
 ok  3 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # byte
-#  after 0xb8fe90 == 0xb8fe90
+#  after 0xff4e90 == 0xff4e90
 ok  4 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # byte[]
-#  after 0xb8ff00 == 0xb8ff00
+#  after 0xff4f00 == 0xff4f00
 ok  5 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # short
-#  after 0xb8ff70 == 0xb8ff70
+#  after 0xff4f70 == 0xff4f70
 ok  6 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # short[]
-#  after 0xb8fff0 == 0xb8fff0
+#  after 0xff4ff0 == 0xff4ff0
 ok  7 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # int
-#  after 0xb90058 == 0xb90058
+#  after 0xff5058 == 0xff5058
 ok  8 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # int[]
-#  after 0xb90098 == 0xb90098
+#  after 0xff5098 == 0xff5098
 ok  9 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # long
-#  after 0xb900f0 == 0xb900f0
+#  after 0xff50f0 == 0xff50f0
 ok 10 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # long[]
-#  after 0xb90190 == 0xb90190
+#  after 0xff5190 == 0xff5190
 ok 11 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # ubyte
-#  after 0xb90230 == 0xb90230
+#  after 0xff5230 == 0xff5230
 ok 12 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # ubyte[]
-#  after 0xb90288 == 0xb90288
+#  after 0xff5288 == 0xff5288
 ok 13 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # ushort
-#  after 0xb902e0 == 0xb902e0
+#  after 0xff52e0 == 0xff52e0
 ok 14 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # ushort[]
-#  after 0xb90338 == 0xb90338
+#  after 0xff5338 == 0xff5338
 ok 15 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # uint
-#  after 0xb90390 == 0xb90390
+#  after 0xff5390 == 0xff5390
 ok 16 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # uint[]
-#  after 0xb903e8 == 0xb903e8
+#  after 0xff53e8 == 0xff53e8
 ok 17 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # ulong
-#  after 0xb90440 == 0xb90440
+#  after 0xff5440 == 0xff5440
 ok 18 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # ulong[]
-#  after 0xb90520 == 0xb90520
+#  after 0xff5520 == 0xff5520
 ok 19 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # float
-#  after 0xb90600 == 0xb90600
+#  after 0xff5600 == 0xff5600
 ok 20 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # float[]
-#  after 0xb90658 == 0xb90658
+#  after 0xff5658 == 0xff5658
 ok 21 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # double
-#  after 0xb906b0 == 0xb906b0
+#  after 0xff56b0 == 0xff56b0
 ok 22 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # double[]
-#  after 0xb90708 == 0xb90708
+#  after 0xff5708 == 0xff5708
 ok 23 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # time_t
 #     long secondsPastEpoch
 #     int nanoseconds
 #     int userTag
-#  after 0xba4c38 == 0xba4c38
+#  after 0x1009c38 == 0x1009c38
 ok 24 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # time_t[]
@@ -11904,16 +11939,16 @@
 #         long secondsPastEpoch
 #         int nanoseconds
 #         int userTag
-#  after 0xba6f10 == 0xba6f10
+#  after 0x100bf10 == 0x100bf10
 ok 25 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # any
-#  after 0xb901e8 == 0xb901e8
+#  after 0xff51e8 == 0xff51e8
 ok 26 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # any[]
 #     any
-#  after 0xb90848 == 0xb90848
+#  after 0xff5848 == 0xff5848
 ok 27 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # union
@@ -11924,7 +11959,7 @@
 #                 short short
 #                 long long
 #     int[] intArray
-#  after 0xba73e8 == 0xba73e8
+#  after 0x100c3e8 == 0x100c3e8
 ok 28 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # union[]
@@ -11936,7 +11971,7 @@
 #                     short short
 #                     long long
 #         int[] intArray
-#  after 0xba7740 == 0xba7740
+#  after 0x100c740 == 0x100c740
 ok 29 - *field == *deserializedField
 # Testing equals...
 ok 30 - factory.get()!=NULL
@@ -12174,7 +12209,7 @@
 #     double[] variableArray
 #     double[10] fixedArray
 #     double<1024> boundedArray
-#  after 0xba6f80 == 0xba6f80
+#  after 0x100bf80 == 0x100bf80
 ok 220 - *field == *deserializedField
 ok 221 - Serialization round trip OK
 # Testing bounded string...
@@ -12186,7 +12221,7 @@
 #     string str
 #     string(8) boundedStr
 #     double scalar
-#  after 0xba6f80 == 0xba6f80
+#  after 0x100bf80 == 0x100bf80
 ok 225 - *field == *deserializedField
 ok 226 - Serialization round trip OK
 # testToString(4321)
@@ -12214,14 +12249,14 @@
 1..37
 # Tests timeStamp
 ok  1 - nanoSecPerSec==1000000000
-# current 1736158596 247869829 milliSec 1736158596247
+# current 1736162236 457857431 milliSec 1736162236457
 
-# 2025.01.06 10:16:36 247869829 isDst false
+# 2025.01.06 11:17:16 457857431 isDst false
 
 # fromTime_t
-current 1736158596 0 milliSec 1736158596000
+current 1736162236 0 milliSec 1736162236000
 
-# 2025.01.06 10:16:36 0 isDst false
+# 2025.01.06 11:17:16 0 isDst false
 
 # diff 0.000000e+00
 
@@ -12831,6 +12866,7 @@
 1..5
 # 
 testBitSetUtil
+
 ok  1 - bitSet->get(offsetSeconds)==true
 ok  2 - bitSet->get(offsetSeconds)==false
 ok  3 - bitSet->get(offsetTimeStamp)==true
@@ -13380,6 +13416,8 @@
         int falseSeverity 0
         int trueSeverity 0
         int changeStateSeverity 0
+
+
 # 
 enumeratedTest
 epics:nt/NTEnum:1.0 
@@ -13745,9 +13783,9 @@
 ok 223 - PVUnion PVStructure copy, to different type PVUnion
 # Check methods for accessing structure fields
 ok 224 - a.get() != NULL
-ok 225 - 0x1692820 == 0x1692820
+ok 225 - 0x203b820 == 0x203b820
 ok 226 - a.get() != NULL
-ok 227 - 0x1692758 == 0x1692758
+ok 227 - 0x203b758 == 0x203b758
 ok 228 - fld->getSubField<PVInt>("invalid").get()==NULL
 ok 229 - fld->getSubField<PVDouble>("test").get()==NULL
 ok 230 - fld->getSubField<PVDouble>("helo.world").get()==NULL
@@ -14334,7 +14372,7 @@
 #                 int YY
 #             int Y
 #     int A2
-ok 67 - static_cast<const void*>(amended.get()) (0x151a328) == static_cast<const void*>(expected.get()) (0x151a328)
+ok 67 - static_cast<const void*>(amended.get()) (0x1404328) == static_cast<const void*>(expected.get()) (0x1404328)
 ok 68 - *amended (structure
 #     int A
 #     structure nest
@@ -14442,7 +14480,7 @@
 ok  9 - ts.getSecondsPastEpoch()==timeStamp.getSecondsPastEpoch()
 ok 10 - ts.getNanoseconds()==timeStamp.getNanoseconds()
 ok 11 - ts.getUserTag()==timeStamp.getUserTag()
-# 2025.01.06 10:16:38 551102818 nanoseconds isDst false userTag 32
+# 2025.01.06 11:17:17 771991131 nanoseconds isDst false userTag 32
 ok 12 - testTimeStamp PASSED
 
 # testControl
@@ -14984,7 +15022,7 @@
 ok 315 - catch expected exception: No field 'invalid' Empty field selection
 ok
 All tests successful.
-Files=32, Tests=2647, 70 wallclock secs ( 1.24 usr  0.12 sys +  2.24 cusr  0.80 csys =  4.40 CPU)
+Files=32, Tests=2647, 68 wallclock secs ( 0.73 usr  0.10 sys +  1.01 cusr  0.42 csys =  2.26 CPU)
 Result: PASS
 -------------------
 
@@ -15056,12 +15094,12 @@
 make[7]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/ioc/O.linux-arm'
 perl -CSD /build/reproducible-path/epics-base-7.0.8.1+dfsg1/bin/linux-arm/genVersionHeader.pl   -t ../../../../.. -N EPICS_VCS_VERSION -V "" ../O.Common/epicsVCS.h
 Updating VCS header ../O.Common/epicsVCS.h
-    from: EPICS_VCS_VERSION = "2025-01-06T08:50+0000"
-    to:   EPICS_VCS_VERSION = "2025-01-06T10:16+0000"
+    from: EPICS_VCS_VERSION = "2025-01-06T10:32+0000"
+    to:   EPICS_VCS_VERSION = "2025-01-06T11:17+0000"
 /usr/bin/gcc  -D_GNU_SOURCE -D_DEFAULT_SOURCE        -DUSE_TYPED_RSET -DUSE_TYPED_DSET   -DUNIX  -Dlinux     -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O3   -Wall -Werror-implicit-function-declaration           -D_FILE_OFFSET_BITS=64  -fPIC -I. -I../O.Common -I. -I. -I.. -I../as -I../bpt -I../db -I../dbStatic -I../dbtemplate -I../misc -I../registry -I../rsrv -I../../../../../include/compiler/gcc -I../../../../../include/os/Linux -I../../../../../include         -MM -MF epicsRelease.d  ../misc/epicsRelease.c
 perl -CSD /build/reproducible-path/epics-base-7.0.8.1+dfsg1/bin/linux-arm/genVersionHeader.pl   -t ../../../../.. -N EPICS_VCS_VERSION -V "" ../O.Common/epicsVCS.h
 Keeping VCS header ../O.Common/epicsVCS.h
-    EPICS_VCS_VERSION = "2025-01-06T10:16+0000"
+    EPICS_VCS_VERSION = "2025-01-06T11:17+0000"
 /usr/bin/gcc  -D_GNU_SOURCE -D_DEFAULT_SOURCE        -DUSE_TYPED_RSET -DUSE_TYPED_DSET   -DUNIX  -Dlinux   -DBUILDING_dbCore_API  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O3   -Wall -Werror-implicit-function-declaration           -D_FILE_OFFSET_BITS=64  -fPIC -I. -I../O.Common -I. -I. -I.. -I../as -I../bpt -I../db -I../dbStatic -I../dbtemplate -I../misc -I../registry -I../rsrv -I../../../../../include/compiler/gcc -I../../../../../include/os/Linux -I../../../../../include         -c ../misc/epicsRelease.c
 /usr/bin/ar -rc    libdbCore.a    asDbLib.o asCa.o asIocRegister.o dbLock.o dbAccess.o dbBkpt.o dbChannel.o dbConstLink.o dbConvert.o dbConvertJSON.o dbDbLink.o dbFastLinkConv.o dbExtractArray.o dbJLink.o dbLink.o dbNotify.o dbScan.o dbEvent.o dbTest.o db_access.o db_test.o recGbl.o callback.o dbCa.o dbCaTest.o cvtBpt.o dbContext.o dbChannelIO.o dbSubscriptionIO.o dbPutNotifyBlocker.o dbContextReadNotifyCache.o dbIocRegister.o chfPlugin.o dbState.o dbUnitTest.o dbServer.o dbStaticLib.o dbYacc.o dbPvdLib.o dbStaticRun.o dbStaticIocRegister.o dbCompleteRecord.o dbLoadTemplate.o dbtoolsIocRegister.o epicsRelease.o iocInit.o miscIocRegister.o dlload.o iocshRegisterCommon.o registerAllRecordDeviceDrivers.o registryRecordType.o registryDeviceSupport.o registryDriverSupport.o registryJLinks.o registryFunction.o registryCommon.o registryIocRegister.o caserverio.o caservertask.o camsgtask.o camessage.o cast_server.o online_notify.o rsrvIocRegister.o 
 /usr/bin/ranlib libdbCore.a
@@ -15161,7 +15199,7 @@
 # check scanOnceCallback() callback
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # scanOnce reca
@@ -15174,7 +15212,7 @@
 1..10
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - Thread errlog is running
@@ -15185,7 +15223,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  6 - Thread errlog is running
@@ -15209,7 +15247,7 @@
 #
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Parsing ""
@@ -15311,7 +15349,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 78 - dbParseLink correctly rejected "#"
@@ -15327,7 +15365,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Trying field value ""
@@ -15411,7 +15449,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # rJSON_LINK == "{x:true}"
@@ -15492,7 +15530,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # rJSON_LINK -> "{"x":true}"
@@ -15585,7 +15623,7 @@
 ok 278 - dbReadDatabase returned error (expected)
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 279 - dbGetField("eVME_IO1.INP", 0) -> "#C0 S0 @" == "#C0 S0 @"
@@ -15606,7 +15644,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 291 - dbPutField("rINST_IO.INP", 0, ...) -> 0x200000b (Bad Field value) == 0x200000b (Bad Field value)
@@ -15629,36 +15667,36 @@
 ok 307 - numzalloc==0 (0)
 # Link parsing failures
 Warning: Registration already done.
-# Alloc jlinkz 0x104d538
-# Free jlinkz 0x104d538
-# Alloc jlinkz 0x104d578
-# Free jlinkz 0x104d578
-# Alloc jlinkz 0x104d578
-# Free jlinkz 0x104d578
-# Alloc jlinkz 0x104d578
-# Free jlinkz 0x104d578
-# Alloc jlinkz 0x104d620
-# Free jlinkz 0x104d620
-# Alloc jlinkz 0x104d6c0
-# Free jlinkz 0x104d6c0
+# Alloc jlinkz 0x1a0d578
+# Free jlinkz 0x1a0d578
+# Alloc jlinkz 0x1a0d5b8
+# Free jlinkz 0x1a0d5b8
+# Alloc jlinkz 0x1a0d5b8
+# Free jlinkz 0x1a0d5b8
+# Alloc jlinkz 0x1a0d5b8
+# Free jlinkz 0x1a0d5b8
+# Alloc jlinkz 0x1a1a000
+# Free jlinkz 0x1a1a000
+# Alloc jlinkz 0x1a1a340
+# Free jlinkz 0x1a1a340
 ok 308 - numzalloc==0 (0)
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
-# Alloc jlinkz 0x104d720
-# Alloc jlinkz 0x105be30
-# Alloc jlinkz 0x1046838
-# Alloc jlinkz 0x1046878
-# Alloc jlinkz 0x10468b8
-# Alloc jlinkz 0x10468f8
-# Open jlinkz 0x104d720
-# Open jlinkz 0x105be30
-# Open jlinkz 0x1046838
-# Open jlinkz 0x1046878
-# Open jlinkz 0x10468b8
-# Open jlinkz 0x10468f8
+# Alloc jlinkz 0x1a0dea8
+# Alloc jlinkz 0x1a0dee8
+# Alloc jlinkz 0x1a0df28
+# Alloc jlinkz 0x1a0df68
+# Alloc jlinkz 0x1a0dfa8
+# Alloc jlinkz 0x1a0dfe8
+# Open jlinkz 0x1a0dea8
+# Open jlinkz 0x1a0dee8
+# Open jlinkz 0x1a0df28
+# Open jlinkz 0x1a0df68
+# Open jlinkz 0x1a0dfa8
+# Open jlinkz 0x1a0dfe8
 ok 309 - numzalloc==6 (6)
 ok 310 - dbPutField("j1.PROC", 5, ...) -> 0 (Ok)
 ok 311 - dbPutField("j2.PROC", 5, ...) -> 0 (Ok)
@@ -15670,74 +15708,74 @@
 ok 317 - dbGetField("j2.TSEL", 0) -> "j1.TIME NPP NMS" == "j1.TIME NPP NMS"
 ok 318 - dbGetField("j3.VAL", 5) -> 3 == 3
 ok 319 - numzalloc==6 (6)
-# Alloc jlinkz 0x10559b0
-# Remove/free jlinkz 0x1046878
-# Open jlinkz 0x10559b0
+# Alloc jlinkz 0x1a18af0
+# Remove/free jlinkz 0x1a0df68
+# Open jlinkz 0x1a18af0
 ok 320 - dbPutField("j1.INP", 0, ...) -> 0 (Ok)
 ok 321 - dbPutField("j1.PROC", 5, ...) -> 0 (Ok)
 ok 322 - dbGetField("j1.VAL", 5) -> 4 == 4
-# Alloc jlinkz 0x1049ec8
-# Open jlinkz 0x1049ec8
+# Alloc jlinkz 0x1a28948
+# Open jlinkz 0x1a28948
 ok 323 - dbPutField("j2.TSEL", 0, ...) -> 0 (Ok)
 ok 324 - dbPutField("j2.PROC", 5, ...) -> 0 (Ok)
 ok 325 - numzalloc==7 (7)
-# Alloc jlinkz 0x1049f20
-# Found fail key jlinkz 0x1049f20
-# Free jlinkz 0x1049f20
+# Alloc jlinkz 0x1a20030
+# Found fail key jlinkz 0x1a20030
+# Free jlinkz 0x1a20030
 ok 326 - dbPutField("j1.INP", 0, ...) -> 0x200000b (Bad Field value) == 0x200000b (Bad Field value)
-# Alloc jlinkz 0x1049f20
-# Free jlinkz 0x1049f20
+# Alloc jlinkz 0x1a20030
+# Free jlinkz 0x1a20030
 ok 327 - dbPutField("j1.INP", 0, ...) -> 0x200000b (Bad Field value) == 0x200000b (Bad Field value)
 ok 328 - dbPutField("j1.PROC", 5, ...) -> 0 (Ok)
 ok 329 - dbGetField("j1.VAL", 5) -> 4 == 4
 ok 330 - dbGetField("j1.INP", 0) -> "{"z":{"good":4}}" == "{"z":{"good":4}}"
 ok 331 - numzalloc==7 (7)
-# Alloc jlinkz 0x1049f20
-# Remove/free jlinkz 0x105be30
-# Open jlinkz 0x1049f20
+# Alloc jlinkz 0x1a20030
+# Remove/free jlinkz 0x1a0dee8
+# Open jlinkz 0x1a20030
 ok 332 - dbPutField("j1.SDIS", 0, ...) -> 0 (Ok)
-# Alloc jlinkz 0x105be30
-# Remove/free jlinkz 0x10559b0
-# Open jlinkz 0x105be30
+# Alloc jlinkz 0x1a0dee8
+# Remove/free jlinkz 0x1a18af0
+# Open jlinkz 0x1a0dee8
 ok 333 - dbPutField("j1.INP", 0, ...) -> 0 (Ok)
 ok 334 - dbPutField("j1.PROC", 5, ...) -> 0 (Ok)
 ok 335 - dbGetField("j1.VAL", 5) -> 4 == 4
-# Remove/free jlinkz 0x104d720
-# Remove/free jlinkz 0x1049f20
-# Remove/free jlinkz 0x1046838
-# Remove/free jlinkz 0x105be30
-# Remove/free jlinkz 0x1049ec8
-# Remove/free jlinkz 0x10468b8
-# Remove/free jlinkz 0x10468f8
+# Remove/free jlinkz 0x1a0dea8
+# Remove/free jlinkz 0x1a20030
+# Remove/free jlinkz 0x1a0df28
+# Remove/free jlinkz 0x1a0dee8
+# Remove/free jlinkz 0x1a28948
+# Remove/free jlinkz 0x1a0dfa8
+# Remove/free jlinkz 0x1a0dfe8
 ok 336 - numzalloc==0 (0)
 # Test TSEL link to .TIME
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 337 - dbPutField("time:one.PROC", 5, ...) -> 0 (Ok)
 ok 338 - dbPutField("time:two.PROC", 5, ...) -> 0 (Ok)
 # Check initially connected TSEL link
-ok 339 - first 1105006638:465863617 == 1105006638:465863617
+ok 339 - first 1105010268:367740891 == 1105010268:367740891
 ok 340 - rec[1]->tsel.flags & DBLINK_FLAG_TSELisTIME
 ok 341 - dbPutField("time:two.TSEL", 0, ...) -> 0 (Ok)
 ok 342 - dbPutField("time:two.PROC", 5, ...) -> 0 (Ok)
 # Check no TSEL link
-ok 343 - second 1105006638:465863617 == 1105006638:467090371
+ok 343 - second 1105010268:367740891 == 1105010268:368933159
 ok 344 - !(rec[1]->tsel.flags & DBLINK_FLAG_TSELisTIME)
 ok 345 - dbPutField("time:two.TSEL", 0, ...) -> 0 (Ok)
 ok 346 - dbPutField("time:two.PROC", 5, ...) -> 0 (Ok)
 # Check re-connected TSEL link
-ok 347 - third 1105006638:465863617 == 1105006638:465863617
+ok 347 - third 1105010268:367740891 == 1105010268:367740891
 ok 348 - rec[1]->tsel.flags & DBLINK_FLAG_TSELisTIME
 ok
 dbLockTest.t ............... 
 1..88
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Check that all records have initialized lockRecord and lockSet
@@ -15778,7 +15816,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 33 - prec->lset->plockSet->refcount==1
@@ -15788,7 +15826,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Test init refcounts
@@ -15822,7 +15860,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 58 - precB->lset->plockSet==precC->lset->plockSet
@@ -15835,14 +15873,14 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
-ok 64 - precA->lset->plockSet (0x16c09c8) != precG->lset->plockSet (0x16c3e90)
+ok 64 - precA->lset->plockSet (0x13d7de8) != precG->lset->plockSet (0x13d2a78)
 ok 65 - precA->lset->plockSet->refcount (2) == 2 (2)
 ok 66 - precG->lset->plockSet->refcount (2) == 2 (2)
 ok 67 - dbPutField("reca.SDIS", 0, ...) -> 0 (Ok)
-ok 68 - precA->lset->plockSet (0x16c09c8) == precG->lset->plockSet (0x16c09c8)
+ok 68 - precA->lset->plockSet (0x13d7de8) == precG->lset->plockSet (0x13d7de8)
 ok 69 - precA->lset->plockSet->refcount (3) == 3 (3)
 ok 70 - lA->refcount (3) == 3 (3)
 ok 71 - lG->refcount (1) == 1 (1)
@@ -15850,18 +15888,18 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
-ok 72 - lB (0x16d32c0) == precC->lset->plockSet (0x16d32c0)
-ok 73 - lB (0x16d32c0) != lG (0x16c50e8)
+ok 72 - lB (0x13f1760) == precC->lset->plockSet (0x13f1760)
+ok 73 - lB (0x13f1760) != lG (0x13e2c68)
 ok 74 - lB->refcount (3) == 3 (3)
 ok 75 - lG->refcount (2) == 2 (2)
 ok 76 - dbPutField("recb.SDIS", 0, ...) -> 0 (Ok)
-ok 77 - precB->lset->plockSet (0x16d32c0) == lB (0x16d32c0)
-ok 78 - precG->lset->plockSet (0x16d32c0) == lB (0x16d32c0)
-ok 79 - precC->lset->plockSet (0x16d3360) != lB (0x16d32c0)
-ok 80 - precC->lset->plockSet (0x16d3360) != lG (0x16c50e8)
+ok 77 - precB->lset->plockSet (0x13f1760) == lB (0x13f1760)
+ok 78 - precG->lset->plockSet (0x13f1760) == lB (0x13f1760)
+ok 79 - precC->lset->plockSet (0x13f1800) != lB (0x13f1760)
+ok 80 - precC->lset->plockSet (0x13f1800) != lG (0x13e2c68)
 ok 81 - lB->refcount (3) == 3 (3)
 ok 82 - lG->refcount (1) == 1 (1)
 ok 83 - precC->lset->plockSet->refcount (1) == 1 (1)
@@ -15869,7 +15907,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 84 - precB->lset->plockSet==precC->lset->plockSet
@@ -15883,142 +15921,142 @@
 # lock set stress test
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Running with 5 workers and 40 records
-# worker 0 is 0x22109f0
-# worker 1 is 0x2210b58
-# worker 2 is 0x2210cc0
-# worker 3 is 0x2210e28
+# worker 0 is 0x2402a20
+# worker 1 is 0x2402b88
+# worker 2 is 0x2402cf0
 # All started.  Will run for 18.000000 sec
-# worker 4 is 0x2210f90
+# worker 3 is 0x2402e58
+# worker 4 is 0x2403c48
 # Stopping
 # All stopped
 # Validate lockSet ref counts
-ok  1 - rec01 only lockRecords hold refs. 37 == 37
+ok  1 - rec01 only lockRecords hold refs. 39 == 39
 ok  2 - ls->ownerlocker==NULL
-ok  3 - rec02 only lockRecords hold refs. 37 == 37
+ok  3 - rec02 only lockRecords hold refs. 39 == 39
 ok  4 - ls->ownerlocker==NULL
-ok  5 - rec03 only lockRecords hold refs. 37 == 37
+ok  5 - rec03 only lockRecords hold refs. 39 == 39
 ok  6 - ls->ownerlocker==NULL
-ok  7 - rec04 only lockRecords hold refs. 37 == 37
+ok  7 - rec04 only lockRecords hold refs. 39 == 39
 ok  8 - ls->ownerlocker==NULL
-ok  9 - rec05 only lockRecords hold refs. 37 == 37
+ok  9 - rec05 only lockRecords hold refs. 39 == 39
 ok 10 - ls->ownerlocker==NULL
-ok 11 - rec06 only lockRecords hold refs. 37 == 37
+ok 11 - rec06 only lockRecords hold refs. 39 == 39
 ok 12 - ls->ownerlocker==NULL
-ok 13 - rec07 only lockRecords hold refs. 37 == 37
+ok 13 - rec07 only lockRecords hold refs. 39 == 39
 ok 14 - ls->ownerlocker==NULL
-ok 15 - rec08 only lockRecords hold refs. 37 == 37
+ok 15 - rec08 only lockRecords hold refs. 39 == 39
 ok 16 - ls->ownerlocker==NULL
-ok 17 - rec09 only lockRecords hold refs. 37 == 37
+ok 17 - rec09 only lockRecords hold refs. 39 == 39
 ok 18 - ls->ownerlocker==NULL
-ok 19 - rec10 only lockRecords hold refs. 37 == 37
+ok 19 - rec10 only lockRecords hold refs. 39 == 39
 ok 20 - ls->ownerlocker==NULL
-ok 21 - rec11 only lockRecords hold refs. 37 == 37
+ok 21 - rec11 only lockRecords hold refs. 39 == 39
 ok 22 - ls->ownerlocker==NULL
-ok 23 - rec12 only lockRecords hold refs. 37 == 37
+ok 23 - rec12 only lockRecords hold refs. 39 == 39
 ok 24 - ls->ownerlocker==NULL
-ok 25 - rec13 only lockRecords hold refs. 37 == 37
+ok 25 - rec13 only lockRecords hold refs. 39 == 39
 ok 26 - ls->ownerlocker==NULL
-ok 27 - rec14 only lockRecords hold refs. 2 == 2
+ok 27 - rec14 only lockRecords hold refs. 39 == 39
 ok 28 - ls->ownerlocker==NULL
-ok 29 - rec15 only lockRecords hold refs. 37 == 37
+ok 29 - rec15 only lockRecords hold refs. 39 == 39
 ok 30 - ls->ownerlocker==NULL
-ok 31 - rec16 only lockRecords hold refs. 37 == 37
+ok 31 - rec16 only lockRecords hold refs. 39 == 39
 ok 32 - ls->ownerlocker==NULL
-ok 33 - rec17 only lockRecords hold refs. 37 == 37
+ok 33 - rec17 only lockRecords hold refs. 39 == 39
 ok 34 - ls->ownerlocker==NULL
-ok 35 - rec18 only lockRecords hold refs. 37 == 37
+ok 35 - rec18 only lockRecords hold refs. 39 == 39
 ok 36 - ls->ownerlocker==NULL
-ok 37 - rec19 only lockRecords hold refs. 37 == 37
+ok 37 - rec19 only lockRecords hold refs. 39 == 39
 ok 38 - ls->ownerlocker==NULL
-ok 39 - rec20 only lockRecords hold refs. 37 == 37
+ok 39 - rec20 only lockRecords hold refs. 39 == 39
 ok 40 - ls->ownerlocker==NULL
-ok 41 - rec21 only lockRecords hold refs. 37 == 37
+ok 41 - rec21 only lockRecords hold refs. 39 == 39
 ok 42 - ls->ownerlocker==NULL
-ok 43 - rec22 only lockRecords hold refs. 37 == 37
+ok 43 - rec22 only lockRecords hold refs. 39 == 39
 ok 44 - ls->ownerlocker==NULL
-ok 45 - rec23 only lockRecords hold refs. 37 == 37
+ok 45 - rec23 only lockRecords hold refs. 39 == 39
 ok 46 - ls->ownerlocker==NULL
-ok 47 - rec24 only lockRecords hold refs. 37 == 37
+ok 47 - rec24 only lockRecords hold refs. 39 == 39
 ok 48 - ls->ownerlocker==NULL
-ok 49 - rec25 only lockRecords hold refs. 37 == 37
+ok 49 - rec25 only lockRecords hold refs. 39 == 39
 ok 50 - ls->ownerlocker==NULL
-ok 51 - rec26 only lockRecords hold refs. 37 == 37
+ok 51 - rec26 only lockRecords hold refs. 39 == 39
 ok 52 - ls->ownerlocker==NULL
-ok 53 - rec27 only lockRecords hold refs. 37 == 37
+ok 53 - rec27 only lockRecords hold refs. 39 == 39
 ok 54 - ls->ownerlocker==NULL
-ok 55 - rec28 only lockRecords hold refs. 37 == 37
+ok 55 - rec28 only lockRecords hold refs. 39 == 39
 ok 56 - ls->ownerlocker==NULL
-ok 57 - rec29 only lockRecords hold refs. 37 == 37
+ok 57 - rec29 only lockRecords hold refs. 39 == 39
 ok 58 - ls->ownerlocker==NULL
-ok 59 - rec30 only lockRecords hold refs. 37 == 37
+ok 59 - rec30 only lockRecords hold refs. 39 == 39
 ok 60 - ls->ownerlocker==NULL
-ok 61 - rec31 only lockRecords hold refs. 37 == 37
+ok 61 - rec31 only lockRecords hold refs. 39 == 39
 ok 62 - ls->ownerlocker==NULL
-ok 63 - rec32 only lockRecords hold refs. 37 == 37
+ok 63 - rec32 only lockRecords hold refs. 39 == 39
 ok 64 - ls->ownerlocker==NULL
-ok 65 - rec33 only lockRecords hold refs. 37 == 37
+ok 65 - rec33 only lockRecords hold refs. 39 == 39
 ok 66 - ls->ownerlocker==NULL
-ok 67 - rec34 only lockRecords hold refs. 37 == 37
+ok 67 - rec34 only lockRecords hold refs. 39 == 39
 ok 68 - ls->ownerlocker==NULL
-ok 69 - rec35 only lockRecords hold refs. 37 == 37
+ok 69 - rec35 only lockRecords hold refs. 39 == 39
 ok 70 - ls->ownerlocker==NULL
-ok 71 - rec36 only lockRecords hold refs. 2 == 2
+ok 71 - rec36 only lockRecords hold refs. 39 == 39
 ok 72 - ls->ownerlocker==NULL
-ok 73 - rec37 only lockRecords hold refs. 37 == 37
+ok 73 - rec37 only lockRecords hold refs. 39 == 39
 ok 74 - ls->ownerlocker==NULL
-ok 75 - rec38 only lockRecords hold refs. 37 == 37
+ok 75 - rec38 only lockRecords hold refs. 39 == 39
 ok 76 - ls->ownerlocker==NULL
-ok 77 - rec39 only lockRecords hold refs. 37 == 37
+ok 77 - rec39 only lockRecords hold refs. 39 == 39
 ok 78 - ls->ownerlocker==NULL
 ok 79 - rec40 only lockRecords hold refs. 1 == 1
 ok 80 - ls->ownerlocker==NULL
 # Statistics
 # Worker 0
-# N = 11413	11195	11808
-# AVG = 331.47 us	733.226 us	503.72 us
-# STD = 410.288 us	832.28 us	547.575 us
-# MIN = 0 us	0 us	10.208 us
-# MAX = 3533.05 us	9965.11 us	5935.27 us
+# N = 140783	140021	145008
+# AVG = 16.4677 us	51.4194 us	56.5177 us
+# STD = 234.106 us	469.127 us	342.073 us
+# MIN = 0.599 us	0 us	0 us
+# MAX = 15819.7 us	20751.1 us	24173.3 us
 ok 81 - priv[i].N[0]>0
 ok 82 - priv[i].N[1]>0
 ok 83 - priv[i].N[2]>0
 # Worker 1
-# N = 11279	11264	11528
-# AVG = 341.299 us	740.289 us	499.091 us
-# STD = 415.892 us	850.484 us	535.336 us
-# MIN = 1.458 us	0 us	0 us
-# MAX = 3051.8 us	10079.7 us	5862.81 us
+# N = 143948	143960	148658
+# AVG = 15.8659 us	50.2012 us	55.1387 us
+# STD = 238.444 us	465.78 us	328.64 us
+# MIN = 0.599 us	0 us	0 us
+# MAX = 16096.6 us	20041.3 us	15588.2 us
 ok 84 - priv[i].N[0]>0
 ok 85 - priv[i].N[1]>0
 ok 86 - priv[i].N[2]>0
 # Worker 2
-# N = 11269	11234	11526
-# AVG = 332.735 us	738.582 us	511.347 us
-# STD = 416.227 us	840.375 us	543.93 us
-# MIN = 0 us	0 us	10.208 us
-# MAX = 3330.26 us	13509.7 us	6540.27 us
+# N = 137591	137475	141257
+# AVG = 17.8195 us	53.0111 us	56.7233 us
+# STD = 249.837 us	500.874 us	346.898 us
+# MIN = 0 us	0 us	3.94 us
+# MAX = 11979.3 us	24180.4 us	19118.5 us
 ok 87 - priv[i].N[0]>0
 ok 88 - priv[i].N[1]>0
 ok 89 - priv[i].N[2]>0
 # Worker 3
-# N = 11434	11407	11915
-# AVG = 325.544 us	721.952 us	502.046 us
-# STD = 416.581 us	843.944 us	544.649 us
-# MIN = 0 us	3.208 us	0 us
-# MAX = 3941.51 us	9108.99 us	6062.85 us
+# N = 132833	133372	137353
+# AVG = 17.4076 us	55.6218 us	58.0465 us
+# STD = 251.46 us	507.926 us	354.845 us
+# MIN = 0.599 us	0 us	0 us
+# MAX = 15427.2 us	27532.2 us	27823.3 us
 ok 90 - priv[i].N[0]>0
 ok 91 - priv[i].N[1]>0
 ok 92 - priv[i].N[2]>0
 # Worker 4
-# N = 11217	11261	11573
-# AVG = 332.986 us	729.944 us	517.249 us
-# STD = 410 us	845.649 us	557.167 us
-# MIN = 0 us	3.5 us	0 us
-# MAX = 3266.84 us	10660.7 us	5623.94 us
+# N = 139009	139285	143346
+# AVG = 16.6178 us	51.0319 us	57.7925 us
+# STD = 230.891 us	469.347 us	374.215 us
+# MIN = 0 us	1.44 us	0 us
+# MAX = 15742.8 us	16525.9 us	38029.2 us
 ok 93 - priv[i].N[0]>0
 ok 94 - priv[i].N[1]>0
 ok 95 - priv[i].N[2]>0
@@ -16057,28 +16095,28 @@
 # Waiting 15.00 sec
 ok  2 - 0 faults during callback setup
 # Setup time statistics
-# Priority  LOW  min/avg/max/sigma = 0.000282 / 0.011707 / 0.020301 / 0.006221
-# Priority  MID  min/avg/max/sigma = 0.000275 / 0.011493 / 0.020151 / 0.006242
-# Priority HIGH  min/avg/max/sigma = 0.000275 / 0.011377 / 0.020081 / 0.006227
+# Priority  LOW  min/avg/max/sigma = 0.001000 / 0.001130 / 0.001202 / 0.000046
+# Priority  MID  min/avg/max/sigma = 0.000117 / 0.000197 / 0.000253 / 0.000036
+# Priority HIGH  min/avg/max/sigma = 0.000269 / 0.000332 / 0.000390 / 0.000036
 # Delay time statistics
-# Priority  LOW  min/avg/max/sigma = -0.004718 / -0.004001 / 0.020093 / 0.003236
-# Priority  MID  min/avg/max/sigma = -0.004727 / -0.004043 / 0.020075 / 0.003268
-# Priority HIGH  min/avg/max/sigma = -0.004583 / -0.003942 / 0.020001 / 0.003242
+# Priority  LOW  min/avg/max/sigma = -0.004901 / -0.004672 / 0.000204 / 0.000768
+# Priority  MID  min/avg/max/sigma = -0.004873 / -0.004510 / 0.000316 / 0.000901
+# Priority HIGH  min/avg/max/sigma = -0.004940 / -0.004608 / 0.000159 / 0.000888
 ok
 callbackParallelTest.t ..... 
 1..2
-# Starting 6 parallel callback threads
+# Starting 4 parallel callback threads
 ok  1 - Time-of-day clock Ok
 # Waiting 15.00 sec
 ok  2 - 0 faults during callback setup
 # Setup time statistics
-# Priority  LOW  min/avg/max/sigma = 0.000242 / 0.007856 / 0.021808 / 0.007406
-# Priority  MID  min/avg/max/sigma = 0.000327 / 0.012669 / 0.025290 / 0.008465
-# Priority HIGH  min/avg/max/sigma = 0.000308 / 0.012943 / 0.025584 / 0.008495
+# Priority  LOW  min/avg/max/sigma = 0.000835 / 0.000941 / 0.001010 / 0.000049
+# Priority  MID  min/avg/max/sigma = 0.000158 / 0.000240 / 0.000304 / 0.000040
+# Priority HIGH  min/avg/max/sigma = 0.000333 / 0.000401 / 0.000458 / 0.000036
 # Delay time statistics
-# Priority  LOW  min/avg/max/sigma = -0.004520 / -0.003847 / 0.022492 / 0.003647
-# Priority  MID  min/avg/max/sigma = -0.004754 / -0.003843 / 0.025526 / 0.004079
-# Priority HIGH  min/avg/max/sigma = -0.004782 / -0.003884 / 0.025414 / 0.004073
+# Priority  LOW  min/avg/max/sigma = -0.004893 / -0.004559 / 0.000223 / 0.000936
+# Priority  MID  min/avg/max/sigma = -0.004813 / -0.004491 / 0.000373 / 0.000898
+# Priority HIGH  min/avg/max/sigma = -0.004931 / -0.004615 / 0.000187 / 0.000886
 ok
 dbStateTest.t .............. 
 1..20
@@ -16153,7 +16191,7 @@
 # Check dbcaStats
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # No CA links
@@ -16169,7 +16207,7 @@
 # Link to a scalar numeric field
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbLockGetLockId((dbCommon*)psrc)!=dbLockGetLockId((dbCommon*)ptarg)
@@ -16181,7 +16219,7 @@
 ok  7 - temp (42) == 42 (42)
 ok  8 - putLink ok
 ok  9 - ptarg->val==1010
-# val1 = 1010, val2 = 5
+# val1 = 42, val2 = 5
 ok 10 - unlocked, getTwice returned -1 (-1)
 # val1 = 5, val2 = 5
 ok 11 - locked, getTwice returned 0 (0)
@@ -16189,7 +16227,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 12 - dbLockGetLockId((dbCommon*)psrc)!=dbLockGetLockId((dbCommon*)ptarg)
@@ -16203,7 +16241,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 19 - waitCounter (1) == 1 (1)
@@ -16213,7 +16251,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # fetch source.INP into source.BPTR
@@ -16234,7 +16272,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # fetch source.INP into source.BPTR
@@ -16255,7 +16293,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # fetch source.INP into source.BPTR
@@ -16276,7 +16314,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # fetch source.INP into source.BPTR
@@ -16296,7 +16334,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 65 - dbGetLink() succeeds
@@ -16315,7 +16353,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 73 - ca_create_channel("target1", NULL, NULL, 0, &chanid)
@@ -16364,7 +16402,7 @@
 1..18
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # checkTime()
@@ -16393,7 +16431,7 @@
 # Test single-threaded I/O Intr scanning
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Scan first list
@@ -16403,10 +16441,10 @@
 ok  2 - td->hasprocd[prio]==1
 ok  3 - td->getcomplete[prio]==0
 ok  4 - td->hasprocd[prio]==0
-ok  5 - td->hasprocd[prio]==0
-ok  6 - td->hasprocd[prio]==1
-ok  7 - td->hasprocd[prio]==1
-ok  8 - td->getcomplete[prio]==0
+ok  5 - td->hasprocd[prio]==1
+ok  6 - td->getcomplete[prio]==0
+ok  7 - td->hasprocd[prio]==0
+ok  8 - td->hasprocd[prio]==1
 ok  9 - td->getcomplete[prio]==0
 # Wait one more second
 ok 10 - data[0].hasprocd[0]==1
@@ -16423,13 +16461,13 @@
 ok 21 - data[1].getcomplete[2]==0
 # Release the first scan and wait for the second
 ok 22 - td->hasprocd[prio]==0
-ok 23 - td->hasprocd[prio]==0
-ok 24 - td->hasprocd[prio]==0
-ok 25 - td->hasprocd[prio]==1
+ok 23 - td->hasprocd[prio]==1
+ok 24 - td->getcomplete[prio]==0
+ok 25 - td->hasprocd[prio]==0
 ok 26 - td->hasprocd[prio]==1
-ok 27 - td->hasprocd[prio]==1
-ok 28 - td->getcomplete[prio]==0
-ok 29 - td->getcomplete[prio]==0
+ok 27 - td->getcomplete[prio]==0
+ok 28 - td->hasprocd[prio]==0
+ok 29 - td->hasprocd[prio]==1
 ok 30 - td->getcomplete[prio]==0
 ok 31 - data[0].hasprocd[0]==1
 ok 32 - data[0].hasprocd[1]==1
@@ -16449,20 +16487,20 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Scan first list
 # Scan second list
 # Wait for first list to complete
 ok 43 - td->hasprocd[prio]==0
-ok 44 - td->hasprocd[prio]==0
-ok 45 - td->hasprocd[prio]==0
-ok 46 - td->hasprocd[prio]==1
+ok 44 - td->hasprocd[prio]==1
+ok 45 - td->getcomplete[prio]==0
+ok 46 - td->hasprocd[prio]==0
 ok 47 - td->hasprocd[prio]==1
-ok 48 - td->hasprocd[prio]==1
-ok 49 - td->getcomplete[prio]==0
-ok 50 - td->getcomplete[prio]==0
+ok 48 - td->getcomplete[prio]==0
+ok 49 - td->hasprocd[prio]==0
+ok 50 - td->hasprocd[prio]==1
 ok 51 - td->getcomplete[prio]==0
 # Wait one more second
 ok 52 - data[0].hasprocd[0]==1
@@ -16479,13 +16517,13 @@
 ok 63 - data[1].getcomplete[2]==0
 # Release the first scan and wait for the second
 ok 64 - td->hasprocd[prio]==0
-ok 65 - td->hasprocd[prio]==0
-ok 66 - td->hasprocd[prio]==0
-ok 67 - td->hasprocd[prio]==1
+ok 65 - td->hasprocd[prio]==1
+ok 66 - td->getcomplete[prio]==0
+ok 67 - td->hasprocd[prio]==0
 ok 68 - td->hasprocd[prio]==1
-ok 69 - td->hasprocd[prio]==1
-ok 70 - td->getcomplete[prio]==0
-ok 71 - td->getcomplete[prio]==0
+ok 69 - td->getcomplete[prio]==0
+ok 70 - td->hasprocd[prio]==0
+ok 71 - td->hasprocd[prio]==1
 ok 72 - td->getcomplete[prio]==0
 ok 73 - data[0].hasprocd[0]==1
 ok 74 - data[0].hasprocd[1]==1
@@ -16504,7 +16542,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Scan first list
@@ -16532,11 +16570,11 @@
 ok 103 - data[5].hasprocd==1 (1)
 ok 104 - data[5].getcomplete==0 (0)
 # Release all and complete
-ok 105 - (0x0)&(0x1)==0
-ok 106 - (0x0)&(0x2)==0
-ok 107 - (0x1)&(0x2)==0
-ok 108 - (0x1)&(0x4)==0
-ok 109 - (0x2)&(0x4)==0
+ok 105 - (0x0)&(0x4)==0
+ok 106 - (0x0)&(0x4)==0
+ok 107 - (0x4)&(0x2)==0
+ok 108 - (0x4)&(0x2)==0
+ok 109 - (0x6)&(0x1)==0
 ok 110 - (0x6)&(0x1)==0
 ok 111 - data[0].getcomplete==0 (1)
 ok 112 - data[1].getcomplete==0 (1)
@@ -16551,7 +16589,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Scan first list
@@ -16579,12 +16617,12 @@
 ok 137 - data[5].hasprocd==1 (1)
 ok 138 - data[5].getcomplete==0 (0)
 # Release all and complete
-ok 139 - (0x0)&(0x2)==0
+ok 139 - (0x0)&(0x1)==0
 ok 140 - (0x0)&(0x4)==0
-ok 141 - (0x2)&(0x4)==0
-ok 142 - (0x2)&(0x1)==0
-ok 143 - (0x4)&(0x2)==0
-ok 144 - (0x4)&(0x1)==0
+ok 141 - (0x1)&(0x4)==0
+ok 142 - (0x4)&(0x2)==0
+ok 143 - (0x5)&(0x2)==0
+ok 144 - (0x6)&(0x1)==0
 ok 145 - data[0].getcomplete==0 (1)
 ok 146 - data[1].getcomplete==0 (1)
 ok 147 - data[2].getcomplete==0 (1)
@@ -16599,7 +16637,7 @@
 1..76
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - !dbChannelTest("x.NAME")
@@ -16689,7 +16727,7 @@
 1..102
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ------------------------------------------------------------------------------
@@ -18488,7 +18526,7 @@
 ok  1 - register fake arr plugin
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # no parameters []
@@ -18699,7 +18737,7 @@
 ok 42 - dbGetString("recmax.DISA") -> "-1" == "-1"
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # dbGet directly from record
@@ -18808,7 +18846,7 @@
 ok  2 - Wrong alias record in dbStaticTestAlias2.db is expected to fail
 # testEntry("testrec.VAL")
 ok  3 - dbFindRecord(&entry, pv)==0
-# precordType=0xe70888 precnode=0xe671d8
+# precordType=0x11278c8 precnode=0x111e238
 ok  4 - Record type is 'x' ('x')
 ok  5 - Record name is 'testrec' ('testrec')
 ok  6 - Field name is 'VAL' ('VAL')
@@ -18817,7 +18855,7 @@
 ok  9 - Info item is set
 # testEntry("testalias.VAL")
 ok 10 - dbFindRecord(&entry, pv)==0
-# precordType=0xe70888 precnode=0xe672b8
+# precordType=0x11278c8 precnode=0x111e318
 ok 11 - Record type is 'x' ('x')
 ok 12 - Record name is 'testrec' ('testrec')
 ok 13 - Field name is 'VAL' ('VAL')
@@ -18826,7 +18864,7 @@
 ok 16 - Info item is set
 # testEntry("testalias2.VAL")
 ok 17 - dbFindRecord(&entry, pv)==0
-# precordType=0xe70888 precnode=0xe6cca8
+# precordType=0x11278c8 precnode=0x1123d00
 ok 18 - Record type is 'x' ('x')
 ok 19 - Record name is 'testrec' ('testrec')
 ok 20 - Field name is 'VAL' ('VAL')
@@ -18835,7 +18873,7 @@
 ok 23 - Info item is set
 # testEntry("testalias3.VAL")
 ok 24 - dbFindRecord(&entry, pv)==0
-# precordType=0xe70888 precnode=0xe6cd40
+# precordType=0x11278c8 precnode=0x1123d98
 ok 25 - Record type is 'x' ('x')
 ok 26 - Record name is 'testrec' ('testrec')
 ok 27 - Field name is 'VAL' ('VAL')
@@ -18924,12 +18962,12 @@
 ok 102 - dbEntries identical
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # testEntry("testrec.VAL")
 ok 103 - dbFindRecord(&entry, pv)==0
-# precordType=0xe70888 precnode=0xe671d8
+# precordType=0x11278c8 precnode=0x111e238
 ok 104 - Record type is 'x' ('x')
 ok 105 - Record name is 'testrec' ('testrec')
 ok 106 - Field name is 'VAL' ('VAL')
@@ -18938,7 +18976,7 @@
 ok 109 - Info item is set
 # testEntry("testalias.VAL")
 ok 110 - dbFindRecord(&entry, pv)==0
-# precordType=0xe70888 precnode=0xe672b8
+# precordType=0x11278c8 precnode=0x111e318
 ok 111 - Record type is 'x' ('x')
 ok 112 - Record name is 'testrec' ('testrec')
 ok 113 - Field name is 'VAL' ('VAL')
@@ -18947,7 +18985,7 @@
 ok 116 - Info item is set
 # testEntry("testalias2.VAL")
 ok 117 - dbFindRecord(&entry, pv)==0
-# precordType=0xe70888 precnode=0xe6cca8
+# precordType=0x11278c8 precnode=0x1123d00
 ok 118 - Record type is 'x' ('x')
 ok 119 - Record name is 'testrec' ('testrec')
 ok 120 - Field name is 'VAL' ('VAL')
@@ -18956,7 +18994,7 @@
 ok 123 - Info item is set
 # testEntry("testalias3.VAL")
 ok 124 - dbFindRecord(&entry, pv)==0
-# precordType=0xe70888 precnode=0xe6cd40
+# precordType=0x11278c8 precnode=0x1123d98
 ok 125 - Record type is 'x' ('x')
 ok 126 - Record name is 'testrec' ('testrec')
 ok 127 - Field name is 'VAL' ('VAL')
@@ -19156,7 +19194,7 @@
 ok 312 - dbVerify('testrec.FLNK', 'Anything works here!') => 'OK'
 ok
 All tests successful.
-Files=21, Tests=3071, 81 wallclock secs ( 1.30 usr  0.14 sys + 10.20 cusr  9.34 csys = 20.98 CPU)
+Files=21, Tests=3071, 78 wallclock secs ( 0.65 usr  0.06 sys + 20.21 cusr  8.64 csys = 29.56 CPU)
 Result: PASS
 -------------------
 
@@ -19175,8 +19213,8 @@
 msi.t .. 
 1..12
 # Running under perl version 5.040000 for linux
-# Current time local: Mon Jan  6 10:18:33 2025
-# Current time GMT:   Mon Jan  6 10:18:33 2025
+# Current time local: Mon Jan  6 11:19:00 2025
+# Current time GMT:   Mon Jan  6 11:19:00 2025
 # Using Test.pm version 1.31
 ok 1
 ok 2
@@ -19192,7 +19230,7 @@
 ok 12
 ok
 All tests successful.
-Files=1, Tests=12,  1 wallclock secs ( 0.14 usr  0.02 sys +  0.18 cusr  0.20 csys =  0.54 CPU)
+Files=1, Tests=12,  1 wallclock secs ( 0.07 usr  0.01 sys +  0.10 cusr  0.08 csys =  0.26 CPU)
 Result: PASS
 -------------------
 
@@ -19258,7 +19296,7 @@
 1..21
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Test dbGet() and dbPut() from/to an array
@@ -19301,7 +19339,7 @@
 ok  5 - 1311768467750121216 "1311768467750121216"
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # In testint64AfterInit
@@ -19317,7 +19355,7 @@
 1..18
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # In testRetarget
@@ -19346,7 +19384,7 @@
 # testLongStringInit
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbGetDevLink((dbCommon*)rec) == &rec->inp
@@ -19361,7 +19399,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  9 - dbGetField("emptylink.VAL", 10) -> 0.000000e+00 == 0.000000e+00
@@ -19378,7 +19416,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 19 - dbPutField("printf1.FMT", 0, ...) -> 0 (Ok)
@@ -19399,7 +19437,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 33 - dbGetField("aai1.NORD", 5) -> 10 == 10
@@ -19436,7 +19474,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 62 - dbGetField("ev1.VAL", 0) -> "soft event 1" == "soft event 1"
@@ -19456,7 +19494,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 75 - dbGetField("i1.VAL", 7) -> 1234567890123456789 == 1234567890123456789
@@ -19470,7 +19508,7 @@
 # Test FIFO
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - crec->off==0
@@ -19540,7 +19578,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 57 - crec->off==0
@@ -19615,7 +19653,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 117 - dbGet("comp") matches
@@ -19623,7 +19661,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Test incomplete input data
@@ -19637,7 +19675,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 122 - dbGet("comp") matches
@@ -19645,7 +19683,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Test incomplete input data
@@ -19656,7 +19694,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 125 - dbGet("comp") matches
@@ -19664,7 +19702,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 126 - buf (1.000000) ~= expected[i] (1.000000)
@@ -19676,7 +19714,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Test full array
@@ -19691,7 +19729,7 @@
 1..128
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ============ Starting testAsynInputs ============
@@ -19897,7 +19935,7 @@
 1..258
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ============ Starting testGroup0 ============
@@ -20208,7 +20246,7 @@
 1..64
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("seq0.SELN", 4, ...) -> 0 (Ok)
@@ -20312,7 +20350,7 @@
 1..76
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("counter_a.VAL", 10, ...) -> 0 (Ok)
@@ -20396,7 +20434,7 @@
 1..44
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("test_bo_rec.DTYP", 0, ...) -> 0 (Ok)
@@ -20407,7 +20445,7 @@
 ok  6 - dbPutField("test_bo_rec.OUT", 0, ...) -> 0 (Ok)
 ok  7 - dbPutField("test_bo_rec.HIGH", 3, ...) -> 0 (Ok)
 ok  8 - dbPutField("test_bo_rec.VAL", 3, ...) -> 0 (Ok)
-ok  9 - HIGH time 2.096551
+ok  9 - HIGH time 2.095849
 ok 10 - dbGetField("test_bo_rec.VAL", 3) -> 0 == 0
 ok 11 - dbGetField("test_bo_link_rec.VAL", 3) -> 0 == 0
 ok 12 - dbPutField("test_bo_rec.ZNAM", 0, ...) -> 0 (Ok)
@@ -20448,7 +20486,7 @@
 1..36
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("test_bi_rec.DTYP", 0, ...) -> 0 (Ok)
@@ -20492,7 +20530,7 @@
 1..97
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("test_printf_rec.FMT", 0, ...) -> 0 (Ok)
@@ -20597,7 +20635,7 @@
 1..145
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("test_ai_rec.DTYP", 0, ...) -> 0 (Ok)
@@ -20744,7 +20782,7 @@
 ok 142 - dbGetField("test_ai_rec3.SEVR", 3) -> 2 == 2
 ok 143 - dbPutField("test_ai_link_rec3.VAL", 10, ...) -> 0 (Ok)
 ok 144 - dbGetField("test_ai_rec3.SEVR", 3) -> 1 == 1
-ok 145 - ATFC time 3.099298
+ok 145 - ATFC time 3.099633
 # Warning, testing monitors still active at testIocShutdownOk()
 ok
 asTest.t ................ 
@@ -20752,7 +20790,7 @@
 # test Restore
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # initHookAfterInitDevSup
@@ -20811,7 +20849,7 @@
 1..1793
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - interceptor plugin registered
@@ -22677,7 +22715,7 @@
 1..80
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Test if eventNameToHandle() strips spaces and handles numeric events
@@ -22796,7 +22834,7 @@
 # Testing with regressArray1.db
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("wf", 10, ...) -> 0 (Ok)
@@ -22808,7 +22846,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  6 - dbGetField("ai1", 5) -> 16 == 16
@@ -22840,7 +22878,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 31 - dbPutField("alarm", 10, ...) -> 0 (Ok)
@@ -22863,7 +22901,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 46 - dbPutField("ai:disconn.PROC", 5, ...) -> 0xffffffff (<Unknown code>) == 0xffffffff (<Unknown code>)
@@ -22873,7 +22911,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 49 - dbGetField("test_calc.CALC", 0) -> "RNDM*100" == "RNDM*100"
@@ -22889,7 +22927,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 58 - !dbChannelOpen(chan)
@@ -22908,7 +22946,7 @@
 1..1267
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ##### Simm initialization #####
@@ -23016,7 +23054,7 @@
 ok 81 - dbPutField("ai:simmode", 4, ...) -> 0 (Ok)
 ok 82 - dbPutField("ai.PROC", 5, ...) -> 0 (Ok)
 ok 83 - dbGetField("ai.RVAL", 4) -> 1 == 1
-ok 84 - simval time <= my time [TSE = 0] (0.000173251 sec)
+ok 84 - simval time <= my time [TSE = 0] (0.000113749 sec)
 # for TSE=-2 (from device) and simmYES, take time stamp from IOC or input link
 ok 85 - dbPutField("ai:simmode", 4, ...) -> 0 (Ok)
 ok 86 - dbPutField("ai.TSE", 3, ...) -> 0 (Ok)
@@ -23024,20 +23062,20 @@
 ok 88 - simval time == my time [TSE = -2]
 ok 89 - dbPutField("ai.SIOL", 0, ...) -> 0 (Ok)
 ok 90 - dbPutField("ai.PROC", 5, ...) -> 0 (Ok)
-ok 91 - new time stamp from IOC [TSE = -2, no SIOL] (0.000297793 sec)
+ok 91 - new time stamp from IOC [TSE = -2, no SIOL] (0.000193502 sec)
 ok 92 - dbPutField("ai.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 93 - dbPutField("ai:simmode", 4, ...) -> 0 (Ok)
 ok 94 - dbPutField("ai.PROC", 5, ...) -> 0 (Ok)
 ok 95 - dbGetField("ai.PACT", 4) -> 0 == 0
-ok 96 - time stamp is recent (0.000007291 sec)
+ok 96 - time stamp is recent (0.000004760 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 97 - dbPutField("ai:simmode", 4, ...) -> 0 (Ok)
 ok 98 - dbPutField("ai.PROC", 5, ...) -> 0 (Ok)
 ok 99 - dbGetField("ai.PACT", 4) -> 1 == 1
 ok 100 - dbGetField("ai.PACT", 4) -> 0 == 0
-ok 101 - time stamp is recent (0.005302975 sec)
+ok 101 - time stamp is recent (0.005122299 sec)
 # ################################################### Record Type ao
 # ## SIMM toggle and SCAN swapping ##
 ok 102 - dbGetField("ao.SCAN", 4) -> 0 == 0
@@ -23105,20 +23143,20 @@
 ok 151 - dbPutField("ao.SIML", 0, ...) -> 0 (Ok)
 ok 152 - dbPutField("ao.TSE", 3, ...) -> 0 (Ok)
 ok 153 - dbPutField("ao.PROC", 5, ...) -> 0 (Ok)
-ok 154 - new time stamp from IOC [TSE = -2] (0.000020125 sec)
+ok 154 - new time stamp from IOC [TSE = -2] (0.000013239 sec)
 ok 155 - dbPutField("ao.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 156 - dbPutField("ao:simmode", 4, ...) -> 0 (Ok)
 ok 157 - dbPutField("ao.PROC", 5, ...) -> 0 (Ok)
 ok 158 - dbGetField("ao.PACT", 4) -> 0 == 0
-ok 159 - time stamp is recent (0.000005833 sec)
+ok 159 - time stamp is recent (0.000003759 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 160 - dbPutField("ao:simmode", 4, ...) -> 0 (Ok)
 ok 161 - dbPutField("ao.PROC", 5, ...) -> 0 (Ok)
 ok 162 - dbGetField("ao.PACT", 4) -> 1 == 1
 ok 163 - dbGetField("ao.PACT", 4) -> 0 == 0
-ok 164 - time stamp is recent (0.005305851 sec)
+ok 164 - time stamp is recent (0.005109160 sec)
 # ################################################### Record Type aai
 # ## SIMM toggle and SCAN swapping ##
 ok 165 - dbGetField("aai.SCAN", 4) -> 0 == 0
@@ -23165,7 +23203,7 @@
 ok 196 - dbGetField("aai.SEVR", 4) -> 3 == 3
 ok 197 - dbPutField("aai.SIMS", 4, ...) -> 0 (Ok)
 # Record type aai has no support for simmRAW
-ok 198 - simval time <= my time [TSE = 0] (0.000080209 sec)
+ok 198 - simval time <= my time [TSE = 0] (0.000042616 sec)
 # for TSE=-2 (from device) and simmYES, take time stamp from IOC or input link
 ok 199 - dbPutField("aai:simmode", 4, ...) -> 0 (Ok)
 ok 200 - dbPutField("aai.TSE", 3, ...) -> 0 (Ok)
@@ -23173,20 +23211,20 @@
 ok 202 - simval time == my time [TSE = -2]
 ok 203 - dbPutField("aai.SIOL", 0, ...) -> 0 (Ok)
 ok 204 - dbPutField("aai.PROC", 5, ...) -> 0 (Ok)
-ok 205 - new time stamp from IOC [TSE = -2, no SIOL] (0.000256376 sec)
+ok 205 - new time stamp from IOC [TSE = -2, no SIOL] (0.000142066 sec)
 ok 206 - dbPutField("aai.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 207 - dbPutField("aai:simmode", 4, ...) -> 0 (Ok)
 ok 208 - dbPutField("aai.PROC", 5, ...) -> 0 (Ok)
 ok 209 - dbGetField("aai.PACT", 4) -> 0 == 0
-ok 210 - time stamp is recent (0.000006417 sec)
+ok 210 - time stamp is recent (0.000004200 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 211 - dbPutField("aai:simmode", 4, ...) -> 0 (Ok)
 ok 212 - dbPutField("aai.PROC", 5, ...) -> 0 (Ok)
 ok 213 - dbGetField("aai.PACT", 4) -> 1 == 1
 ok 214 - dbGetField("aai.PACT", 4) -> 0 == 0
-ok 215 - time stamp is recent (0.005465393 sec)
+ok 215 - time stamp is recent (0.005135178 sec)
 # ################################################### Record Type aao
 # ## SIMM toggle and SCAN swapping ##
 ok 216 - dbGetField("aao.SCAN", 4) -> 0 == 0
@@ -23227,20 +23265,20 @@
 ok 242 - dbGetField("aao:simval", 4) -> 1 == 1
 ok 243 - dbPutField("aao.TSE", 3, ...) -> 0 (Ok)
 ok 244 - dbPutField("aao.PROC", 5, ...) -> 0 (Ok)
-ok 245 - new time stamp from IOC [TSE = -2] (0.000019541 sec)
+ok 245 - new time stamp from IOC [TSE = -2] (0.000010819 sec)
 ok 246 - dbPutField("aao.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 247 - dbPutField("aao:simmode", 4, ...) -> 0 (Ok)
 ok 248 - dbPutField("aao.PROC", 5, ...) -> 0 (Ok)
 ok 249 - dbGetField("aao.PACT", 4) -> 0 == 0
-ok 250 - time stamp is recent (0.000005542 sec)
+ok 250 - time stamp is recent (0.000002900 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 251 - dbPutField("aao:simmode", 4, ...) -> 0 (Ok)
 ok 252 - dbPutField("aao.PROC", 5, ...) -> 0 (Ok)
 ok 253 - dbGetField("aao.PACT", 4) -> 1 == 1
 ok 254 - dbGetField("aao.PACT", 4) -> 0 == 0
-ok 255 - time stamp is recent (0.005451185 sec)
+ok 255 - time stamp is recent (0.005084603 sec)
 # ################################################### Record Type bi
 # ## SIMM toggle and SCAN swapping ##
 ok 256 - dbGetField("bi.SCAN", 4) -> 0 == 0
@@ -23327,7 +23365,7 @@
 ok 319 - dbPutField("bi:simmode", 4, ...) -> 0 (Ok)
 ok 320 - dbPutField("bi.PROC", 5, ...) -> 0 (Ok)
 ok 321 - dbGetField("bi.RVAL", 4) -> 1 == 1
-ok 322 - simval time <= my time [TSE = 0] (0.000175584 sec)
+ok 322 - simval time <= my time [TSE = 0] (0.000096871 sec)
 # for TSE=-2 (from device) and simmYES, take time stamp from IOC or input link
 ok 323 - dbPutField("bi:simmode", 4, ...) -> 0 (Ok)
 ok 324 - dbPutField("bi.TSE", 3, ...) -> 0 (Ok)
@@ -23335,20 +23373,20 @@
 ok 326 - simval time == my time [TSE = -2]
 ok 327 - dbPutField("bi.SIOL", 0, ...) -> 0 (Ok)
 ok 328 - dbPutField("bi.PROC", 5, ...) -> 0 (Ok)
-ok 329 - new time stamp from IOC [TSE = -2, no SIOL] (0.000298085 sec)
+ok 329 - new time stamp from IOC [TSE = -2, no SIOL] (0.000188222 sec)
 ok 330 - dbPutField("bi.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 331 - dbPutField("bi:simmode", 4, ...) -> 0 (Ok)
 ok 332 - dbPutField("bi.PROC", 5, ...) -> 0 (Ok)
 ok 333 - dbGetField("bi.PACT", 4) -> 0 == 0
-ok 334 - time stamp is recent (0.000006708 sec)
+ok 334 - time stamp is recent (0.000004260 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 335 - dbPutField("bi:simmode", 4, ...) -> 0 (Ok)
 ok 336 - dbPutField("bi.PROC", 5, ...) -> 0 (Ok)
 ok 337 - dbGetField("bi.PACT", 4) -> 1 == 1
 ok 338 - dbGetField("bi.PACT", 4) -> 0 == 0
-ok 339 - time stamp is recent (0.005445268 sec)
+ok 339 - time stamp is recent (0.005098302 sec)
 # ################################################### Record Type bo
 # ## SIMM toggle and SCAN swapping ##
 ok 340 - dbGetField("bo.SCAN", 4) -> 0 == 0
@@ -23415,20 +23453,20 @@
 ok 388 - dbPutField("bo.SIML", 0, ...) -> 0 (Ok)
 ok 389 - dbPutField("bo.TSE", 3, ...) -> 0 (Ok)
 ok 390 - dbPutField("bo.PROC", 5, ...) -> 0 (Ok)
-ok 391 - new time stamp from IOC [TSE = -2] (0.000019542 sec)
+ok 391 - new time stamp from IOC [TSE = -2] (0.000012359 sec)
 ok 392 - dbPutField("bo.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 393 - dbPutField("bo:simmode", 4, ...) -> 0 (Ok)
 ok 394 - dbPutField("bo.PROC", 5, ...) -> 0 (Ok)
 ok 395 - dbGetField("bo.PACT", 4) -> 0 == 0
-ok 396 - time stamp is recent (0.000005542 sec)
+ok 396 - time stamp is recent (0.000003760 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 397 - dbPutField("bo:simmode", 4, ...) -> 0 (Ok)
 ok 398 - dbPutField("bo.PROC", 5, ...) -> 0 (Ok)
 ok 399 - dbGetField("bo.PACT", 4) -> 1 == 1
 ok 400 - dbGetField("bo.PACT", 4) -> 0 == 0
-ok 401 - time stamp is recent (0.005457352 sec)
+ok 401 - time stamp is recent (0.005101422 sec)
 # ################################################### Record Type mbbi
 # ## SIMM toggle and SCAN swapping ##
 ok 402 - dbGetField("mbbi.SCAN", 4) -> 0 == 0
@@ -23515,7 +23553,7 @@
 ok 465 - dbPutField("mbbi:simmode", 4, ...) -> 0 (Ok)
 ok 466 - dbPutField("mbbi.PROC", 5, ...) -> 0 (Ok)
 ok 467 - dbGetField("mbbi.RVAL", 4) -> 1 == 1
-ok 468 - simval time <= my time [TSE = 0] (0.000177042 sec)
+ok 468 - simval time <= my time [TSE = 0] (0.000096831 sec)
 # for TSE=-2 (from device) and simmYES, take time stamp from IOC or input link
 ok 469 - dbPutField("mbbi:simmode", 4, ...) -> 0 (Ok)
 ok 470 - dbPutField("mbbi.TSE", 3, ...) -> 0 (Ok)
@@ -23523,20 +23561,20 @@
 ok 472 - simval time == my time [TSE = -2]
 ok 473 - dbPutField("mbbi.SIOL", 0, ...) -> 0 (Ok)
 ok 474 - dbPutField("mbbi.PROC", 5, ...) -> 0 (Ok)
-ok 475 - new time stamp from IOC [TSE = -2, no SIOL] (0.000310918 sec)
+ok 475 - new time stamp from IOC [TSE = -2, no SIOL] (0.000190662 sec)
 ok 476 - dbPutField("mbbi.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 477 - dbPutField("mbbi:simmode", 4, ...) -> 0 (Ok)
 ok 478 - dbPutField("mbbi.PROC", 5, ...) -> 0 (Ok)
 ok 479 - dbGetField("mbbi.PACT", 4) -> 0 == 0
-ok 480 - time stamp is recent (0.000007000 sec)
+ok 480 - time stamp is recent (0.000004580 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 481 - dbPutField("mbbi:simmode", 4, ...) -> 0 (Ok)
 ok 482 - dbPutField("mbbi.PROC", 5, ...) -> 0 (Ok)
 ok 483 - dbGetField("mbbi.PACT", 4) -> 1 == 1
 ok 484 - dbGetField("mbbi.PACT", 4) -> 0 == 0
-ok 485 - time stamp is recent (0.005446851 sec)
+ok 485 - time stamp is recent (0.005095422 sec)
 # ################################################### Record Type mbbo
 # ## SIMM toggle and SCAN swapping ##
 ok 486 - dbGetField("mbbo.SCAN", 4) -> 0 == 0
@@ -23604,20 +23642,20 @@
 ok 535 - dbPutField("mbbo.SIML", 0, ...) -> 0 (Ok)
 ok 536 - dbPutField("mbbo.TSE", 3, ...) -> 0 (Ok)
 ok 537 - dbPutField("mbbo.PROC", 5, ...) -> 0 (Ok)
-ok 538 - new time stamp from IOC [TSE = -2] (0.000020126 sec)
+ok 538 - new time stamp from IOC [TSE = -2] (0.000013139 sec)
 ok 539 - dbPutField("mbbo.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 540 - dbPutField("mbbo:simmode", 4, ...) -> 0 (Ok)
 ok 541 - dbPutField("mbbo.PROC", 5, ...) -> 0 (Ok)
 ok 542 - dbGetField("mbbo.PACT", 4) -> 0 == 0
-ok 543 - time stamp is recent (0.000006125 sec)
+ok 543 - time stamp is recent (0.000003580 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 544 - dbPutField("mbbo:simmode", 4, ...) -> 0 (Ok)
 ok 545 - dbPutField("mbbo.PROC", 5, ...) -> 0 (Ok)
 ok 546 - dbGetField("mbbo.PACT", 4) -> 1 == 1
 ok 547 - dbGetField("mbbo.PACT", 4) -> 0 == 0
-ok 548 - time stamp is recent (0.005457143 sec)
+ok 548 - time stamp is recent (0.005107001 sec)
 # ################################################### Record Type mbbiDirect
 # ## SIMM toggle and SCAN swapping ##
 ok 549 - dbGetField("mbbiDirect.SCAN", 4) -> 0 == 0
@@ -23704,7 +23742,7 @@
 ok 612 - dbPutField("mbbiDirect:simmode", 4, ...) -> 0 (Ok)
 ok 613 - dbPutField("mbbiDirect.PROC", 5, ...) -> 0 (Ok)
 ok 614 - dbGetField("mbbiDirect.RVAL", 4) -> 1 == 1
-ok 615 - simval time <= my time [TSE = 0] (0.000187543 sec)
+ok 615 - simval time <= my time [TSE = 0] (0.000127768 sec)
 # for TSE=-2 (from device) and simmYES, take time stamp from IOC or input link
 ok 616 - dbPutField("mbbiDirect:simmode", 4, ...) -> 0 (Ok)
 ok 617 - dbPutField("mbbiDirect.TSE", 3, ...) -> 0 (Ok)
@@ -23712,20 +23750,20 @@
 ok 619 - simval time == my time [TSE = -2]
 ok 620 - dbPutField("mbbiDirect.SIOL", 0, ...) -> 0 (Ok)
 ok 621 - dbPutField("mbbiDirect.PROC", 5, ...) -> 0 (Ok)
-ok 622 - new time stamp from IOC [TSE = -2, no SIOL] (0.000307418 sec)
+ok 622 - new time stamp from IOC [TSE = -2, no SIOL] (0.000201121 sec)
 ok 623 - dbPutField("mbbiDirect.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 624 - dbPutField("mbbiDirect:simmode", 4, ...) -> 0 (Ok)
 ok 625 - dbPutField("mbbiDirect.PROC", 5, ...) -> 0 (Ok)
 ok 626 - dbGetField("mbbiDirect.PACT", 4) -> 0 == 0
-ok 627 - time stamp is recent (0.000006708 sec)
+ok 627 - time stamp is recent (0.000003420 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 628 - dbPutField("mbbiDirect:simmode", 4, ...) -> 0 (Ok)
 ok 629 - dbPutField("mbbiDirect.PROC", 5, ...) -> 0 (Ok)
 ok 630 - dbGetField("mbbiDirect.PACT", 4) -> 1 == 1
 ok 631 - dbGetField("mbbiDirect.PACT", 4) -> 0 == 0
-ok 632 - time stamp is recent (0.005313392 sec)
+ok 632 - time stamp is recent (0.005130259 sec)
 # ################################################### Record Type mbboDirect
 # ## SIMM toggle and SCAN swapping ##
 ok 633 - dbGetField("mbboDirect.SCAN", 4) -> 0 == 0
@@ -23793,20 +23831,20 @@
 ok 682 - dbPutField("mbboDirect.SIML", 0, ...) -> 0 (Ok)
 ok 683 - dbPutField("mbboDirect.TSE", 3, ...) -> 0 (Ok)
 ok 684 - dbPutField("mbboDirect.PROC", 5, ...) -> 0 (Ok)
-ok 685 - new time stamp from IOC [TSE = -2] (0.000019542 sec)
+ok 685 - new time stamp from IOC [TSE = -2] (0.000009759 sec)
 ok 686 - dbPutField("mbboDirect.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 687 - dbPutField("mbboDirect:simmode", 4, ...) -> 0 (Ok)
 ok 688 - dbPutField("mbboDirect.PROC", 5, ...) -> 0 (Ok)
 ok 689 - dbGetField("mbboDirect.PACT", 4) -> 0 == 0
-ok 690 - time stamp is recent (0.000005833 sec)
+ok 690 - time stamp is recent (0.000002760 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 691 - dbPutField("mbboDirect:simmode", 4, ...) -> 0 (Ok)
 ok 692 - dbPutField("mbboDirect.PROC", 5, ...) -> 0 (Ok)
 ok 693 - dbGetField("mbboDirect.PACT", 4) -> 1 == 1
 ok 694 - dbGetField("mbboDirect.PACT", 4) -> 0 == 0
-ok 695 - time stamp is recent (0.005364934 sec)
+ok 695 - time stamp is recent (0.005106141 sec)
 # ################################################### Record Type longin
 # ## SIMM toggle and SCAN swapping ##
 ok 696 - dbGetField("longin.SCAN", 4) -> 0 == 0
@@ -23869,7 +23907,7 @@
 ok 738 - dbGetField("longin.SEVR", 4) -> 3 == 3
 ok 739 - dbPutField("longin.SIMS", 4, ...) -> 0 (Ok)
 # Record type longin has no support for simmRAW
-ok 740 - simval time <= my time [TSE = 0] (0.000080209 sec)
+ok 740 - simval time <= my time [TSE = 0] (0.000038456 sec)
 # for TSE=-2 (from device) and simmYES, take time stamp from IOC or input link
 ok 741 - dbPutField("longin:simmode", 4, ...) -> 0 (Ok)
 ok 742 - dbPutField("longin.TSE", 3, ...) -> 0 (Ok)
@@ -23877,20 +23915,20 @@
 ok 744 - simval time == my time [TSE = -2]
 ok 745 - dbPutField("longin.SIOL", 0, ...) -> 0 (Ok)
 ok 746 - dbPutField("longin.PROC", 5, ...) -> 0 (Ok)
-ok 747 - new time stamp from IOC [TSE = -2, no SIOL] (0.000256668 sec)
+ok 747 - new time stamp from IOC [TSE = -2, no SIOL] (0.000125028 sec)
 ok 748 - dbPutField("longin.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 749 - dbPutField("longin:simmode", 4, ...) -> 0 (Ok)
 ok 750 - dbPutField("longin.PROC", 5, ...) -> 0 (Ok)
 ok 751 - dbGetField("longin.PACT", 4) -> 0 == 0
-ok 752 - time stamp is recent (0.000007000 sec)
+ok 752 - time stamp is recent (0.000003240 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 753 - dbPutField("longin:simmode", 4, ...) -> 0 (Ok)
 ok 754 - dbPutField("longin.PROC", 5, ...) -> 0 (Ok)
 ok 755 - dbGetField("longin.PACT", 4) -> 1 == 1
 ok 756 - dbGetField("longin.PACT", 4) -> 0 == 0
-ok 757 - time stamp is recent (0.005365726 sec)
+ok 757 - time stamp is recent (0.005161016 sec)
 # ################################################### Record Type longout
 # ## SIMM toggle and SCAN swapping ##
 ok 758 - dbGetField("longout.SCAN", 4) -> 0 == 0
@@ -23931,20 +23969,20 @@
 ok 784 - dbGetField("longout:simval", 4) -> 1 == 1
 ok 785 - dbPutField("longout.TSE", 3, ...) -> 0 (Ok)
 ok 786 - dbPutField("longout.PROC", 5, ...) -> 0 (Ok)
-ok 787 - new time stamp from IOC [TSE = -2] (0.000018375 sec)
+ok 787 - new time stamp from IOC [TSE = -2] (0.000008959 sec)
 ok 788 - dbPutField("longout.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 789 - dbPutField("longout:simmode", 4, ...) -> 0 (Ok)
 ok 790 - dbPutField("longout.PROC", 5, ...) -> 0 (Ok)
 ok 791 - dbGetField("longout.PACT", 4) -> 0 == 0
-ok 792 - time stamp is recent (0.000005834 sec)
+ok 792 - time stamp is recent (0.000002639 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 793 - dbPutField("longout:simmode", 4, ...) -> 0 (Ok)
 ok 794 - dbPutField("longout.PROC", 5, ...) -> 0 (Ok)
 ok 795 - dbGetField("longout.PACT", 4) -> 1 == 1
 ok 796 - dbGetField("longout.PACT", 4) -> 0 == 0
-ok 797 - time stamp is recent (0.005451643 sec)
+ok 797 - time stamp is recent (0.005183534 sec)
 # ################################################### Record Type int64in
 # ## SIMM toggle and SCAN swapping ##
 ok 798 - dbGetField("int64in.SCAN", 4) -> 0 == 0
@@ -24007,7 +24045,7 @@
 ok 840 - dbGetField("int64in.SEVR", 4) -> 3 == 3
 ok 841 - dbPutField("int64in.SIMS", 4, ...) -> 0 (Ok)
 # Record type int64in has no support for simmRAW
-ok 842 - simval time <= my time [TSE = 0] (0.000113750 sec)
+ok 842 - simval time <= my time [TSE = 0] (0.000038816 sec)
 # for TSE=-2 (from device) and simmYES, take time stamp from IOC or input link
 ok 843 - dbPutField("int64in:simmode", 4, ...) -> 0 (Ok)
 ok 844 - dbPutField("int64in.TSE", 3, ...) -> 0 (Ok)
@@ -24015,20 +24053,20 @@
 ok 846 - simval time == my time [TSE = -2]
 ok 847 - dbPutField("int64in.SIOL", 0, ...) -> 0 (Ok)
 ok 848 - dbPutField("int64in.PROC", 5, ...) -> 0 (Ok)
-ok 849 - new time stamp from IOC [TSE = -2, no SIOL] (0.000289626 sec)
+ok 849 - new time stamp from IOC [TSE = -2, no SIOL] (0.000122509 sec)
 ok 850 - dbPutField("int64in.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 851 - dbPutField("int64in:simmode", 4, ...) -> 0 (Ok)
 ok 852 - dbPutField("int64in.PROC", 5, ...) -> 0 (Ok)
 ok 853 - dbGetField("int64in.PACT", 4) -> 0 == 0
-ok 854 - time stamp is recent (0.000007000 sec)
+ok 854 - time stamp is recent (0.000006599 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 855 - dbPutField("int64in:simmode", 4, ...) -> 0 (Ok)
 ok 856 - dbPutField("int64in.PROC", 5, ...) -> 0 (Ok)
 ok 857 - dbGetField("int64in.PACT", 4) -> 1 == 1
 ok 858 - dbGetField("int64in.PACT", 4) -> 0 == 0
-ok 859 - time stamp is recent (0.005365560 sec)
+ok 859 - time stamp is recent (0.005155736 sec)
 # ################################################### Record Type int64out
 # ## SIMM toggle and SCAN swapping ##
 ok 860 - dbGetField("int64out.SCAN", 4) -> 0 == 0
@@ -24069,20 +24107,20 @@
 ok 886 - dbGetField("int64out:simval", 4) -> 1 == 1
 ok 887 - dbPutField("int64out.TSE", 3, ...) -> 0 (Ok)
 ok 888 - dbPutField("int64out.PROC", 5, ...) -> 0 (Ok)
-ok 889 - new time stamp from IOC [TSE = -2] (0.000018667 sec)
+ok 889 - new time stamp from IOC [TSE = -2] (0.000009099 sec)
 ok 890 - dbPutField("int64out.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 891 - dbPutField("int64out:simmode", 4, ...) -> 0 (Ok)
 ok 892 - dbPutField("int64out.PROC", 5, ...) -> 0 (Ok)
 ok 893 - dbGetField("int64out.PACT", 4) -> 0 == 0
-ok 894 - time stamp is recent (0.000005833 sec)
+ok 894 - time stamp is recent (0.000002640 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 895 - dbPutField("int64out:simmode", 4, ...) -> 0 (Ok)
 ok 896 - dbPutField("int64out.PROC", 5, ...) -> 0 (Ok)
 ok 897 - dbGetField("int64out.PACT", 4) -> 1 == 1
 ok 898 - dbGetField("int64out.PACT", 4) -> 0 == 0
-ok 899 - time stamp is recent (0.005298934 sec)
+ok 899 - time stamp is recent (0.005156257 sec)
 # ################################################### Record Type stringin
 # ## SIMM toggle and SCAN swapping ##
 ok 900 - dbGetField("stringin.SCAN", 4) -> 0 == 0
@@ -24145,7 +24183,7 @@
 ok 942 - dbGetField("stringin.SEVR", 4) -> 3 == 3
 ok 943 - dbPutField("stringin.SIMS", 4, ...) -> 0 (Ok)
 # Record type stringin has no support for simmRAW
-ok 944 - simval time <= my time [TSE = 0] (0.000082833 sec)
+ok 944 - simval time <= my time [TSE = 0] (0.000039736 sec)
 # for TSE=-2 (from device) and simmYES, take time stamp from IOC or input link
 ok 945 - dbPutField("stringin:simmode", 4, ...) -> 0 (Ok)
 ok 946 - dbPutField("stringin.TSE", 3, ...) -> 0 (Ok)
@@ -24153,20 +24191,20 @@
 ok 948 - simval time == my time [TSE = -2]
 ok 949 - dbPutField("stringin.SIOL", 0, ...) -> 0 (Ok)
 ok 950 - dbPutField("stringin.PROC", 5, ...) -> 0 (Ok)
-ok 951 - new time stamp from IOC [TSE = -2, no SIOL] (0.000272709 sec)
+ok 951 - new time stamp from IOC [TSE = -2, no SIOL] (0.000122789 sec)
 ok 952 - dbPutField("stringin.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 953 - dbPutField("stringin:simmode", 4, ...) -> 0 (Ok)
 ok 954 - dbPutField("stringin.PROC", 5, ...) -> 0 (Ok)
 ok 955 - dbGetField("stringin.PACT", 4) -> 0 == 0
-ok 956 - time stamp is recent (0.000007000 sec)
+ok 956 - time stamp is recent (0.000003119 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 957 - dbPutField("stringin:simmode", 4, ...) -> 0 (Ok)
 ok 958 - dbPutField("stringin.PROC", 5, ...) -> 0 (Ok)
 ok 959 - dbGetField("stringin.PACT", 4) -> 1 == 1
 ok 960 - dbGetField("stringin.PACT", 4) -> 0 == 0
-ok 961 - time stamp is recent (0.005451143 sec)
+ok 961 - time stamp is recent (0.005136718 sec)
 # ################################################### Record Type stringout
 # ## SIMM toggle and SCAN swapping ##
 ok 962 - dbGetField("stringout.SCAN", 4) -> 0 == 0
@@ -24207,20 +24245,20 @@
 ok 988 - dbGetField("stringout:simval", 4) -> 1 == 1
 ok 989 - dbPutField("stringout.TSE", 3, ...) -> 0 (Ok)
 ok 990 - dbPutField("stringout.PROC", 5, ...) -> 0 (Ok)
-ok 991 - new time stamp from IOC [TSE = -2] (0.000019542 sec)
+ok 991 - new time stamp from IOC [TSE = -2] (0.000011239 sec)
 ok 992 - dbPutField("stringout.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 993 - dbPutField("stringout:simmode", 4, ...) -> 0 (Ok)
 ok 994 - dbPutField("stringout.PROC", 5, ...) -> 0 (Ok)
 ok 995 - dbGetField("stringout.PACT", 4) -> 0 == 0
-ok 996 - time stamp is recent (0.000005541 sec)
+ok 996 - time stamp is recent (0.000003360 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 997 - dbPutField("stringout:simmode", 4, ...) -> 0 (Ok)
 ok 998 - dbPutField("stringout.PROC", 5, ...) -> 0 (Ok)
 ok 999 - dbGetField("stringout.PACT", 4) -> 1 == 1
 ok 1000 - dbGetField("stringout.PACT", 4) -> 0 == 0
-ok 1001 - time stamp is recent (0.005448976 sec)
+ok 1001 - time stamp is recent (0.005168375 sec)
 # ################################################### Record Type lsi
 # ## SIMM toggle and SCAN swapping ##
 ok 1002 - dbGetField("lsi.SCAN", 4) -> 0 == 0
@@ -24267,7 +24305,7 @@
 ok 1033 - dbGetField("lsi.SEVR", 4) -> 3 == 3
 ok 1034 - dbPutField("lsi.SIMS", 4, ...) -> 0 (Ok)
 # Record type lsi has no support for simmRAW
-ok 1035 - simval time <= my time [TSE = 0] (0.000083417 sec)
+ok 1035 - simval time <= my time [TSE = 0] (0.000045696 sec)
 # for TSE=-2 (from device) and simmYES, take time stamp from IOC or input link
 ok 1036 - dbPutField("lsi:simmode", 4, ...) -> 0 (Ok)
 ok 1037 - dbPutField("lsi.TSE", 3, ...) -> 0 (Ok)
@@ -24275,20 +24313,20 @@
 ok 1039 - simval time == my time [TSE = -2]
 ok 1040 - dbPutField("lsi.SIOL", 0, ...) -> 0 (Ok)
 ok 1041 - dbPutField("lsi.PROC", 5, ...) -> 0 (Ok)
-ok 1042 - new time stamp from IOC [TSE = -2, no SIOL] (0.000256668 sec)
+ok 1042 - new time stamp from IOC [TSE = -2, no SIOL] (0.000138687 sec)
 ok 1043 - dbPutField("lsi.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 1044 - dbPutField("lsi:simmode", 4, ...) -> 0 (Ok)
 ok 1045 - dbPutField("lsi.PROC", 5, ...) -> 0 (Ok)
 ok 1046 - dbGetField("lsi.PACT", 4) -> 0 == 0
-ok 1047 - time stamp is recent (0.000007000 sec)
+ok 1047 - time stamp is recent (0.000003240 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 1048 - dbPutField("lsi:simmode", 4, ...) -> 0 (Ok)
 ok 1049 - dbPutField("lsi.PROC", 5, ...) -> 0 (Ok)
 ok 1050 - dbGetField("lsi.PACT", 4) -> 1 == 1
 ok 1051 - dbGetField("lsi.PACT", 4) -> 0 == 0
-ok 1052 - time stamp is recent (0.005433518 sec)
+ok 1052 - time stamp is recent (0.005179294 sec)
 # ################################################### Record Type lso
 # ## SIMM toggle and SCAN swapping ##
 ok 1053 - dbGetField("lso.SCAN", 4) -> 0 == 0
@@ -24329,20 +24367,20 @@
 ok 1079 - dbGetField("lso:simval", 4) -> 1 == 1
 ok 1080 - dbPutField("lso.TSE", 3, ...) -> 0 (Ok)
 ok 1081 - dbPutField("lso.PROC", 5, ...) -> 0 (Ok)
-ok 1082 - new time stamp from IOC [TSE = -2] (0.000022167 sec)
+ok 1082 - new time stamp from IOC [TSE = -2] (0.000010939 sec)
 ok 1083 - dbPutField("lso.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 1084 - dbPutField("lso:simmode", 4, ...) -> 0 (Ok)
 ok 1085 - dbPutField("lso.PROC", 5, ...) -> 0 (Ok)
 ok 1086 - dbGetField("lso.PACT", 4) -> 0 == 0
-ok 1087 - time stamp is recent (0.000007000 sec)
+ok 1087 - time stamp is recent (0.000003200 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 1088 - dbPutField("lso:simmode", 4, ...) -> 0 (Ok)
 ok 1089 - dbPutField("lso.PROC", 5, ...) -> 0 (Ok)
 ok 1090 - dbGetField("lso.PACT", 4) -> 1 == 1
 ok 1091 - dbGetField("lso.PACT", 4) -> 0 == 0
-ok 1092 - time stamp is recent (0.005458934 sec)
+ok 1092 - time stamp is recent (0.005101621 sec)
 # ################################################### Record Type event
 # ## SIMM toggle and SCAN swapping ##
 ok 1093 - dbGetField("event.SCAN", 4) -> 0 == 0
@@ -24405,7 +24443,7 @@
 ok 1135 - dbGetField("event.SEVR", 4) -> 3 == 3
 ok 1136 - dbPutField("event.SIMS", 4, ...) -> 0 (Ok)
 # Record type event has no support for simmRAW
-ok 1137 - simval time <= my time [TSE = 0] (1105006758.517851114 sec)
+ok 1137 - simval time <= my time [TSE = 0] (1105010376.668399096 sec)
 # for TSE=-2 (from device) and simmYES, take time stamp from IOC or input link
 ok 1138 - dbPutField("event:simmode", 4, ...) -> 0 (Ok)
 ok 1139 - dbPutField("event.TSE", 3, ...) -> 0 (Ok)
@@ -24413,20 +24451,20 @@
 ok 1141 - simval time == my time [TSE = -2]
 ok 1142 - dbPutField("event.SIOL", 0, ...) -> 0 (Ok)
 ok 1143 - dbPutField("event.PROC", 5, ...) -> 0 (Ok)
-ok 1144 - new time stamp from IOC [TSE = -2, no SIOL] (1105006758.518034220 sec)
+ok 1144 - new time stamp from IOC [TSE = -2, no SIOL] (1105010376.668498755 sec)
 ok 1145 - dbPutField("event.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 1146 - dbPutField("event:simmode", 4, ...) -> 0 (Ok)
 ok 1147 - dbPutField("event.PROC", 5, ...) -> 0 (Ok)
 ok 1148 - dbGetField("event.PACT", 4) -> 0 == 0
-ok 1149 - time stamp is recent (0.000006708 sec)
+ok 1149 - time stamp is recent (0.000005140 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 1150 - dbPutField("event:simmode", 4, ...) -> 0 (Ok)
 ok 1151 - dbPutField("event.PROC", 5, ...) -> 0 (Ok)
 ok 1152 - dbGetField("event.PACT", 4) -> 1 == 1
 ok 1153 - dbGetField("event.PACT", 4) -> 0 == 0
-ok 1154 - time stamp is recent (0.005450434 sec)
+ok 1154 - time stamp is recent (0.005139538 sec)
 # ################################################### Record Type waveform
 # ## SIMM toggle and SCAN swapping ##
 ok 1155 - dbGetField("waveform.SCAN", 4) -> 0 == 0
@@ -24473,7 +24511,7 @@
 ok 1186 - dbGetField("waveform.SEVR", 4) -> 3 == 3
 ok 1187 - dbPutField("waveform.SIMS", 4, ...) -> 0 (Ok)
 # Record type waveform has no support for simmRAW
-ok 1188 - simval time <= my time [TSE = 0] (0.000082250 sec)
+ok 1188 - simval time <= my time [TSE = 0] (0.000044856 sec)
 # for TSE=-2 (from device) and simmYES, take time stamp from IOC or input link
 ok 1189 - dbPutField("waveform:simmode", 4, ...) -> 0 (Ok)
 ok 1190 - dbPutField("waveform.TSE", 3, ...) -> 0 (Ok)
@@ -24481,20 +24519,20 @@
 ok 1192 - simval time == my time [TSE = -2]
 ok 1193 - dbPutField("waveform.SIOL", 0, ...) -> 0 (Ok)
 ok 1194 - dbPutField("waveform.PROC", 5, ...) -> 0 (Ok)
-ok 1195 - new time stamp from IOC [TSE = -2, no SIOL] (0.000255793 sec)
+ok 1195 - new time stamp from IOC [TSE = -2, no SIOL] (0.000145206 sec)
 ok 1196 - dbPutField("waveform.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 1197 - dbPutField("waveform:simmode", 4, ...) -> 0 (Ok)
 ok 1198 - dbPutField("waveform.PROC", 5, ...) -> 0 (Ok)
 ok 1199 - dbGetField("waveform.PACT", 4) -> 0 == 0
-ok 1200 - time stamp is recent (0.000006708 sec)
+ok 1200 - time stamp is recent (0.000003760 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 1201 - dbPutField("waveform:simmode", 4, ...) -> 0 (Ok)
 ok 1202 - dbPutField("waveform.PROC", 5, ...) -> 0 (Ok)
 ok 1203 - dbGetField("waveform.PACT", 4) -> 1 == 1
 ok 1204 - dbGetField("waveform.PACT", 4) -> 0 == 0
-ok 1205 - time stamp is recent (0.005448643 sec)
+ok 1205 - time stamp is recent (0.005175055 sec)
 # ################################################### Record Type histogram
 # ## SIMM toggle and SCAN swapping ##
 ok 1206 - dbGetField("histogram.SCAN", 4) -> 0 == 0
@@ -24557,7 +24595,7 @@
 ok 1248 - dbGetField("histogram.SEVR", 4) -> 3 == 3
 ok 1249 - dbPutField("histogram.SIMS", 4, ...) -> 0 (Ok)
 # Record type histogram has no support for simmRAW
-ok 1250 - simval time <= my time [TSE = 0] (0.000082542 sec)
+ok 1250 - simval time <= my time [TSE = 0] (0.000043956 sec)
 # for TSE=-2 (from device) and simmYES, take time stamp from IOC or input link
 ok 1251 - dbPutField("histogram:simmode", 4, ...) -> 0 (Ok)
 ok 1252 - dbPutField("histogram.TSE", 3, ...) -> 0 (Ok)
@@ -24565,26 +24603,26 @@
 ok 1254 - simval time == my time [TSE = -2]
 ok 1255 - dbPutField("histogram.SIOL", 0, ...) -> 0 (Ok)
 ok 1256 - dbPutField("histogram.PROC", 5, ...) -> 0 (Ok)
-ok 1257 - new time stamp from IOC [TSE = -2, no SIOL] (0.000263376 sec)
+ok 1257 - new time stamp from IOC [TSE = -2, no SIOL] (0.000136427 sec)
 ok 1258 - dbPutField("histogram.TSE", 3, ...) -> 0 (Ok)
 # ## Asynchronous processing with simm:DELAY ##
 # simm:DELAY and simmNO processes synchronously
 ok 1259 - dbPutField("histogram:simmode", 4, ...) -> 0 (Ok)
 ok 1260 - dbPutField("histogram.PROC", 5, ...) -> 0 (Ok)
 ok 1261 - dbGetField("histogram.PACT", 4) -> 0 == 0
-ok 1262 - time stamp is recent (0.000007000 sec)
+ok 1262 - time stamp is recent (0.000003200 sec)
 # simm:DELAY and simmYES processes asynchronously
 ok 1263 - dbPutField("histogram:simmode", 4, ...) -> 0 (Ok)
 ok 1264 - dbPutField("histogram.PROC", 5, ...) -> 0 (Ok)
 ok 1265 - dbGetField("histogram.PACT", 4) -> 1 == 1
 ok 1266 - dbGetField("histogram.PACT", 4) -> 0 == 0
-ok 1267 - time stamp is recent (0.005448768 sec)
+ok 1267 - time stamp is recent (0.005198033 sec)
 ok
 mbbioDirectTest.t ....... 
 1..542
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ##### check initial value #####
@@ -25157,7 +25195,7 @@
 1..27
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ===== Chain 1 ======
@@ -25200,7 +25238,7 @@
 1..2
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ===== Test that invalid link in INPA field fails a put request ======
@@ -25211,7 +25249,7 @@
 1..102
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # PINI
@@ -25363,7 +25401,7 @@
 ok 102 - dbGetField("wf.NORD", 5) -> 0 == 0
 ok
 All tests successful.
-Files=22, Tests=5035, 36 wallclock secs ( 1.68 usr  0.12 sys +  6.52 cusr  1.02 csys =  9.34 CPU)
+Files=22, Tests=5035, 32 wallclock secs ( 0.91 usr  0.11 sys +  3.22 cusr  0.55 csys =  4.79 CPU)
 Result: PASS
 -------------------
 
@@ -25390,7 +25428,7 @@
 # testing lnkState
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - No state red exists
@@ -25430,7 +25468,7 @@
 1..30
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # testing lnkCalc input
@@ -25470,7 +25508,7 @@
 ok 30 - Precision correct (3)
 ok
 All tests successful.
-Files=2, Tests=58,  1 wallclock secs ( 0.14 usr  0.00 sys +  0.14 cusr  0.06 csys =  0.34 CPU)
+Files=2, Tests=58,  2 wallclock secs ( 0.07 usr  0.01 sys +  0.06 cusr  0.04 csys =  0.18 CPU)
 Result: PASS
 -------------------
 
@@ -25502,7 +25540,7 @@
 1..100
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - plugin 'ts' registered correctly
@@ -25618,7 +25656,7 @@
 1..72
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - plugin dbnd registered correctly
@@ -25763,7 +25801,7 @@
 1..1402
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - plugin 'arr' registered correctly
@@ -27632,7 +27670,7 @@
 1..214
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - plugin sync registered correctly
@@ -27908,7 +27946,7 @@
 1..104
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - plugin 'dec' registered correctly
@@ -28041,7 +28079,7 @@
 ok 104 - 2048 field_logs on free-list
 ok
 All tests successful.
-Files=5, Tests=1892,  4 wallclock secs ( 0.70 usr  0.04 sys +  0.36 cusr  0.22 csys =  1.32 CPU)
+Files=5, Tests=1892,  3 wallclock secs ( 0.54 usr  0.02 sys +  0.21 cusr  0.12 csys =  0.89 CPU)
 Result: PASS
 -------------------
 
@@ -28386,7 +28424,7 @@
 ok 4 - double variable
 ok
 All tests successful.
-Files=11, Tests=293,  5 wallclock secs ( 0.38 usr  0.08 sys +  4.48 cusr  0.44 csys =  5.38 CPU)
+Files=11, Tests=293,  3 wallclock secs ( 0.19 usr  0.06 sys +  2.50 cusr  0.31 csys =  3.06 CPU)
 Result: PASS
 -------------------
 
@@ -28670,8 +28708,8 @@
 ok
 testChannelAccess.t ..... 
 1..152
-# TestServer on ports TCP=51845 UDP=38089
-2025-01-06T10:19:50.576 Failed to introspect interfaces or no network interfaces available.
+# TestServer on ports TCP=39185 UDP=54440
+2025-01-06T11:19:58.811 Failed to introspect interfaces or no network interfaces available.
 # BEGIN TEST void ChannelAccessIFTest::test_implementation():
 ok  1 - void ChannelAccessIFTest::test_implementation(): channel provider is provided
 ok  2 - void ChannelAccessIFTest::test_implementation(): calling getChannelProvider twice
@@ -28750,13 +28788,13 @@
 ok 37 - void ChannelAccessIFTest::test_channelGetIntProcess(): bitset get(0)
 #SyncChannelGetRequesterImpl.getDone(Status [type=OK])
 ok 38 - void ChannelAccessIFTest::test_channelGetIntProcess(): testing the counter value change 3 == 3
-ok 39 - void ChannelAccessIFTest::test_channelGetIntProcess(): timestamp change was 1.00151
+ok 39 - void ChannelAccessIFTest::test_channelGetIntProcess(): timestamp change was 1.00077
 #SyncChannelGetRequesterImpl.getDone(Status [type=OK])
 ok 40 - void ChannelAccessIFTest::test_channelGetIntProcess(): testing the counter value change 4 == 4
-ok 41 - void ChannelAccessIFTest::test_channelGetIntProcess(): timestamp change was 1.00233
+ok 41 - void ChannelAccessIFTest::test_channelGetIntProcess(): timestamp change was 1.00168
 #SyncChannelGetRequesterImpl.getDone(Status [type=OK])
 ok 42 - void ChannelAccessIFTest::test_channelGetIntProcess(): testing the counter value change 5 == 5
-ok 43 - void ChannelAccessIFTest::test_channelGetIntProcess(): timestamp change was 1.00231
+ok 43 - void ChannelAccessIFTest::test_channelGetIntProcess(): timestamp change was 1.00126
 #SyncChannelGetRequesterImpl.getDone(Status [type=ERROR, message=request destroyed])
 ok 44 - void ChannelAccessIFTest::test_channelGetIntProcess(): after the channel get destroy, sync get must fail
 # BEGIN TEST void ChannelAccessIFTest::test_channelGetTestNoConnection():
@@ -28776,13 +28814,13 @@
 ok 48 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): bitset get(0)
 #SyncChannelGetRequesterImpl.getDone(Status [type=OK])
 ok 49 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): testing the counter value change 8 == 8
-ok 50 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): timestamp change was 1.00124
+ok 50 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): timestamp change was 1.00078
 #SyncChannelGetRequesterImpl.getDone(Status [type=OK])
 ok 51 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): testing the counter value change 9 == 9
-ok 52 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): timestamp change was 1.00226
+ok 52 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): timestamp change was 1.00079
 #SyncChannelGetRequesterImpl.getDone(Status [type=OK])
 ok 53 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): testing the counter value change 10 == 10
-ok 54 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): timestamp change was 1.00174
+ok 54 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): timestamp change was 1.00141
 #SyncChannelGetRequesterImpl.getDone(Status [type=ERROR, message=request destroyed])
 ok 55 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): after the channel get destroy, sync get must fail
 # BEGIN TEST void ChannelAccessIFTest::test_channelPutWithInvalidChannelAndRequester():
@@ -28956,13 +28994,13 @@
 ok 97 - void ChannelAccessIFTest::test_channelPutGetIntProcess(): a syncGetGet succeeded
 #SyncChannelGetPutRequesterImpl.putGetDone(Status [type=OK])
 ok 98 - void ChannelAccessIFTest::test_channelPutGetIntProcess(): testing the counter value change 9 == 9
-ok 99 - void ChannelAccessIFTest::test_channelPutGetIntProcess(): timestamp change is 1.72631
+ok 99 - void ChannelAccessIFTest::test_channelPutGetIntProcess(): timestamp change is 1.64401
 #SyncChannelGetPutRequesterImpl.putGetDone(Status [type=OK])
 ok 100 - void ChannelAccessIFTest::test_channelPutGetIntProcess(): testing the counter value change 11 == 11
-ok 101 - void ChannelAccessIFTest::test_channelPutGetIntProcess(): timestamp change is 1.00153
+ok 101 - void ChannelAccessIFTest::test_channelPutGetIntProcess(): timestamp change is 1.00129
 #SyncChannelGetPutRequesterImpl.putGetDone(Status [type=OK])
 ok 102 - void ChannelAccessIFTest::test_channelPutGetIntProcess(): testing the counter value change 13 == 13
-ok 103 - void ChannelAccessIFTest::test_channelPutGetIntProcess(): timestamp change is 1.00167
+ok 103 - void ChannelAccessIFTest::test_channelPutGetIntProcess(): timestamp change is 1.00159
 # BEGIN TEST void ChannelAccessIFTest::test_channelRPC():
 #SyncChannelRequesterImpl.channelCreated(Status [type=OK])
 #SyncChannelRequesterImpl.channelStateChange:1
@@ -29001,10 +29039,10 @@
 # void ChannelAccessIFTest::test_channelMonitor(int):
 structure 
     time_t timeStamp
-        long secondsPastEpoch 1736158808
-        int nanoseconds 583901543
+        long secondsPastEpoch 1736162415
+        int nanoseconds 821554421
         int userTag 0
-    int value 19
+    int value 18
 
 ok 115 - void ChannelAccessIFTest::test_channelMonitor(int): value field equals to a previous value
 #SyncMonitorRequesterImpl.monitorEvent
@@ -29012,14 +29050,14 @@
 ok 117 - void ChannelAccessIFTest::test_channelMonitor(int): monitor cardinality is 1 (queue size = 1)
 ok 118 - void ChannelAccessIFTest::test_channelMonitor(int): changeBitSet get(0) is true (queue size = 1)
 # void ChannelAccessIFTest::test_channelMonitor(int):
-previous value : 19
-current value  : 20
+previous value : 18
+current value  : 19
 structure 
     time_t timeStamp
-        long secondsPastEpoch 1736158809
-        int nanoseconds 584652673
+        long secondsPastEpoch 1736162416
+        int nanoseconds 825865229
         int userTag 0
-    int value 20
+    int value 19
 
 ok 119 - void ChannelAccessIFTest::test_channelMonitor(int): value field not equals to a previous value
 #SyncMonitorRequesterImpl.monitorEvent
@@ -29027,14 +29065,14 @@
 ok 121 - void ChannelAccessIFTest::test_channelMonitor(int): monitor cardinality is 1 (queue size = 1)
 ok 122 - void ChannelAccessIFTest::test_channelMonitor(int): changeBitSet get(0) is true (queue size = 1)
 # void ChannelAccessIFTest::test_channelMonitor(int):
-previous value : 20
-current value  : 21
+previous value : 19
+current value  : 20
 structure 
     time_t timeStamp
-        long secondsPastEpoch 1736158810
-        int nanoseconds 585527886
+        long secondsPastEpoch 1736162417
+        int nanoseconds 826321159
         int userTag 0
-    int value 21
+    int value 20
 
 ok 123 - void ChannelAccessIFTest::test_channelMonitor(int): value field not equals to a previous value
 #SyncMonitorRequesterImpl.monitorEvent
@@ -29042,14 +29080,14 @@
 ok 125 - void ChannelAccessIFTest::test_channelMonitor(int): monitor cardinality is 1 (queue size = 1)
 ok 126 - void ChannelAccessIFTest::test_channelMonitor(int): changeBitSet get(0) is true (queue size = 1)
 # void ChannelAccessIFTest::test_channelMonitor(int):
-previous value : 21
-current value  : 22
+previous value : 20
+current value  : 21
 structure 
     time_t timeStamp
-        long secondsPastEpoch 1736158811
-        int nanoseconds 586350266
+        long secondsPastEpoch 1736162418
+        int nanoseconds 828682170
         int userTag 0
-    int value 22
+    int value 21
 
 ok 127 - void ChannelAccessIFTest::test_channelMonitor(int): value field not equals to a previous value
 ok 128 - void ChannelAccessIFTest::test_channelMonitor(int): after monitor stop the counter should not increase
@@ -29138,7 +29176,7 @@
 ok 20 - void epics::pvAccess::CodecTest::testHeaderProcess(): header._command == 0xEE
 ok 21 - void epics::pvAccess::CodecTest::testHeaderProcess(): header._payloadSize == 0xDDCCBBAA
 # BEGIN TEST void epics::pvAccess::CodecTest::testInvalidHeaderMagic():
-2025-01-06T10:20:16.687 Invalid header received from the client : 0.0.0.0:0 00020123 disconnecting...
+2025-01-06T11:20:23.881 Invalid header received from the client : 0.0.0.0:0 00020123 disconnecting...
 ok 22 - void epics::pvAccess::CodecTest::testInvalidHeaderMagic(): codec._invalidDataStreamCount == 1
 ok 23 - void epics::pvAccess::CodecTest::testInvalidHeaderMagic(): codec._closedCount == 0
 ok 24 - void epics::pvAccess::CodecTest::testInvalidHeaderMagic(): codec._receivedControlMessages.size() == 0 
@@ -29148,13 +29186,13 @@
 ok 27 - void epics::pvAccess::CodecTest::testInvalidHeaderSegmentedInNormal(): codec._closedCount == 0
 ok 28 - void epics::pvAccess::CodecTest::testInvalidHeaderSegmentedInNormal(): codec._receivedControlMessages.size() == 0 
 ok 29 - void epics::pvAccess::CodecTest::testInvalidHeaderSegmentedInNormal(): codec._receivedAppMessages.size() == 0
-2025-01-06T10:20:16.687 Protocol Violation: Not-a-first segmented message received in normal mode from the client at ../../src/remote/codec.cpp:236: 0.0.0.0:0, disconnecting...
+2025-01-06T11:20:23.881 Protocol Violation: Not-a-first segmented message received in normal mode from the client at ../../src/remote/codec.cpp:236: 0.0.0.0:0, disconnecting...
 ok 30 - void epics::pvAccess::CodecTest::testInvalidHeaderSegmentedInNormal(): codec._invalidDataStreamCount == 1
 ok 31 - void epics::pvAccess::CodecTest::testInvalidHeaderSegmentedInNormal(): codec._closedCount == 0
 ok 32 - void epics::pvAccess::CodecTest::testInvalidHeaderSegmentedInNormal(): codec._receivedControlMessages.size() == 0 
 ok 33 - void epics::pvAccess::CodecTest::testInvalidHeaderSegmentedInNormal(): codec._receivedAppMessages.size() == 0
 # BEGIN TEST void epics::pvAccess::CodecTest::testInvalidHeaderPayloadNotRead():
-2025-01-06T10:20:16.687 unprocessed read buffer from client at ../../src/remote/codec.cpp:321: 0.0.0.0:0, disconnecting...
+2025-01-06T11:20:23.881 unprocessed read buffer from client at ../../src/remote/codec.cpp:321: 0.0.0.0:0, disconnecting...
 ok 34 - void epics::pvAccess::CodecTest::testInvalidHeaderPayloadNotRead(): codec._invalidDataStreamCount == 1
 ok 35 - void epics::pvAccess::CodecTest::testInvalidHeaderPayloadNotRead(): codec._closedCount == 0
 ok 36 - void epics::pvAccess::CodecTest::testInvalidHeaderPayloadNotRead(): codec._receivedControlMessages.size() == 0 
@@ -35040,8 +35078,8 @@
 ok 5875 - void epics::pvAccess::CodecTest::testSendHugeMessagePartes(): msg._payload.get() != 0
 ok 5876 - void epics::pvAccess::CodecTest::testSendHugeMessagePartes(): bytesToSent == header._payload->getLimit()
 # BEGIN TEST void epics::pvAccess::CodecTest::testInvalidArguments():
-2025-01-06T10:20:17.857 requested for buffer size 17409, but only 17392 available. at ../../src/remote/codec.cpp:699.,
-2025-01-06T10:20:17.857 requested for buffer size 513, but maximum 512 is allowed. at ../../src/remote/codec.cpp:457.,
+2025-01-06T11:20:24.677 requested for buffer size 17409, but only 17392 available. at ../../src/remote/codec.cpp:699.,
+2025-01-06T11:20:24.677 requested for buffer size 513, but maximum 512 is allowed. at ../../src/remote/codec.cpp:457.,
 # BEGIN TEST void epics::pvAccess::CodecTest::testDefaultModes():
 ok 5877 - void epics::pvAccess::CodecTest::testDefaultModes(): NORMAL== codec.getReadMode()
 ok 5878 - void epics::pvAccess::CodecTest::testDefaultModes(): PROCESS_SEND_QUEUE == codec.getWriteMode()
@@ -35054,13 +35092,14 @@
 # Waiting for work
 ok 5883 - void epics::pvAccess::CodecTest::testBlockingProcessQueueTest(): PVA_MESSAGE_HEADER_SIZE == codec._writeBuffer.getPosition()  (8)
 ok
+Leaking ServerContext _responseHandler use_count=2
 testRPC.t ............... 
 1..3
 # Server Setup
-2025-01-06T10:20:18.215 Using dynamically assigned TCP port 56511.
-# TestServer on ports TCP=56511 UDP=40873
+2025-01-06T11:20:24.948 Using dynamically assigned TCP port 60851.
+# TestServer on ports TCP=60851 UDP=34870
 # Client Setup
-2025-01-06T10:20:18.217 Failed to introspect interfaces or no network interfaces available.
+2025-01-06T11:20:24.950 Failed to introspect interfaces or no network interfaces available.
 # Client Ready
 # Request
 # request()
@@ -35072,6 +35111,7 @@
 # Request
 # failing()
 ok  3 - caught expected rpc exception: RPCService.request(PVStructure) returned null.
+2025-01-06T11:20:25.199 ServerContextImpl::shutdown() doesn't break all internal ref. loops. use_count=19
 ok
 testmonitorfifo.t ....... 
 1..189
@@ -35527,7 +35567,7 @@
   TODO passed:   64
 testChannelAccess.t   (Wstat: 0 Tests: 152 Failed: 0)
   TODO passed:   45
-Files=11, Tests=6381, 29 wallclock secs ( 1.92 usr  0.12 sys +  1.76 cusr  0.54 csys =  4.34 CPU)
+Files=11, Tests=6381, 27 wallclock secs ( 1.23 usr  0.09 sys +  0.88 cusr  0.35 csys =  2.55 CPU)
 Result: PASS
 -------------------
 
@@ -35575,7 +35615,7 @@
           but was built with TOP = "/build/reproducible-path/epics-base-7.0.8.1+dfsg1"
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # TestClient::put DBRlongout := 0
@@ -35767,7 +35807,7 @@
 ok 143 - waitGet(DBRbinaryout) succeeded
 ok
 All tests successful.
-Files=2, Tests=154,  1 wallclock secs ( 0.16 usr  0.00 sys +  0.30 cusr  0.08 csys =  0.54 CPU)
+Files=2, Tests=154,  0 wallclock secs ( 0.10 usr  0.02 sys +  0.14 cusr  0.08 csys =  0.34 CPU)
 Result: PASS
 -------------------
 
@@ -36035,8 +36075,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736158826
-        int nanoseconds 670680544
+        long secondsPastEpoch 1736162430
+        int nanoseconds 324635725
         int userTag 0
     display_t display
         double limitLow -15
@@ -36138,8 +36178,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736158826
-        int nanoseconds 784541873
+        long secondsPastEpoch 1736162430
+        int nanoseconds 394800803
         int userTag 0
     display_t display
         double limitLow -15
@@ -36222,8 +36262,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736158826
-        int nanoseconds 903178551
+        long secondsPastEpoch 1736162430
+        int nanoseconds 474005653
         int userTag 0
     string extra1 
     string[] extra2 []
@@ -36404,8 +36444,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736158827
-        int nanoseconds 243831201
+        long secondsPastEpoch 1736162430
+        int nanoseconds 731523976
         int userTag 0
 
 # test_wrap
@@ -36710,8 +36750,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736158827
-        int nanoseconds 505699011
+        long secondsPastEpoch 1736162430
+        int nanoseconds 880690564
         int userTag 0
     display_t display
         double limitLow -15
@@ -36794,8 +36834,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736158827
-        int nanoseconds 623025393
+        long secondsPastEpoch 1736162430
+        int nanoseconds 993141175
         int userTag 0
     valueAlarm_t valueAlarm
         boolean active false
@@ -36877,8 +36917,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736158827
-        int nanoseconds 740734067
+        long secondsPastEpoch 1736162431
+        int nanoseconds 58381575
         int userTag 0
 
 # test_wrap
@@ -36954,8 +36994,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736158827
-        int nanoseconds 857361572
+        long secondsPastEpoch 1736162431
+        int nanoseconds 119304580
         int userTag 0
     valueAlarm_t valueAlarm
         boolean active false
@@ -37036,8 +37076,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736158827
-        int nanoseconds 973948743
+        long secondsPastEpoch 1736162431
+        int nanoseconds 182748848
         int userTag 0
 
 # test_wrap
@@ -37115,8 +37155,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736158828
-        int nanoseconds 90298038
+        long secondsPastEpoch 1736162431
+        int nanoseconds 242355497
         int userTag 0
 
 # test_wrap
@@ -37201,8 +37241,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736158828
-        int nanoseconds 206871126
+        long secondsPastEpoch 1736162431
+        int nanoseconds 306396229
         int userTag 0
     string extra1 
     string[] extra2 []
@@ -37300,8 +37340,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736158828
-        int nanoseconds 322320835
+        long secondsPastEpoch 1736162431
+        int nanoseconds 373800326
         int userTag 0
     string extra1 
     string[] extra2 []
@@ -37413,7 +37453,7 @@
 ok 56 - result.errors.size() == 2
 ok
 All tests successful.
-Files=18, Tests=687,  2 wallclock secs ( 0.50 usr  0.12 sys +  1.30 cusr  0.46 csys =  2.38 CPU)
+Files=18, Tests=687,  1 wallclock secs ( 0.44 usr  0.08 sys +  0.65 cusr  0.31 csys =  1.48 CPU)
 Result: PASS
 -------------------
 
@@ -37587,8 +37627,8 @@
 structure 
     double value 0
     time_t timeStamp
-        long secondsPastEpoch 1736158838
-        int nanoseconds 663863114
+        long secondsPastEpoch 1736162437
+        int nanoseconds 487979993
         int userTag 0
  pvRecordStructure
 epics:nt/NTScalar:1.0 
@@ -37604,15 +37644,15 @@
 structure 
     double value 1
     time_t timeStamp
-        long secondsPastEpoch 1736158838
-        int nanoseconds 663989989
+        long secondsPastEpoch 1736162437
+        int nanoseconds 488042987
         int userTag 0
  pvRecordStructure
 epics:nt/NTScalar:1.0 
     double value 1
     time_t timeStamp
-        long secondsPastEpoch 1736158838
-        int nanoseconds 663982697
+        long secondsPastEpoch 1736162437
+        int nanoseconds 488038427
         int userTag 0
 
 ok 17 - result==true
@@ -37862,7 +37902,7 @@
 RecordClient::~RecordClient exampleDouble
 ok
 All tests successful.
-Files=5, Tests=129,  1 wallclock secs ( 0.22 usr  0.04 sys +  0.36 cusr  0.14 csys =  0.76 CPU)
+Files=5, Tests=129,  0 wallclock secs ( 0.11 usr  0.01 sys +  0.15 cusr  0.07 csys =  0.34 CPU)
 Result: PASS
 -------------------
 
@@ -37895,52 +37935,52 @@
 testmon.t .. 
 1..79
 # ------- TestMonitor::test_event --------
-# createChannel test1 0x1887b20
+# createChannel test1 0x2081b20
 # channelCreated test1
 # channelStateChange test1 1
 # pre-test setup
 # Push the initial event through from upstream to downstream
-# TestPVChannel::createMonitor test1 0x18884e8
-# TestPVMonitor::start 0x18884e8
+# TestPVChannel::createMonitor test1 0x20824e8
+# TestPVMonitor::start 0x20824e8
 #  need wakeup
 #  push current
-# monitorConnect 0x18890a0 1
+# monitorConnect 0x20830a0 1
 ok  1 - mreq->eventCnt (0) == 0u (0)
 ok  2 - mon->start().isSuccess()
 # TestProvider::dispatch
-#   wakeup monitor 0x18884e8
-# TestPVMonitor::poll 0x18884e8 0x1887fe0
-# TestPVMonitor::release 0x18884e8 0x1887fe0
-# TestPVMonitor::poll 0x18884e8 (nil)
-# monitorEvent 0x18890a0
+#   wakeup monitor 0x20824e8
+# TestPVMonitor::poll 0x20824e8 0x2081fe0
+# TestPVMonitor::release 0x20824e8 0x2081fe0
+# TestPVMonitor::poll 0x20824e8 (nil)
+# monitorEvent 0x20830a0
 ok  3 - mreq->eventCnt (1) == 1u (1)
 ok  4 - !!elem.get()
 ok  5 - toString(*elem->changedBitSet) ({0}) == "{0}" ({0})
 ok  6 - elem && elem->pvStructurePtr->getSubFieldT<pvd::PVInt>("x")->get()==1
 ok  7 - !mon->poll()
 # ------- TestMonitor::test_share --------
-# createChannel test1 0x1887b20
+# createChannel test1 0x2081b20
 # channelCreated test1
 # channelStateChange test1 1
 # pre-test setup
 # Test two downstream monitors sharing the same upstream
-# TestPVChannel::createMonitor test1 0x18883b0
-# TestPVMonitor::start 0x18883b0
+# TestPVChannel::createMonitor test1 0x20823b0
+# TestPVMonitor::start 0x20823b0
 #  need wakeup
 #  push current
-# monitorConnect 0x18890a0 1
-# monitorConnect 0x1888a48 1
+# monitorConnect 0x20830a0 1
+# monitorConnect 0x2082a48 1
 ok  8 - mreq->eventCnt==0
 ok  9 - mreq2->eventCnt==0
 ok 10 - mon->start().isSuccess()
 ok 11 - mon2->start().isSuccess()
 # TestProvider::dispatch
-#   wakeup monitor 0x18883b0
-# TestPVMonitor::poll 0x18883b0 0x1887fe0
-# TestPVMonitor::release 0x18883b0 0x1887fe0
-# TestPVMonitor::poll 0x18883b0 (nil)
-# monitorEvent 0x1888a48
-# monitorEvent 0x18890a0
+#   wakeup monitor 0x20823b0
+# TestPVMonitor::poll 0x20823b0 0x2081fe0
+# TestPVMonitor::release 0x20823b0 0x2081fe0
+# TestPVMonitor::poll 0x20823b0 (nil)
+# monitorEvent 0x2082a48
+# monitorEvent 0x20830a0
 ok 12 - mreq->eventCnt==1
 ok 13 - mreq2->eventCnt==1
 ok 14 - !!elem.get()
@@ -37954,13 +37994,13 @@
 ok 22 - !mon2->poll()
 # explicitly push an update
 # post test1 1 changed '{1}'
-# push 0x1886ed0 changed '{1}' overflow '{}'
+# push 0x2080ed0 changed '{1}' overflow '{}'
 #  wakeup
-# TestPVMonitor::poll 0x18883b0 0x1886ed0
-# TestPVMonitor::release 0x18883b0 0x1886ed0
-# TestPVMonitor::poll 0x18883b0 (nil)
-# monitorEvent 0x1888a48
-# monitorEvent 0x18890a0
+# TestPVMonitor::poll 0x20823b0 0x2080ed0
+# TestPVMonitor::release 0x20823b0 0x2080ed0
+# TestPVMonitor::poll 0x20823b0 (nil)
+# monitorEvent 0x2082a48
+# monitorEvent 0x20830a0
 ok 23 - !!elem.get()
 ok 24 - !!elem2.get()
 ok 25 - elem!=elem2
@@ -37973,70 +38013,70 @@
 ok 30 - !mon->poll()
 ok 31 - !mon2->poll()
 # ------- TestMonitor::test_ds_no_start --------
-# createChannel test1 0x1887b20
+# createChannel test1 0x2081b20
 # channelCreated test1
 # channelStateChange test1 1
 # pre-test setup
 # Test downstream monitor never start()s
-# TestPVChannel::createMonitor test1 0x1887310
-# TestPVMonitor::start 0x1887310
+# TestPVChannel::createMonitor test1 0x2081310
+# TestPVMonitor::start 0x2081310
 #  need wakeup
 #  push current
-# monitorConnect 0x18890a0 1
+# monitorConnect 0x20830a0 1
 # TestProvider::dispatch
-#   wakeup monitor 0x1887310
-# TestPVMonitor::poll 0x1887310 0x1888d78
-# TestPVMonitor::release 0x1887310 0x1888d78
-# TestPVMonitor::poll 0x1887310 (nil)
+#   wakeup monitor 0x2081310
+# TestPVMonitor::poll 0x2081310 0x2082d78
+# TestPVMonitor::release 0x2081310 0x2082d78
+# TestPVMonitor::poll 0x2081310 (nil)
 ok 32 - mreq->eventCnt==0
 ok 33 - !mon->poll()
 # post test1 0 changed '{1}'
-# push 0x1886dd0 changed '{1}' overflow '{}'
+# push 0x2080dd0 changed '{1}' overflow '{}'
 # post test1 0 changed '{1}'
-# push 0x1888d78 changed '{1}' overflow '{}'
+# push 0x2082d78 changed '{1}' overflow '{}'
 # post test1 0 changed '{1}'
 # overflow changed '{1}' overrun '{}'
 # post test1 1 changed '{1}'
 # overflow changed '{1}' overrun '{1}'
 #  wakeup
-# TestPVMonitor::poll 0x1887310 0x1886dd0
-# TestPVMonitor::release 0x1887310 0x1886dd0
-# TestPVMonitor::release overflow resume 0x1887310 0x1886dd0
-# TestPVMonitor::poll 0x1887310 0x1888d78
-# TestPVMonitor::release 0x1887310 0x1888d78
-# TestPVMonitor::poll 0x1887310 0x1886dd0
-# TestPVMonitor::release 0x1887310 0x1886dd0
-# TestPVMonitor::poll 0x1887310 (nil)
+# TestPVMonitor::poll 0x2081310 0x2080dd0
+# TestPVMonitor::release 0x2081310 0x2080dd0
+# TestPVMonitor::release overflow resume 0x2081310 0x2080dd0
+# TestPVMonitor::poll 0x2081310 0x2082d78
+# TestPVMonitor::release 0x2081310 0x2082d78
+# TestPVMonitor::poll 0x2081310 0x2080dd0
+# TestPVMonitor::release 0x2081310 0x2080dd0
+# TestPVMonitor::poll 0x2081310 (nil)
 ok 34 - !mon->poll()
 # ------- TestMonitor::test_overflow_upstream --------
-# createChannel test1 0x1887b20
+# createChannel test1 0x2081b20
 # channelCreated test1
 # channelStateChange test1 1
 # pre-test setup
 # Check behavour when upstream monitor overflows (mostly transparent)
-# TestPVChannel::createMonitor test1 0x1887120
-# TestPVMonitor::start 0x1887120
+# TestPVChannel::createMonitor test1 0x2081120
+# TestPVMonitor::start 0x2081120
 #  need wakeup
 #  push current
-# monitorConnect 0x18890a0 1
+# monitorConnect 0x20830a0 1
 ok 35 - mreq->eventCnt==0
 ok 36 - mon->start().isSuccess()
 # TestProvider::dispatch
-#   wakeup monitor 0x1887120
-# TestPVMonitor::poll 0x1887120 0x18880d0
-# TestPVMonitor::release 0x1887120 0x18880d0
-# TestPVMonitor::poll 0x1887120 (nil)
-# monitorEvent 0x18890a0
+#   wakeup monitor 0x2081120
+# TestPVMonitor::poll 0x2081120 0x20820d0
+# TestPVMonitor::release 0x2081120 0x20820d0
+# TestPVMonitor::poll 0x2081120 (nil)
+# monitorEvent 0x20830a0
 ok 37 - mreq->eventCnt==1
 # poll initial update
 ok 38 - !!elem.get()
 ok 39 - !mon->poll()
 # post 50
 # post test1 0 changed '{1}'
-# push 0x1886d98 changed '{1}' overflow '{}'
+# push 0x2080d98 changed '{1}' overflow '{}'
 # post 51
 # post test1 0 changed '{1}'
-# push 0x18880d0 changed '{1}' overflow '{}'
+# push 0x20820d0 changed '{1}' overflow '{}'
 # post 52
 # post test1 0 changed '{1}'
 # overflow changed '{1}' overrun '{}'
@@ -38044,15 +38084,15 @@
 # post test1 1 changed '{1}'
 # overflow changed '{1}' overrun '{1}'
 #  wakeup
-# TestPVMonitor::poll 0x1887120 0x1886d98
-# TestPVMonitor::release 0x1887120 0x1886d98
-# TestPVMonitor::release overflow resume 0x1887120 0x1886d98
-# TestPVMonitor::poll 0x1887120 0x18880d0
-# TestPVMonitor::release 0x1887120 0x18880d0
-# TestPVMonitor::poll 0x1887120 0x1886d98
-# TestPVMonitor::release 0x1887120 0x1886d98
-# TestPVMonitor::poll 0x1887120 (nil)
-# monitorEvent 0x18890a0
+# TestPVMonitor::poll 0x2081120 0x2080d98
+# TestPVMonitor::release 0x2081120 0x2080d98
+# TestPVMonitor::release overflow resume 0x2081120 0x2080d98
+# TestPVMonitor::poll 0x2081120 0x20820d0
+# TestPVMonitor::release 0x2081120 0x20820d0
+# TestPVMonitor::poll 0x2081120 0x2080d98
+# TestPVMonitor::release 0x2081120 0x2080d98
+# TestPVMonitor::poll 0x2081120 (nil)
+# monitorEvent 0x20830a0
 ok 40 - !!elem.get()
 # XX 50
 ok 41 - elem && elem->pvStructurePtr->getSubFieldT<pvd::PVInt>("x")->get()==50
@@ -38072,52 +38112,52 @@
 ok 55 - elem && elem->overrunBitSet->nextSetBit(2)==-1
 ok 56 - !mon->poll()
 # ------- TestMonitor::test_overflow_downstream --------
-# createChannel test1 0x1887b20
+# createChannel test1 0x2081b20
 # channelCreated test1
 # channelStateChange test1 1
 # pre-test setup
 # Check behavour when downstream monitor overflows
-# TestPVChannel::createMonitor test1 0x1888e70
-# TestPVMonitor::start 0x1888e70
+# TestPVChannel::createMonitor test1 0x2082e70
+# TestPVMonitor::start 0x2082e70
 #  need wakeup
 #  push current
-# monitorConnect 0x18890a0 1
+# monitorConnect 0x20830a0 1
 ok 57 - mreq->eventCnt==0
 ok 58 - mon->start().isSuccess()
 # TestProvider::dispatch
-#   wakeup monitor 0x1888e70
-# TestPVMonitor::poll 0x1888e70 0x1888b58
-# TestPVMonitor::release 0x1888e70 0x1888b58
-# TestPVMonitor::poll 0x1888e70 (nil)
-# monitorEvent 0x18890a0
+#   wakeup monitor 0x2082e70
+# TestPVMonitor::poll 0x2082e70 0x2082b58
+# TestPVMonitor::release 0x2082e70 0x2082b58
+# TestPVMonitor::poll 0x2082e70 (nil)
+# monitorEvent 0x20830a0
 ok 59 - mreq->eventCnt==1
 # poll initial update
 ok 60 - !!elem.get()
 # post test1 1 changed '{1}'
-# push 0x18880d0 changed '{1}' overflow '{}'
+# push 0x20820d0 changed '{1}' overflow '{}'
 #  wakeup
-# TestPVMonitor::poll 0x1888e70 0x18880d0
-# TestPVMonitor::release 0x1888e70 0x18880d0
-# TestPVMonitor::poll 0x1888e70 (nil)
-# monitorEvent 0x18890a0
+# TestPVMonitor::poll 0x2082e70 0x20820d0
+# TestPVMonitor::release 0x2082e70 0x20820d0
+# TestPVMonitor::poll 0x2082e70 (nil)
+# monitorEvent 0x20830a0
 # post test1 1 changed '{1}'
-# push 0x1888b58 changed '{1}' overflow '{}'
+# push 0x2082b58 changed '{1}' overflow '{}'
 #  wakeup
-# TestPVMonitor::poll 0x1888e70 0x1888b58
-# TestPVMonitor::release 0x1888e70 0x1888b58
-# TestPVMonitor::poll 0x1888e70 (nil)
+# TestPVMonitor::poll 0x2082e70 0x2082b58
+# TestPVMonitor::release 0x2082e70 0x2082b58
+# TestPVMonitor::poll 0x2082e70 (nil)
 # post test1 1 changed '{1}'
-# push 0x18880d0 changed '{1}' overflow '{}'
+# push 0x20820d0 changed '{1}' overflow '{}'
 #  wakeup
-# TestPVMonitor::poll 0x1888e70 0x18880d0
-# TestPVMonitor::release 0x1888e70 0x18880d0
-# TestPVMonitor::poll 0x1888e70 (nil)
+# TestPVMonitor::poll 0x2082e70 0x20820d0
+# TestPVMonitor::release 0x2082e70 0x20820d0
+# TestPVMonitor::poll 0x2082e70 (nil)
 # post test1 1 changed '{1}'
-# push 0x1888b58 changed '{1}' overflow '{}'
+# push 0x2082b58 changed '{1}' overflow '{}'
 #  wakeup
-# TestPVMonitor::poll 0x1888e70 0x1888b58
-# TestPVMonitor::release 0x1888e70 0x1888b58
-# TestPVMonitor::poll 0x1888e70 (nil)
+# TestPVMonitor::poll 0x2082e70 0x2082b58
+# TestPVMonitor::release 0x2082e70 0x2082b58
+# TestPVMonitor::poll 0x2082e70 (nil)
 ok 61 - !!elem.get()
 ok 62 - elem && elem->pvStructurePtr->getSubFieldT<pvd::PVInt>("x")->get()==50
 ok 63 - elem && elem->changedBitSet->nextSetBit(0)==1
@@ -38150,7 +38190,7 @@
 ok 79 - All instances free'd
 ok
 All tests successful.
-Files=1, Tests=79,  1 wallclock secs ( 0.16 usr  0.02 sys +  0.06 cusr  0.02 csys =  0.26 CPU)
+Files=1, Tests=79,  0 wallclock secs ( 0.08 usr  0.01 sys +  0.04 cusr  0.00 csys =  0.13 CPU)
 Result: PASS
 -------------------
 
@@ -38247,26 +38287,26 @@
 # Setup TestProvider with "test"
 # Create channel
 # channelCreated test
-# createChannel test 0x18e1fb8
+# createChannel test 0x1da4fb8
 ok  1 - !!chan.get()
 ok  2 - creq->waitForConnect()
 ok  3 - chan==creq->chan
 # Create monitor
-# TestPVChannel::createMonitor test 0x18e2400
-# monitorConnect 0x18e2400 1
+# TestPVChannel::createMonitor test 0x1da5400
+# monitorConnect 0x1da5400 1
 ok  4 - !!mon.get()
 ok  5 - mreq->connectStatus.isSuccess()
 ok  6 - !!mreq->dtype.get()
 ok  7 - mreq->eventCnt==0
 # ensure queue is initially empty
-# TestPVMonitor::poll 0x18e2400 (nil)
+# TestPVMonitor::poll 0x1da5400 (nil)
 ok  8 - !mon->poll()
 # Start monitor and check initial update
-# TestPVMonitor::start 0x18e2400
+# TestPVMonitor::start 0x1da5400
 #  need wakeup
 #  push current
 ok  9 - mon->start().isSuccess()
-# TestPVMonitor::poll 0x18e2400 0x18e2200
+# TestPVMonitor::poll 0x1da5400 0x1da5200
 ok 10 - !!elem.get()
 # elem changed '{0}' overflow '{}'
 # elem x=42 y=15
@@ -38276,17 +38316,17 @@
 ok 14 - elem && elem->changedBitSet->nextSetBit(1)==-1
 ok 15 - elem && elem->overrunBitSet->nextSetBit(0)==-1
 ok 16 - elem && elem->overrunBitSet->isEmpty()
-# TestPVMonitor::release 0x18e2400 0x18e2200
+# TestPVMonitor::release 0x1da5400 0x1da5200
 # ensure start() queues only one
-# TestPVMonitor::poll 0x18e2400 (nil)
+# TestPVMonitor::poll 0x1da5400 (nil)
 ok 17 - !mon->poll()
 # Change both fields, only push 'x'
 # post test 1 changed '{1}'
-# push 0x18e2898 changed '{1}' overflow '{}'
+# push 0x1da5898 changed '{1}' overflow '{}'
 #  wakeup
-# monitorEvent 0x18e2400
+# monitorEvent 0x1da5400
 ok 18 - mreq->eventCnt==1
-# TestPVMonitor::poll 0x18e2400 0x18e2898
+# TestPVMonitor::poll 0x1da5400 0x1da5898
 ok 19 - !!elem.get()
 # elem changed '{1}' overflow '{}'
 # elem x=43 y=15
@@ -38295,48 +38335,48 @@
 ok 22 - elem && elem->changedBitSet->nextSetBit(0)==1
 ok 23 - elem && elem->changedBitSet->nextSetBit(2)==-1
 ok 24 - elem && elem->overrunBitSet->isEmpty()
-# TestPVMonitor::release 0x18e2400 0x18e2898
+# TestPVMonitor::release 0x1da5400 0x1da5898
 # ensure queues are empty
-# TestPVMonitor::poll 0x18e2400 (nil)
+# TestPVMonitor::poll 0x1da5400 (nil)
 ok 25 - !mon->poll()
 # overflow queue
 # post test 0 changed '{1}'
-# push 0x18e2200 changed '{1}' overflow '{}'
+# push 0x1da5200 changed '{1}' overflow '{}'
 # post test 0 changed '{1}'
-# push 0x18e2898 changed '{1}' overflow '{}'
+# push 0x1da5898 changed '{1}' overflow '{}'
 # post test 0 changed '{1}'
 # overflow changed '{1}' overrun '{}'
 ok 26 - mreq->eventCnt==1
 # post test 1 changed '{1}'
 # overflow changed '{1}' overrun '{1}'
 #  wakeup
-# monitorEvent 0x18e2400
+# monitorEvent 0x1da5400
 ok 27 - mreq->eventCnt==2
-# TestPVMonitor::poll 0x18e2400 0x18e2200
+# TestPVMonitor::poll 0x1da5400 0x1da5200
 ok 28 - !!elem.get()
 ok 29 - elem && elem->pvStructurePtr->getSubFieldT<pvd::PVInt>("x")->get()==44
 ok 30 - elem && elem->pvStructurePtr->getSubFieldT<pvd::PVInt>("y")->get()==15
 ok 31 - elem && elem->changedBitSet->nextSetBit(0)==1
 ok 32 - elem && elem->overrunBitSet->isEmpty()
-# TestPVMonitor::release 0x18e2400 0x18e2200
-# TestPVMonitor::release overflow resume 0x18e2400 0x18e2200
-# TestPVMonitor::poll 0x18e2400 0x18e2898
+# TestPVMonitor::release 0x1da5400 0x1da5200
+# TestPVMonitor::release overflow resume 0x1da5400 0x1da5200
+# TestPVMonitor::poll 0x1da5400 0x1da5898
 ok 33 - !!elem.get()
 ok 34 - elem && elem->pvStructurePtr->getSubFieldT<pvd::PVInt>("x")->get()==45
 ok 35 - elem && elem->pvStructurePtr->getSubFieldT<pvd::PVInt>("y")->get()==15
 ok 36 - elem && elem->changedBitSet->nextSetBit(0)==1
 ok 37 - elem && elem->overrunBitSet->isEmpty()
-# TestPVMonitor::release 0x18e2400 0x18e2898
-# TestPVMonitor::poll 0x18e2400 0x18e2200
+# TestPVMonitor::release 0x1da5400 0x1da5898
+# TestPVMonitor::poll 0x1da5400 0x1da5200
 ok 38 - !!elem.get()
 ok 39 - elem && elem->pvStructurePtr->getSubFieldT<pvd::PVInt>("x")->get()==47
 ok 40 - elem && elem->pvStructurePtr->getSubFieldT<pvd::PVInt>("y")->get()==15
 ok 41 - elem && elem->changedBitSet->nextSetBit(0)==1
 ok 42 - elem && elem->overrunBitSet->nextSetBit(0)==1
 ok 43 - elem && elem->overrunBitSet->nextSetBit(2)==-1
-# TestPVMonitor::release 0x18e2400 0x18e2200
+# TestPVMonitor::release 0x1da5400 0x1da5200
 # ensure queues are empty
-# TestPVMonitor::poll 0x18e2400 (nil)
+# TestPVMonitor::poll 0x1da5400 (nil)
 ok 44 - !mon->poll()
 ok 45 - mreq->eventCnt==2
 # num. live TestChannelMonitorRequester 0
@@ -38355,7 +38395,7 @@
           but was built with TOP = "/build/reproducible-path/epics-base-7.0.8.1+dfsg1"
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbGetField("test:mbbi", 0) -> "one" == "one"
@@ -38755,7 +38795,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 82 - mask ({1}) == pvd::BitSet().set(root->getSubFieldT("li")->getFieldOffset()) ({1})
@@ -38776,7 +38816,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 94 - dbPutField("TEST", dbr=5, count=9, ...) -> 0
@@ -38804,7 +38844,7 @@
           but was built with TOP = "/build/reproducible-path/epics-base-7.0.8.1+dfsg1"
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-06T10:16+0000
+## Rev. 2025-01-06T11:17+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # test single get
@@ -38928,8 +38968,8 @@
 #             int status 0
 #             string message NO_ALARM
 #         structure timeStamp
-#             long secondsPastEpoch 1736158855
-#             int nanoseconds 698341943
+#             long secondsPastEpoch 1736162447
+#             int nanoseconds 456154009
 #             int userTag 0
 #         structure display
 #             double limitLow 0
@@ -38962,8 +39002,8 @@
 #             int status 0
 #             string message NO_ALARM
 #         structure timeStamp
-#             long secondsPastEpoch 1736158855
-#             int nanoseconds 698358568
+#             long secondsPastEpoch 1736162447
+#             int nanoseconds 456163468
 #             int userTag 0
 #         structure display
 #             double limitLow 0
@@ -38996,8 +39036,8 @@
 #             int status 0
 #             string message 
 #         structure timeStamp
-#             long secondsPastEpoch 1736158855
-#             int nanoseconds 696893522
+#             long secondsPastEpoch 1736162447
+#             int nanoseconds 455607140
 #             int userTag 0
 #         structure display
 #             double limitLow -2.14748e+09
@@ -39169,7 +39209,7 @@
 -------------------
 testpvif.t       (Wstat: 0 Tests: 98 Failed: 0)
   TODO passed:   40
-Files=6, Tests=343,  3 wallclock secs ( 0.32 usr  0.04 sys +  0.98 cusr  0.20 csys =  1.54 CPU)
+Files=6, Tests=343,  3 wallclock secs ( 0.17 usr  0.01 sys +  0.48 cusr  0.11 csys =  0.77 CPU)
 Result: PASS
 -------------------
 
@@ -39348,12 +39388,12 @@
 make[7]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/ioc/O.linux-arm'
 perl -CSD /build/reproducible-path/epics-base-7.0.8.1+dfsg1/bin/linux-arm/genVersionHeader.pl   -t ../../../../.. -N EPICS_VCS_VERSION -V "" ../O.Common/epicsVCS.h
 Updating VCS header ../O.Common/epicsVCS.h
-    from: EPICS_VCS_VERSION = "2025-01-06T10:16+0000"
-    to:   EPICS_VCS_VERSION = "2025-01-06T10:21+0000"
+    from: EPICS_VCS_VERSION = "2025-01-06T11:17+0000"
+    to:   EPICS_VCS_VERSION = "2025-01-06T11:21+0000"
 /usr/bin/gcc  -D_GNU_SOURCE -D_DEFAULT_SOURCE        -DUSE_TYPED_RSET -DUSE_TYPED_DSET   -DUNIX  -Dlinux     -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O3   -Wall -Werror-implicit-function-declaration           -D_FILE_OFFSET_BITS=64  -fPIC -I. -I../O.Common -I. -I. -I.. -I../as -I../bpt -I../db -I../dbStatic -I../dbtemplate -I../misc -I../registry -I../rsrv -I../../../../../include/compiler/gcc -I../../../../../include/os/Linux -I../../../../../include         -MM -MF epicsRelease.d  ../misc/epicsRelease.c
 perl -CSD /build/reproducible-path/epics-base-7.0.8.1+dfsg1/bin/linux-arm/genVersionHeader.pl   -t ../../../../.. -N EPICS_VCS_VERSION -V "" ../O.Common/epicsVCS.h
 Keeping VCS header ../O.Common/epicsVCS.h
-    EPICS_VCS_VERSION = "2025-01-06T10:21+0000"
+    EPICS_VCS_VERSION = "2025-01-06T11:21+0000"
 /usr/bin/gcc  -D_GNU_SOURCE -D_DEFAULT_SOURCE        -DUSE_TYPED_RSET -DUSE_TYPED_DSET   -DUNIX  -Dlinux   -DBUILDING_dbCore_API  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/epics-base-7.0.8.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -O3   -Wall -Werror-implicit-function-declaration           -D_FILE_OFFSET_BITS=64  -fPIC -I. -I../O.Common -I. -I. -I.. -I../as -I../bpt -I../db -I../dbStatic -I../dbtemplate -I../misc -I../registry -I../rsrv -I../../../../../include/compiler/gcc -I../../../../../include/os/Linux -I../../../../../include         -c ../misc/epicsRelease.c
 /usr/bin/ar -rc    libdbCore.a    asDbLib.o asCa.o asIocRegister.o dbLock.o dbAccess.o dbBkpt.o dbChannel.o dbConstLink.o dbConvert.o dbConvertJSON.o dbDbLink.o dbFastLinkConv.o dbExtractArray.o dbJLink.o dbLink.o dbNotify.o dbScan.o dbEvent.o dbTest.o db_access.o db_test.o recGbl.o callback.o dbCa.o dbCaTest.o cvtBpt.o dbContext.o dbChannelIO.o dbSubscriptionIO.o dbPutNotifyBlocker.o dbContextReadNotifyCache.o dbIocRegister.o chfPlugin.o dbState.o dbUnitTest.o dbServer.o dbStaticLib.o dbYacc.o dbPvdLib.o dbStaticRun.o dbStaticIocRegister.o dbCompleteRecord.o dbLoadTemplate.o dbtoolsIocRegister.o epicsRelease.o iocInit.o miscIocRegister.o dlload.o iocshRegisterCommon.o registerAllRecordDeviceDrivers.o registryRecordType.o registryDeviceSupport.o registryDriverSupport.o registryJLinks.o registryFunction.o registryCommon.o registryIocRegister.o caserverio.o caservertask.o camsgtask.o camessage.o cast_server.o online_notify.o rsrvIocRegister.o 
 /usr/bin/ranlib libdbCore.a
@@ -39898,16 +39938,16 @@
  diversion by libc6 from: /lib/ld-linux-armhf.so.3
 dpkg-shlibdeps: warning: diversions involved - output may be incorrect
  diversion by libc6 to: /lib/ld-linux-armhf.so.3.usr-is-merged
-dpkg-shlibdeps: warning: symbol __aeabi_atexit@CXXABI_ARM_1.3.3 used by debian/libcom3.23.1/usr/lib/arm-linux-gnueabihf/libCom.so.3.23.1 found in none of the libraries
 dpkg-shlibdeps: warning: symbol __aeabi_atexit@CXXABI_ARM_1.3.3 used by debian/libca4.14.4/usr/lib/arm-linux-gnueabihf/libca.so.4.14.4 found in none of the libraries
+dpkg-shlibdeps: warning: symbol __aeabi_atexit@CXXABI_ARM_1.3.3 used by debian/libcom3.23.1/usr/lib/arm-linux-gnueabihf/libCom.so.3.23.1 found in none of the libraries
    dh_installdeb
    dh_gencontrol
    dh_md5sums
    dh_builddeb
+dpkg-deb: building package 'epics-doc' in '../epics-doc_7.0.8.1+dfsg1-7_all.deb'.
 dpkg-deb: building package 'libca-dev' in '../libca-dev_7.0.8.1+dfsg1-7_armhf.deb'.
-dpkg-deb: building package 'libca4.14.4' in '../libca4.14.4_7.0.8.1+dfsg1-7_armhf.deb'.
 dpkg-deb: building package 'libcom3.23.1' in '../libcom3.23.1_7.0.8.1+dfsg1-7_armhf.deb'.
-dpkg-deb: building package 'epics-doc' in '../epics-doc_7.0.8.1+dfsg1-7_all.deb'.
+dpkg-deb: building package 'libca4.14.4' in '../libca4.14.4_7.0.8.1+dfsg1-7_armhf.deb'.
 dpkg-deb: building package 'libcom-dev' in '../libcom-dev_7.0.8.1+dfsg1-7_armhf.deb'.
 dpkg-deb: building package 'libca4.14.4-dbgsym' in '../libca4.14.4-dbgsym_7.0.8.1+dfsg1-7_armhf.deb'.
 dpkg-deb: building package 'libcom3.23.1-dbgsym' in '../libcom3.23.1-dbgsym_7.0.8.1+dfsg1-7_armhf.deb'.
@@ -39918,12 +39958,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: not including original source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/21776/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/21776/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/15256 and its subdirectories
-I: Current time: Sun Jan  5 22:23:58 -12 2025
-I: pbuilder-time-stamp: 1736159038
+I: removing directory /srv/workspace/pbuilder/21776 and its subdirectories
+I: Current time: Tue Jan  7 01:23:00 +14 2025
+I: pbuilder-time-stamp: 1736162580