Diff of the two buildlogs:

--
--- b1/build.log	2025-01-10 22:13:53.401492194 +0000
+++ b2/build.log	2025-01-10 23:10:02.068169050 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Fri Jan 10 08:57:20 -12 2025
-I: pbuilder-time-stamp: 1736542640
+I: Current time: Sat Jan 11 12:14:04 +14 2025
+I: pbuilder-time-stamp: 1736547244
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/trixie-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/32519/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/27748/tmp/hooks/D01_modify_environment starting
+debug: Running on virt32c.
+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 10 22:14 /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/27748/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/27748/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=3 '
-  DISTRIBUTION='trixie'
-  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=trixie
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=arm
+  HOST_ARCH=armhf
   IFS=' 	
   '
-  INVOCATION_ID='d87a23761e5d4559bb13f09a7abcda1a'
-  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='32519'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=78a252f73fec4196ad987bab5124eb63
+  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=27748
   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.T76739L6/pbuilderrc_VwXN --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.T76739L6/b1 --logfile b1/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+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.T76739L6/pbuilderrc_KzuY --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.T76739L6/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 virt64c 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/32519/tmp/hooks/D02_print_environment finished
+I: user script /srv/workspace/pbuilder/27748/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -152,7 +184,7 @@
 Get: 41 http://deb.debian.org/debian trixie/main armhf intltool-debian all 0.35.0+20060710.6 [22.9 kB]
 Get: 42 http://deb.debian.org/debian trixie/main armhf po-debconf all 1.0.21+nmu1 [248 kB]
 Get: 43 http://deb.debian.org/debian trixie/main armhf debhelper all 13.23 [919 kB]
-Fetched 21.4 MB in 1s (28.6 MB/s)
+Fetched 21.4 MB in 1s (24.6 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 ... 19567 files and directories currently installed.)
@@ -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/27748/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for trixie
+I: user script /srv/workspace/pbuilder/27748/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,12 +397,12 @@
     inet6 ::1/128 scope host proto kernel_lo 
        valid_lft forever preferred_lft forever
 dh_auto_clean
-	make -j3 distclean
+	make -j4 distclean
 make[2]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1'
 make -C ./configure realclean
-make[3]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/configure'
 perl -CSD ./src/tools/cvsclean.pl
 rm -rf ./db ./dbd ./doc ./html ./include ./templates ./adl ./alh ./cfg ./edl ./lib/perl ./lib/pkgconfig
+make[3]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/configure'
 rm -rf ./bin ./lib
 rm -f 
 rm -rf O.*
@@ -378,17 +414,17 @@
 rm -rf O.*
 make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/src/tools'
 make -C template/base realclean
-make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/src/template/base'
 make -C template/ext realclean
+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[3]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/test'
 make -C ./modules realclean
+make[3]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/test'
 make[3]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules'
 make -C ./tools realclean
 make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/test/tools'
@@ -404,12 +440,12 @@
 rm -rf O.*
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/libcom/src'
 make -C ./RTEMS realclean
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/libcom/RTEMS'
 make -C ./vxWorks realclean
+make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/libcom/RTEMS'
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/libcom/vxWorks'
 rm -rf O.*
-make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/libcom/vxWorks'
 rm -rf O.*
+make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/libcom/vxWorks'
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/libcom/RTEMS'
 make -C ./test realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/libcom/test'
@@ -417,45 +453,43 @@
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/libcom/test'
 make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/libcom'
 make -C ./ca realclean
-make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca'
 make -C ./pvData realclean
+make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca'
 make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData'
 make -C ./src realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src'
 make -C ./configure realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData/configure'
 make -C ./client realclean
-make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/client'
 make -C ./template realclean
+make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/client'
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/template'
 rm -rf O.*
-make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/client'
-make -C ./tools realclean
-make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/tools'
-rm -rf O.*
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData/configure'
 make -C ./src realclean
-rm -rf O.*
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData/src'
-make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/template'
+rm -rf O.*
+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[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/ca/src/perl'
 rm -rf O.*
+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
+make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData/testApp'
+make -C ./examples realclean
+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
-rm -rf O.*
 make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database'
-make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData/src'
-make -C ./testApp realclean
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData/testApp'
-make -C ./examples realclean
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData/examples'
-make -C ./src realclean
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src'
 rm -rf O.*
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData/testApp'
 rm -rf O.*
@@ -463,58 +497,60 @@
 make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvData'
 make -C ./normativeTypes 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 ./configure realclean
+make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes/configure'
 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[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/tools'
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/template'
-make -C ./configure realclean
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes/configure'
 rm -rf O.*
+make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes/configure'
+make -C ./src realclean
+make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes/src'
 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
+rm -rf O.*
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/ioc'
+make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/template'
 rm -rf O.*
-make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes/configure'
-make -C ./src realclean
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes/src'
+make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes/src'
+make -C ./test realclean
 rm -rf O.*
+make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes/test'
 make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/ioc'
 make -C ./std realclean
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/std'
 rm -rf O.*
-make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes/src'
-make -C ./test realclean
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes/test'
 rm -rf O.*
+make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes/test'
 make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src/std'
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/src'
+make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/normativeTypes'
 make -C ./test realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test'
-rm -rf O.*
-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[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[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/std/rec'
-rm -rf O.*
-make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/ioc/dbtemplate'
 make -C std/link realclean
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/std/link'
 rm -rf O.*
-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]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/std/rec'
-make -C ./tools realclean
+make -C std/filters realclean
+rm -rf O.*
 make[6]: Entering 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.*
+rm -rf O.*
+make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/ioc/db'
+make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/ioc/dbtemplate'
+make -C ./tools realclean
 make[6]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/database/test/std/link'
+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/std/filters'
 rm -rf O.*
@@ -532,95 +568,95 @@
 rm -rf O.*
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/src'
 make -C src/ca realclean
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/src/ca'
 make -C src/ioc realclean
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/src/ioc'
 make -C ./testApp realclean
+make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/src/ca'
+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[5]: Leaving 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/pvtoolsSrc'
 make -C ./testCa 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[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/testApp'
 make -C ./examples realclean
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/examples'
-rm -rf O.*
-make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess/examples'
 rm -rf O.*
+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/testApp'
 rm -rf O.*
 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/examples'
 make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvAccess'
 make -C ./pvaClient realclean
-make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvaClient'
 make -C ./pvDatabase realclean
-make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase'
 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/pvDatabase'
 make[4]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva'
 make -C ./configure realclean
-make -C ./configure realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase/configure'
+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[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/configure'
-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 ./p2pApp realclean
+make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/p2pApp'
 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/pva2pva/p2pApp'
+rm -rf O.*
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvaClient/src'
+make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/configure'
+make -C ./pdbApp realclean
+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 -C ./src realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase/src'
 rm -rf O.*
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/p2pApp'
-make -C ./pdbApp realclean
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/pdbApp'
 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]: 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'
-make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase/test'
 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.*
-make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase/test'
-make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase'
+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'
 rm -rf O.*
 make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/testApp'
 make -C ./iocBoot realclean
 make[5]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot'
+rm -rf O.*
+make[5]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase/test'
+make[4]: Leaving directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pvDatabase'
 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/iocputlog'
-make -C ./iocpvalink realclean
 make[6]: Entering directory '/build/reproducible-path/epics-base-7.0.8.1+dfsg1/modules/pva2pva/iocBoot/iocpvalink'
-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'
-make -C ./iocutag realclean
 make[6]: Entering 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/iocputlog'
+make[6]: Leaving 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/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/iocpvalink'
+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/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/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'
@@ -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-10T21:15+0000"
+    EPICS_VCS_VERSION = "2025-01-10T22:22+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-10T21:15+0000"
+    EPICS_VCS_VERSION = "2025-01-10T22:22+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,  2 wallclock secs ( 0.06 usr  0.02 sys +  1.76 cusr  0.22 csys =  2.06 CPU)
+Files=1, Tests=29,  2 wallclock secs ( 0.09 usr  0.00 sys +  1.63 cusr  0.31 csys =  2.03 CPU)
 Result: PASS
 -------------------
 
@@ -5545,8 +5581,8 @@
 epicsUnitTestTest.t ........... 
 1..1
 # Running under perl version 5.040000 for linux
-# Current time local: Fri Jan 10 22:02:28 2025
-# Current time GMT:   Fri Jan 10 22:02:28 2025
+# Current time local: Fri Jan 10 23:00:52 2025
+# Current time GMT:   Fri Jan 10 23:00:52 2025
 # Using Test.pm version 1.31
 ok 1
 ok
@@ -6398,12 +6434,8 @@
 ok  2 - TEST_VAR_A = "test value"
 ok  3 - TEST_VAR_A = "(null)"
 ok
-errlog: lost 56 messages
-errlog: lost 22 messages
-errlog: lost 9 messages
-errlog: lost 4 messages
-errlog: lost 2 messages
-log client: connected to log server at '127.0.0.1:55867'
+errlog: lost 1 messages
+log client: connected to log server at '127.0.0.1:49871'
 epicsErrlogTest.t ............. 
 1..54
 ok  1 - input "\0" expect "" actual ""
@@ -6447,14 +6479,14 @@
 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 200 (78.1% efficient)
-#  For 128 messages of length 16 got 106 (82.8% efficient)
-#  For 64 messages of length 32 got 55 (85.9% efficient)
-#  For 32 messages of length 64 got 28 (87.5% efficient)
-#  For 16 messages of length 128 got 14 (87.5% efficient)
+#  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 64 (100.0% efficient)
+#  For 32 messages of length 64 got 32 (100.0% efficient)
+#  For 16 messages of length 128 got 15 (93.8% efficient)
 ok 37 - 410: Listener 1 ran
 # Checking buffer use after partial flush
-# Filling with 14 messages of size 128
+# Filling with 15 messages of size 128
 ok 38 - 428: Listener 1 didn't run
 ok 39 - 429: pvt.count (0) == 0 (0)
 # Drained 2 messages
@@ -6462,11 +6494,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 15
+# Logged 17 messages
+ok 43 - Logged 17 messages, expected 16
 ok 44 - Removed 1 listener
 # Testing iocLogPrefix
-# Listening on port 55867
+# Listening on port 49871
 ok 45 - iocLogInit() == 0
 ok 46 - Accepted new client
 ok 47 - Client read configured
@@ -7347,7 +7379,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)
@@ -7393,7 +7425,7 @@
 ok 41 - bad format => '<invalid format>'
 ok 42 - default time provider
 # Running 10 loops
-# 100000 calls to epicsTime::getCurrent() averaged  0.195 usec each
+# 100000 calls to epicsTime::getCurrent() averaged  0.115 usec each
 ok 43 - copy == now
 ok 44 - copy <= now
 ok 45 - copy >= now
@@ -7405,7 +7437,7 @@
 ok 51 - now - now == 0
 ok 52 - now - begin ~= diff
 ok 53 - begin + 0 == begin
-# begin + diff (2025-01-10 22:02:33.020777153) == now (2025-01-10 22:02:33.020777153)
+# begin + diff (2025-01-10 23:00:56.972431577) == now (2025-01-10 23:00:56.972431577)
 ok 54 - begin + diff == now
 ok 55 - now - 0 == now
 ok 56 - now - diff == begin
@@ -7425,7 +7457,7 @@
 ok 70 - now - now == 0
 ok 71 - now - begin ~= diff
 ok 72 - begin + 0 == begin
-# begin + diff (2025-01-10 22:02:33.037694357) == now (2025-01-10 22:02:33.037694357)
+# begin + diff (2025-01-10 23:00:56.985973577) == now (2025-01-10 23:00:56.985973577)
 ok 73 - begin + diff == now
 ok 74 - now - 0 == now
 ok 75 - now - diff == begin
@@ -7445,7 +7477,7 @@
 ok 89 - now - now == 0
 ok 90 - now - begin ~= diff
 ok 91 - begin + 0 == begin
-# begin + diff (2025-01-10 22:02:33.054993525) == now (2025-01-10 22:02:33.054993525)
+# begin + diff (2025-01-10 23:00:56.998805544) == now (2025-01-10 23:00:56.998805544)
 ok 92 - begin + diff == now
 ok 93 - now - 0 == now
 ok 94 - now - diff == begin
@@ -7465,7 +7497,7 @@
 ok 108 - now - now == 0
 ok 109 - now - begin ~= diff
 ok 110 - begin + 0 == begin
-# begin + diff (2025-01-10 22:02:33.072786927) == now (2025-01-10 22:02:33.072786927)
+# begin + diff (2025-01-10 23:00:57.010474841) == now (2025-01-10 23:00:57.010474841)
 ok 111 - begin + diff == now
 ok 112 - now - 0 == now
 ok 113 - now - diff == begin
@@ -7485,7 +7517,7 @@
 ok 127 - now - now == 0
 ok 128 - now - begin ~= diff
 ok 129 - begin + 0 == begin
-# begin + diff (2025-01-10 22:02:33.089843238) == now (2025-01-10 22:02:33.089843238)
+# begin + diff (2025-01-10 23:00:57.022504664) == now (2025-01-10 23:00:57.022504664)
 ok 130 - begin + diff == now
 ok 131 - now - 0 == now
 ok 132 - now - diff == begin
@@ -7505,7 +7537,7 @@
 ok 146 - now - now == 0
 ok 147 - now - begin ~= diff
 ok 148 - begin + 0 == begin
-# begin + diff (2025-01-10 22:02:33.107181063) == now (2025-01-10 22:02:33.107181063)
+# begin + diff (2025-01-10 23:00:57.035198124) == now (2025-01-10 23:00:57.035198124)
 ok 149 - begin + diff == now
 ok 150 - now - 0 == now
 ok 151 - now - diff == begin
@@ -7525,7 +7557,7 @@
 ok 165 - now - now == 0
 ok 166 - now - begin ~= diff
 ok 167 - begin + 0 == begin
-# begin + diff (2025-01-10 22:02:33.123931143) == now (2025-01-10 22:02:33.123931143)
+# begin + diff (2025-01-10 23:00:57.048558202) == now (2025-01-10 23:00:57.048558202)
 ok 168 - begin + diff == now
 ok 169 - now - 0 == now
 ok 170 - now - diff == begin
@@ -7545,7 +7577,7 @@
 ok 184 - now - now == 0
 ok 185 - now - begin ~= diff
 ok 186 - begin + 0 == begin
-# begin + diff (2025-01-10 22:02:33.138918309) == now (2025-01-10 22:02:33.138918309)
+# begin + diff (2025-01-10 23:00:57.060797865) == now (2025-01-10 23:00:57.060797865)
 ok 187 - begin + diff == now
 ok 188 - now - 0 == now
 ok 189 - now - diff == begin
@@ -7565,7 +7597,7 @@
 ok 203 - now - now == 0
 ok 204 - now - begin ~= diff
 ok 205 - begin + 0 == begin
-# begin + diff (2025-01-10 22:02:33.155020850) == now (2025-01-10 22:02:33.155020850)
+# begin + diff (2025-01-10 23:00:57.072035643) == now (2025-01-10 23:00:57.072035643)
 ok 206 - begin + diff == now
 ok 207 - now - 0 == now
 ok 208 - now - diff == begin
@@ -7585,7 +7617,7 @@
 ok 222 - now - now == 0
 ok 223 - now - begin ~= diff
 ok 224 - begin + 0 == begin
-# begin + diff (2025-01-10 22:02:33.170421338) == now (2025-01-10 22:02:33.170421338)
+# begin + diff (2025-01-10 23:00:57.084052107) == now (2025-01-10 23:00:57.084052107)
 ok 225 - begin + diff == now
 ok 226 - now - 0 == now
 ok 227 - now - diff == begin
@@ -7596,20 +7628,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.101339 (-0.063772 %)
-ok 236 - crossCheck(0.100000) actual 0.103943 (-3.943315 %)
-ok 237 - crossCheck(0.020000) actual 0.011937 (40.316330 %)
-ok 238 - crossCheck(0.020000) actual 0.003951 (80.246665 %)
-ok 239 - crossCheck(0.020000) actual 0.011966 (40.172445 %)
+ok 235 - crossCheck(2.100000) actual 2.100118 (-0.005607 %)
+ok 236 - crossCheck(0.100000) actual 0.100107 (-0.106859 %)
+ok 237 - crossCheck(0.020000) actual 0.010119 (49.407285 %)
+ok 238 - crossCheck(0.020000) actual 0.001099 (94.506915 %)
+ok 239 - crossCheck(0.020000) actual 0.010105 (49.474275 %)
 # Resolution 1 ns
-# epicsThreadSleep(0.0) Delta 502652 ns
+# epicsThreadSleep(0.0) Delta 361846 ns
 # Small Delta 120 ns
 # testTMGames()
 ok 240 - !epicsTimeGetCurrent(&now)
-# LTM mday=10 hour=22 min=2 sec=35
-# GTM mday=10 hour=22 min=2 sec=35
-ok 241 - localtime 1105394555 == 1105394555
-ok 242 - gmtime 1105394555 == 1105394555
+# LTM mday=10 hour=23 min=0 sec=59
+# GTM mday=10 hour=23 min=0 sec=59
+ok 241 - localtime 1105398059 == 1105398059
+ok 242 - gmtime 1105398059 == 1105398059
 ok
 epicsTimeZoneTest.t ........... 
 1..160
@@ -7804,16 +7836,16 @@
 1..17
 # System has 4 CPUs
 ok  1 - ncpus > 0
-# main() thread 0x10437f8
-ok  2 - Join delayed parent (2.01186 seconds)
-ok  3 - 0x1045e10 == 0x1045e10 avoid self re-alloc
+# main() thread 0x1f3c7f8
+ok  2 - Join delayed parent (2.00222 seconds)
+ok  3 - 0x1f3ee10 == 0x1f3ee10 avoid self re-alloc
 ok  4 - Join tests #1 completed
-ok  5 - Join delayed parent (2.01216 seconds)
-ok  6 - 0x1045e10 == 0x1045e10 avoid self re-alloc
+ok  5 - Join delayed parent (2.00799 seconds)
+ok  6 - 0x1f3ee10 == 0x1f3ee10 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  9 - pget == pset
+ok 10 - thread.getPriority() == epicsThreadGetPriority(self)
 ok 11 - thread.getPriority() == epicsThreadGetPriority(self)
 ok 12 - pget == pset
 ok 13 - thread.getPriority() == epicsThreadGetPriority(self)
@@ -7929,25 +7961,25 @@
 ok
 epicsThreadOnceTest.t ......... 
 1..10
-ok  1 - once-1: initCount = 1
-ok  2 - once-0: initCount = 1
-ok  3 - once-3: initCount = 1
-ok  4 - once-4: initCount = 1
-ok  5 - once-5: initCount = 1
-ok  6 - once-6: initCount = 1
-ok  7 - once-7: initCount = 1
-ok  8 - once-2: initCount = 1
+ok  1 - once-0: initCount = 1
+ok  2 - once-1: initCount = 1
+ok  3 - once-2: initCount = 1
+ok  4 - once-3: 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-1
+# 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 0xb62006f8 epicsEventWait returned 0
 ok  2 - epicsEventWaitWithTimeout returned 0
-ok  3 - task 0xf71006f8 epicsEventWait returned 0
+ok  3 - task 0xb62006f8 epicsEventWait returned 0
 ok  4 - epicsEventWaitWithTimeout returned 0
-ok  5 - task 0xf71006f8 epicsEventWait returned 0
+ok  5 - task 0xb62006f8 epicsEventWait returned 0
 # No strict priority scheduler
 ok  6 - epicsEventWaitWithTimeout returned 0
 ok  7 - epicsEventWait returned 0
@@ -8052,11 +8084,11 @@
 ok 38 - priv->count==mcnt
 # Waiting for all jobs to start
 ok 39 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+# Job 4
 ok 40 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+# Job 3
 ok 41 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-# Job 4
 ok 42 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-# Job 3
 # Job 2
 # Job 1
 # All jobs running
@@ -8154,20 +8186,20 @@
 ok 80 - epicsJobQueue(priv->job[i])==0
 # i=1
 ok 81 - priv->job[i]!=NULL
-ok 82 - epicsJobQueue(priv->job[i])==0
+ok 82 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+# Job 4
+ok 83 - epicsJobQueue(priv->job[i])==0
 # i=2
-ok 83 - priv->job[i]!=NULL
-ok 84 - epicsJobQueue(priv->job[i])==0
-# i=3
+ok 84 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 ok 85 - priv->job[i]!=NULL
+# Job 3
 ok 86 - epicsJobQueue(priv->job[i])==0
-# Waiting for all jobs to start
+# i=3
 ok 87 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-# Job 4
-ok 88 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-# Job 3
-ok 89 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 88 - priv->job[i]!=NULL
 # 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
@@ -8182,19 +8214,19 @@
 ok 92 - priv->job[i]!=NULL
 ok 93 - epicsJobQueue(priv->job[i])==0
 # i=1
-ok 94 - priv->job[i]!=NULL
-ok 95 - epicsJobQueue(priv->job[i])==0
+ok 94 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 95 - priv->job[i]!=NULL
+# Job 4
+ok 96 - epicsJobQueue(priv->job[i])==0
 # i=2
-ok 96 - priv->job[i]!=NULL
-ok 97 - epicsJobQueue(priv->job[i])==0
-# i=3
+ok 97 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 ok 98 - priv->job[i]!=NULL
+# Job 3
 ok 99 - epicsJobQueue(priv->job[i])==0
+# i=3
+ok 100 - priv->job[i]!=NULL
+ok 101 - epicsJobQueue(priv->job[i])==0
 # 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 103 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
@@ -8212,38 +8244,38 @@
 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 - epicsJobQueue(job[i])==0
-ok 111 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 110 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 111 - epicsJobQueue(job[i])==0
 ok 112 - epicsJobQueue(job)==0
 ok 113 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 114 - epicsJobQueue(job)==0
-ok 115 - epicsJobUnqueue(job)==0
-ok 116 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 117 - epicsJobUnqueue(job)==S_pool_jobIdle
+ok 114 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 115 - epicsJobQueue(job)==0
+ok 116 - epicsJobUnqueue(job)==S_pool_jobIdle
+ok 117 - epicsJobUnqueue(job)==0
 ok 118 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 # testreadd
 ok 119 - (pool=epicsThreadPoolCreate(&conf))!=NULL
 ok 120 - (priv->job=epicsJobCreate(pool, &readdjob, priv))!=NULL
 ok 121 - (priv2->job=epicsJobCreate(pool, &readdjob, priv2))!=NULL
 ok 122 - epicsJobQueue(priv->job)==0
-ok 123 - epicsJobQueue(priv2->job)==0
-ok 124 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 125 - priv->inprogress==0
+ok 123 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 124 - priv->inprogress==0
 # count==5
+ok 125 - epicsJobQueue(priv2->job)==0
 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
@@ -8252,11 +8284,11 @@
 # count==2
 # count==2
 ok 140 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
-ok 141 - priv->inprogress==0
-# count==1
-ok 142 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 141 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
+ok 142 - priv->inprogress==0
 ok 143 - priv->inprogress==0
 # count==1
+# count==1
 ok 144 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 ok 145 - mode==epicsJobModeRun||mode==epicsJobModeCleanup
 ok 146 - priv->inprogress==0
@@ -8301,12 +8333,12 @@
 ok  3 - unregistered counter() not called
 ok  4 - Registered mainExit()
 # threadA starting
-ok  5 - Registered atExit(0x176bd10)
-ok  6 - Registered atThreadExit(0x176bd10)
+ok  5 - Registered atExit(0x861d10)
+ok  6 - Registered atThreadExit(0x861d10)
 # threadA waiting for atExit
 # threadB starting
-ok  7 - Registered atExit(0x176bd60)
-ok  8 - Registered atThreadExit(0x176bd60)
+ok  7 - Registered atExit(0x861d60)
+ok  8 - Registered atThreadExit(0x861d60)
 # threadB waiting for atExit
 # Calling epicsExit
 ok  9 - threadB reached atExit
@@ -8322,32 +8354,32 @@
 ok  1 - Q1==Q2
 # Testing timer accuracy
 ok  2 - timerCount == nTimers
-ok  3 - Delay 1.000 s, error = -4.119837 ms (-0.412 %)
-ok  4 - Delay 1.100 s, error = -4.186663 ms (-0.381 %)
-ok  5 - Delay 1.200 s, error = -4.858513 ms (-0.405 %)
-ok  6 - Delay 1.300 s, error = -4.186329 ms (-0.322 %)
-ok  7 - Delay 1.400 s, error = -0.175900 ms (-0.013 %)
-ok  8 - Delay 1.500 s, error = -4.195113 ms (-0.280 %)
-ok  9 - Delay 1.600 s, error = -4.194925 ms (-0.262 %)
-ok 10 - Delay 1.700 s, error = -4.201817 ms (-0.247 %)
-ok 11 - Delay 1.800 s, error = -4.202310 ms (-0.233 %)
-ok 12 - Delay 1.900 s, error = -4.191603 ms (-0.221 %)
-ok 13 - Delay 2.000 s, error = -4.180557 ms (-0.209 %)
-ok 14 - Delay 2.100 s, error = -4.201988 ms (-0.200 %)
-ok 15 - Delay 2.200 s, error = -4.196401 ms (-0.191 %)
-ok 16 - Delay 2.300 s, error = -4.202573 ms (-0.183 %)
-ok 17 - Delay 2.400 s, error = -4.205686 ms (-0.175 %)
-ok 18 - Delay 2.500 s, error = -4.185980 ms (-0.167 %)
-ok 19 - Delay 2.600 s, error = -4.202731 ms (-0.162 %)
-ok 20 - Delay 2.700 s, error = -4.208843 ms (-0.156 %)
-ok 21 - Delay 2.800 s, error = -4.202476 ms (-0.150 %)
-ok 22 - Delay 2.900 s, error = -4.201268 ms (-0.145 %)
-ok 23 - Delay 3.000 s, error = -4.858959 ms (-0.162 %)
-ok 24 - Delay 3.100 s, error = -4.189775 ms (-0.135 %)
-ok 25 - Delay 3.200 s, error = -4.212185 ms (-0.132 %)
-ok 26 - Delay 3.300 s, error = -4.188860 ms (-0.127 %)
-ok 27 - Delay 3.400 s, error = -4.214610 ms (-0.124 %)
-# average timer delay error -4.086636 ms
+ok  3 - Delay 1.000 s, error = -4.853778 ms (-0.485 %)
+ok  4 - Delay 1.100 s, error = -4.864468 ms (-0.442 %)
+ok  5 - Delay 1.200 s, error = -4.855101 ms (-0.405 %)
+ok  6 - Delay 1.300 s, error = -4.899689 ms (-0.377 %)
+ok  7 - Delay 1.400 s, error = -4.861124 ms (-0.347 %)
+ok  8 - Delay 1.500 s, error = -4.879234 ms (-0.325 %)
+ok  9 - Delay 1.600 s, error = -4.894665 ms (-0.306 %)
+ok 10 - Delay 1.700 s, error = -4.897796 ms (-0.288 %)
+ok 11 - Delay 1.800 s, error = -4.889808 ms (-0.272 %)
+ok 12 - Delay 1.900 s, error = -4.888980 ms (-0.257 %)
+ok 13 - Delay 2.000 s, error = -4.893051 ms (-0.245 %)
+ok 14 - Delay 2.100 s, error = -4.891123 ms (-0.233 %)
+ok 15 - Delay 2.200 s, error = -4.898794 ms (-0.223 %)
+ok 16 - Delay 2.300 s, error = -4.852550 ms (-0.211 %)
+ok 17 - Delay 2.400 s, error = -4.891978 ms (-0.204 %)
+ok 18 - Delay 2.500 s, error = -4.883271 ms (-0.195 %)
+ok 19 - Delay 2.600 s, error = -4.872344 ms (-0.187 %)
+ok 20 - Delay 2.700 s, error = -4.886634 ms (-0.181 %)
+ok 21 - Delay 2.800 s, error = -4.831891 ms (-0.173 %)
+ok 22 - Delay 2.900 s, error = -4.856119 ms (-0.167 %)
+ok 23 - Delay 3.000 s, error = -4.877789 ms (-0.163 %)
+ok 24 - Delay 3.100 s, error = -4.864522 ms (-0.157 %)
+ok 25 - Delay 3.200 s, error = -4.865714 ms (-0.152 %)
+ok 26 - Delay 3.300 s, error = -4.858106 ms (-0.147 %)
+ok 27 - Delay 3.400 s, error = -4.818522 ms (-0.142 %)
+# average timer delay error -4.873082 ms
 # Testing timer cancellation
 ok 28 - timerCount == nTimers
 ok 29 - cancelVerify::expireCount == 0
@@ -8418,16 +8450,16 @@
 ok 36 - epicsRingPointerGetUsed(ring)==0
 # single producer, single consumer without locking
 # Everything enqueued, Stopping consumer
-# Pushed 1000, have 99 remaining unconsumed
-# Expect 901 consumed
-ok 37 - 0x3840384 == 0x3840384
+# Pushed 1000, have 98 remaining unconsumed
+# Expect 902 consumed
+ok 37 - 0x3850385 == 0x3850385
 ok 38 - Consumer consumed all
 ok 39 - !foundCorruption
 # single producer, single consumer with locking
 # Everything enqueued, Stopping consumer
-# Pushed 1000, have 99 remaining unconsumed
-# Expect 901 consumed
-ok 40 - 0x3840384 == 0x3840384
+# Pushed 1000, have 98 remaining unconsumed
+# Expect 902 consumed
+ok 40 - 0x3850385 == 0x3850385
 ok 41 - Consumer consumed all
 ok 42 - !foundCorruption
 ok
@@ -8744,28 +8776,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.003998 sec
-ok 13 - epicsEventWaitWithTimeout(1.000000)  delay error 0.004009 sec
-ok 14 - epicsEventWaitWithTimeout(0.500000)  delay error 0.003384 sec
-ok 15 - epicsEventWaitWithTimeout(0.250000)  delay error 0.001411 sec
-ok 16 - epicsEventWaitWithTimeout(0.125000)  delay error 0.002438 sec
-ok 17 - epicsEventWaitWithTimeout(0.062500)  delay error 0.000860 sec
-ok 18 - epicsEventWaitWithTimeout(0.031250)  delay error 0.000146 sec
-ok 19 - epicsEventWaitWithTimeout(0.015625)  delay error 0.003822 sec
-ok 20 - epicsEventWaitWithTimeout(0.007812)  delay error 0.003669 sec
-ok 21 - epicsEventWaitWithTimeout(0.003906)  delay error 0.003614 sec
-ok 22 - epicsEventWaitWithTimeout(0.001953)  delay error 0.001596 sec
-ok 23 - epicsEventWaitWithTimeout(0.000977)  delay error 0.002646 sec
-ok 24 - epicsEventWaitWithTimeout(0.000488)  delay error 0.003119 sec
-ok 25 - epicsEventWaitWithTimeout(0.000244)  delay error 0.003340 sec
-ok 26 - epicsEventWaitWithTimeout(0.000122)  delay error 0.003507 sec
-ok 27 - epicsEventWaitWithTimeout(0.000061)  delay error 0.003502 sec
-ok 28 - epicsEventWaitWithTimeout(0.000031)  delay error 0.003578 sec
-ok 29 - epicsEventWaitWithTimeout(0.000015)  delay error 0.003570 sec
-ok 30 - epicsEventWaitWithTimeout(0.000008)  delay error 0.003587 sec
-ok 31 - epicsEventWaitWithTimeout(0.000004)  delay error 0.003568 sec
-ok 32 - epicsEventWaitWithTimeout(0.000002)  delay error 0.003635 sec
-ok 33 - Mean delay error was 0.003000 sec
+ok 12 - epicsEventWaitWithTimeout(0.000000)  delay error 0.000074 sec
+ok 13 - epicsEventWaitWithTimeout(1.000000)  delay error 0.000105 sec
+ok 14 - epicsEventWaitWithTimeout(0.500000)  delay error 0.000124 sec
+ok 15 - epicsEventWaitWithTimeout(0.250000)  delay error 0.000136 sec
+ok 16 - epicsEventWaitWithTimeout(0.125000)  delay error 0.000100 sec
+ok 17 - epicsEventWaitWithTimeout(0.062500)  delay error 0.000114 sec
+ok 18 - epicsEventWaitWithTimeout(0.031250)  delay error 0.000113 sec
+ok 19 - epicsEventWaitWithTimeout(0.015625)  delay error 0.000110 sec
+ok 20 - epicsEventWaitWithTimeout(0.007812)  delay error 0.000111 sec
+ok 21 - epicsEventWaitWithTimeout(0.003906)  delay error 0.000110 sec
+ok 22 - epicsEventWaitWithTimeout(0.001953)  delay error 0.000095 sec
+ok 23 - epicsEventWaitWithTimeout(0.000977)  delay error 0.000092 sec
+ok 24 - epicsEventWaitWithTimeout(0.000488)  delay error 0.000091 sec
+ok 25 - epicsEventWaitWithTimeout(0.000244)  delay error 0.000093 sec
+ok 26 - epicsEventWaitWithTimeout(0.000122)  delay error 0.000090 sec
+ok 27 - epicsEventWaitWithTimeout(0.000061)  delay error 0.000092 sec
+ok 28 - epicsEventWaitWithTimeout(0.000031)  delay error 0.000092 sec
+ok 29 - epicsEventWaitWithTimeout(0.000015)  delay error 0.000074 sec
+ok 30 - epicsEventWaitWithTimeout(0.000008)  delay error 0.000074 sec
+ok 31 - epicsEventWaitWithTimeout(0.000004)  delay error 0.000074 sec
+ok 32 - epicsEventWaitWithTimeout(0.000002)  delay error 0.000074 sec
+ok 33 - Mean delay error was 0.000097 sec
 ok 34 - all threads still sleeping
 ok 35 - 1 thread awakened, expected 1
 ok 36 - 2 threads awakened, expected 2
@@ -8778,30 +8810,30 @@
 ok  3 - epicsEventWait ( verify.done ) == epicsEventWaitOK
 ok  4 - epicsMutexLock returned 0
 ok  5 - epicsMutexTryLock returned 0
-# mutexThread 2 starting
-ok  6 - mutexThread 2 epicsMutexLock returned 0
-# mutexThread 1 starting
 # mutexThread 0 starting
+ok  6 - mutexThread 0 epicsMutexLock returned 0
+# mutexThread 1 starting
+# mutexThread 2 starting
 ok  7 - mutexThread 1 epicsMutexLock returned 0
-ok  8 - mutexThread 0 epicsMutexLock returned 0
-ok  9 - mutexThread 2 epicsMutexLock returned 0
+ok  8 - mutexThread 2 epicsMutexLock returned 0
+ok  9 - mutexThread 0 epicsMutexLock returned 0
 ok 10 - mutexThread 1 epicsMutexLock returned 0
-ok 11 - mutexThread 0 epicsMutexLock returned 0
-ok 12 - mutexThread 2 epicsMutexLock returned 0
+ok 11 - mutexThread 2 epicsMutexLock returned 0
+ok 12 - mutexThread 0 epicsMutexLock returned 0
 ok 13 - mutexThread 1 epicsMutexLock returned 0
-ok 14 - mutexThread 0 epicsMutexLock returned 0
-ok 15 - mutexThread 2 epicsMutexLock returned 0
+ok 14 - mutexThread 2 epicsMutexLock returned 0
+ok 15 - mutexThread 0 epicsMutexLock returned 0
 ok 16 - mutexThread 1 epicsMutexLock returned 0
-ok 17 - mutexThread 0 epicsMutexLock returned 0
-ok 18 - mutexThread 2 epicsMutexLock returned 0
+ok 17 - mutexThread 2 epicsMutexLock returned 0
+ok 18 - mutexThread 0 epicsMutexLock returned 0
 ok 19 - mutexThread 1 epicsMutexLock returned 0
-ok 20 - mutexThread 0 epicsMutexLock returned 0
-# mutexThread 2 exiting
-# mutexThread 1 exiting
+ok 20 - mutexThread 2 epicsMutexLock returned 0
 # mutexThread 0 exiting
-# lock()*1/unlock()*1 takes 0.193409 microseconds
-# lock()*2/unlock()*2 takes 0.515461 microseconds
-# lock()*4/unlock()*4 takes 0.807600 microseconds
+# mutexThread 1 exiting
+# mutexThread 2 exiting
+# lock()*1/unlock()*1 takes 0.111824 microseconds
+# lock()*2/unlock()*2 takes 0.207161 microseconds
+# lock()*4/unlock()*4 takes 0.318599 microseconds
 ok
 epicsSpinTest.t ............... 
 1..2
@@ -8816,7 +8848,7 @@
 # spinThread 1 exiting
 # spinThread 2 exiting
 ok  2 - Loops run = 1500 (expecting 1500)
-# lock()*1/unlock()*1 takes 0.234873 microseconds
+# lock()*1/unlock()*1 takes 0.092543 microseconds
 ok
 epicsAtomicTest.t ............. 
 1..50
@@ -10281,16 +10313,16 @@
 ok  3 - Server thread created
 ok  4 - Socket valid
 ok  5 - Client end connected
-ok  6 - Client thread created
-ok  7 - Accepted socket valid
-ok  8 - Socket valid
+ok  6 - Accepted socket valid
+ok  7 - Socket valid
+ok  8 - Client thread created
 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
@@ -10393,14 +10425,14 @@
 # ...  3
 # ...  2
 # ...  1
-# Sender 2 exiting, sent 586 messages
-# Sender 1 exiting, sent 566 messages
-# Sender 3 exiting, sent 581 messages
-# Sender 4 exiting, sent 594 messages
-# Received 566 messages from Sender 1
-# Received 586 messages from Sender 2
-# Received 581 messages from Sender 3
-# Received 594 messages from Sender 4
+# Sender 4 exiting, sent 632 messages
+# Sender 3 exiting, sent 622 messages
+# Sender 1 exiting, sent 614 messages
+# Sender 2 exiting, sent 616 messages
+# Received 614 messages from Sender 1
+# Received 616 messages from Sender 2
+# Received 622 messages from Sender 3
+# Received 632 messages from Sender 4
 ok 74 - errors == 0
 # Receiver one exiting
 ok
@@ -10468,21 +10500,21 @@
 ok 14 - getsockopt IP_MULTICAST_TTL => 1
 # udpSockFanoutBindTest()
 # First test if epicsSocketEnableAddressUseForDatagramFanout() is necessary
-ok 15 - bind() to port 47631
-ok 16 - bind() to 47631 error -1, 98
+ok 15 - bind() to port 55655
+ok 16 - bind() to 55655 error -1, 98
 # Now the real test
-ok 17 - bind() to port 47631
-ok 18 - bind() to port 47631
+ok 17 - bind() to port 55655
+ok 18 - bind() to port 55655
 # 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 57201
-ok 22 - bind() to 57201 error -1, 98
+ok 21 - bind() to port 32999
+ok 22 - bind() to 32999 error -1, 98
 # tcpSockReuseBindTest(1)
 # epicsSocketEnableAddressReuseDuringTimeWaitState
-ok 23 - bind() to port 46875
-ok 24 - bind() to 46875 error -1, 98
+ok 23 - bind() to port 44685
+ok 24 - bind() to 44685 error -1, 98
 ok
 testexecname.t ................ 
 1..1
@@ -10706,11 +10738,11 @@
 # # of CPUs 4
 ok  1 - !epicsFindSymbol("noSuchFunction")
 # Lookup symbol from Com
-ok  2 - 0xf77e11c9 == 0xf77e11c9 (epicsThreadGetCPUs) : (null)
+ok  2 - 0xb6fa11c9 == 0xb6fa11c9 (epicsThreadGetCPUs) : (null)
 # Load and lookup symbol from libca
 # Loading ../../../../lib/linux-arm/libca.so
-ok  3 - Loaded 0x1dfbff8 : (null)
-ok  4 - dbf_text 0xf6c500a8 : (null)
+ok  3 - Loaded 0xdd5ff8 : (null)
+ok  4 - dbf_text 0xb64100a8 : (null)
 ok
 nonEpicsThreadPriorityTest.t .. 
 1..2
@@ -10718,7 +10750,7 @@
 ok  2 - epicsEventWait returned 0
 ok
 All tests successful.
-Files=49, Tests=4392, 239 wallclock secs ( 0.94 usr  0.06 sys +  3.20 cusr  1.12 csys =  5.32 CPU)
+Files=49, Tests=4392, 190 wallclock secs ( 0.88 usr  0.13 sys +  2.19 cusr  1.29 csys =  4.49 CPU)
 Result: PASS
 -------------------
 
@@ -11471,10 +11503,10 @@
 There is a logic_error
 
 On line 48 of ../../testApp/misc/testBaseException.cpp
-./testBaseException(_Z18testLogicExceptionv+0x3b) [0x63152c]
-./testBaseException(main+0x13) [0x6316ec]
-/lib/arm-linux-gnueabihf/libc.so.6(+0x1f4fa) [0xf77504fa]
-/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x5d) [0xf7750596]
+./testBaseException(_Z18testLogicExceptionv+0x3b) [0x44152c]
+./testBaseException(main+0x13) [0x4416ec]
+/lib/arm-linux-gnueabihf/libc.so.6(+0x1f4fa) [0xb6ac04fa]
+/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x5d) [0xb6ac0596]
 To translate run 'addr2line -e execname 0xXXXXXXX ...'
   Note: Must be compiled with debug symbols
 
@@ -11482,20 +11514,20 @@
 There is another logic_error
 
 On line 55 of ../../testApp/misc/testBaseException.cpp
-./testBaseException(_Z18testLogicExceptionv+0xf9) [0x6315ea]
-./testBaseException(main+0x13) [0x6316ec]
-/lib/arm-linux-gnueabihf/libc.so.6(+0x1f4fa) [0xf77504fa]
-/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x5d) [0xf7750596]
+./testBaseException(_Z18testLogicExceptionv+0xf9) [0x4415ea]
+./testBaseException(main+0x13) [0x4416ec]
+/lib/arm-linux-gnueabihf/libc.so.6(+0x1f4fa) [0xb6ac04fa]
+/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x5d) [0xb6ac0596]
 
 ok  1 - testLogicException
 testBaseException... 
 
 all is OK
 On line 38 of ../../testApp/misc/testBaseException.cpp
-./testBaseException(_Z21testBaseExceptionTestv+0x7d) [0x631876]
-./testBaseException(main+0x17) [0x6316f0]
-/lib/arm-linux-gnueabihf/libc.so.6(+0x1f4fa) [0xf77504fa]
-/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x5d) [0xf7750596]
+./testBaseException(_Z21testBaseExceptionTestv+0x7d) [0x441876]
+./testBaseException(main+0x17) [0x4416f0]
+/lib/arm-linux-gnueabihf/libc.so.6(+0x1f4fa) [0xb6ac04fa]
+/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x5d) [0xb6ac0596]
 
 
 
@@ -11723,40 +11755,40 @@
 ok  2 - refs.empty()
 # testSimple()
 # ctor
-# one = 0xfff70708  two = 0xfff70770
-# refs: 0xfff70708, 
-#ptr 0xfff70708: 0xf794a042 0x9c4a1c 0x9c3802 0x9c2076 0xf75d04fa 0xf75d0596 
+# one = 0xbea8c0d8  two = 0xbea8c140
+# refs: 0xbea8c0d8, 
+#ptr 0xbea8c0d8: 0xb6e8a042 0x4e4a1c 0x4e3802 0x4e2076 0xb6b104fa 0xb6b10596 
 # 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: 0xfff70708, 0xfff70770, 
-#ptr 0xfff70708: 0xf794a042 0x9c4a1c 0x9c3802 0x9c2076 0xf75d04fa 0xf75d0596 
-#ptr 0xfff70770: 0xf794a042 0x9c3920 0x9c2076 0xf75d04fa 0xf75d0596 
-# refs: 0xfff70708, 0xfff70770, 
-#ptr 0xfff70708: 0xf794a042 0x9c4a1c 0x9c3802 0x9c2076 0xf75d04fa 0xf75d0596 
-#ptr 0xfff70770: 0xf794a042 0x9c3920 0x9c2076 0xf75d04fa 0xf75d0596 
+# refs: 0xbea8c0d8, 0xbea8c140, 
+#ptr 0xbea8c0d8: 0xb6e8a042 0x4e4a1c 0x4e3802 0x4e2076 0xb6b104fa 0xb6b10596 
+#ptr 0xbea8c140: 0xb6e8a042 0x4e3920 0x4e2076 0xb6b104fa 0xb6b10596 
+# refs: 0xbea8c0d8, 0xbea8c140, 
+#ptr 0xbea8c0d8: 0xb6e8a042 0x4e4a1c 0x4e3802 0x4e2076 0xb6b104fa 0xb6b10596 
+#ptr 0xbea8c140: 0xb6e8a042 0x4e3920 0x4e2076 0xb6b104fa 0xb6b10596 
 ok  6 - refs.size()==2
 ok  7 - refs.find(&one)!=refs.end()
 ok  8 - refs.find(&two)!=refs.end()
 # reset
 # refs: 
 # No refs
-# refs: 0xfff70770, 
-#ptr 0xfff70770: 0xf794a042 0x9c3920 0x9c2076 0xf75d04fa 0xf75d0596 
+# refs: 0xbea8c140, 
+#ptr 0xbea8c140: 0xb6e8a042 0x4e3920 0x4e2076 0xb6b104fa 0xb6b10596 
 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: 0xfff70770, 0xfff707d8, 
-#ptr 0xfff70770: 0xf794a042 0x9c3920 0x9c2076 0xf75d04fa 0xf75d0596 
-#ptr 0xfff707d8: 0xf794a042 0x9c4aa4 0x9c3b3a 0x9c2076 0xf75d04fa 0xf75d0596 
+# refs: 0xbea8c140, 0xbea8c1a8, 
+#ptr 0xbea8c140: 0xb6e8a042 0x4e3920 0x4e2076 0xb6b104fa 0xb6b10596 
+#ptr 0xbea8c1a8: 0xb6e8a042 0x4e4aa4 0x4e3b3a 0x4e2076 0xb6b104fa 0xb6b10596 
 # refs: 
 # No refs
-# three = 0xfff707d8  empty = 0xfff7083c
+# three = 0xbea8c1a8  empty = 0xbea8c20c
 ok 13 - refs.size()==0
 ok 14 - refs.size()==2
 ok 15 - refs.find(&one)==refs.end()
@@ -11807,98 +11839,98 @@
 ok  1 - factory.get()!=NULL
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # boolean
-#  after 0x224bdc0 == 0x224bdc0
+#  after 0x8e3dc0 == 0x8e3dc0
 ok  2 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # boolean[]
-#  after 0x224be28 == 0x224be28
+#  after 0x8e3e28 == 0x8e3e28
 ok  3 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # byte
-#  after 0x224be90 == 0x224be90
+#  after 0x8e3e90 == 0x8e3e90
 ok  4 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # byte[]
-#  after 0x224bf00 == 0x224bf00
+#  after 0x8e3f00 == 0x8e3f00
 ok  5 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # short
-#  after 0x224bf70 == 0x224bf70
+#  after 0x8e3f70 == 0x8e3f70
 ok  6 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # short[]
-#  after 0x224bff0 == 0x224bff0
+#  after 0x8e3ff0 == 0x8e3ff0
 ok  7 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # int
-#  after 0x224c058 == 0x224c058
+#  after 0x8e4058 == 0x8e4058
 ok  8 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # int[]
-#  after 0x224c098 == 0x224c098
+#  after 0x8e4098 == 0x8e4098
 ok  9 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # long
-#  after 0x224c0f0 == 0x224c0f0
+#  after 0x8e40f0 == 0x8e40f0
 ok 10 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # long[]
-#  after 0x224c190 == 0x224c190
+#  after 0x8e4190 == 0x8e4190
 ok 11 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # ubyte
-#  after 0x224c230 == 0x224c230
+#  after 0x8e4230 == 0x8e4230
 ok 12 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # ubyte[]
-#  after 0x224c288 == 0x224c288
+#  after 0x8e4288 == 0x8e4288
 ok 13 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # ushort
-#  after 0x224c2e0 == 0x224c2e0
+#  after 0x8e42e0 == 0x8e42e0
 ok 14 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # ushort[]
-#  after 0x224c338 == 0x224c338
+#  after 0x8e4338 == 0x8e4338
 ok 15 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # uint
-#  after 0x224c390 == 0x224c390
+#  after 0x8e4390 == 0x8e4390
 ok 16 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # uint[]
-#  after 0x224c3e8 == 0x224c3e8
+#  after 0x8e43e8 == 0x8e43e8
 ok 17 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # ulong
-#  after 0x224c440 == 0x224c440
+#  after 0x8e4440 == 0x8e4440
 ok 18 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # ulong[]
-#  after 0x224c520 == 0x224c520
+#  after 0x8e4520 == 0x8e4520
 ok 19 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # float
-#  after 0x224c600 == 0x224c600
+#  after 0x8e4600 == 0x8e4600
 ok 20 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # float[]
-#  after 0x224c658 == 0x224c658
+#  after 0x8e4658 == 0x8e4658
 ok 21 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # double
-#  after 0x224c6b0 == 0x224c6b0
+#  after 0x8e46b0 == 0x8e46b0
 ok 22 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # double[]
-#  after 0x224c708 == 0x224c708
+#  after 0x8e4708 == 0x8e4708
 ok 23 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # time_t
 #     long secondsPastEpoch
 #     int nanoseconds
 #     int userTag
-#  after 0x2260c38 == 0x2260c38
+#  after 0x8f8c38 == 0x8f8c38
 ok 24 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # time_t[]
@@ -11906,16 +11938,16 @@
 #         long secondsPastEpoch
 #         int nanoseconds
 #         int userTag
-#  after 0x2262f10 == 0x2262f10
+#  after 0x8faf10 == 0x8faf10
 ok 25 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # any
-#  after 0x224c1e8 == 0x224c1e8
+#  after 0x8e41e8 == 0x8e41e8
 ok 26 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # any[]
 #     any
-#  after 0x224c848 == 0x224c848
+#  after 0x8e4848 == 0x8e4848
 ok 27 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # union
@@ -11926,7 +11958,7 @@
 #                 short short
 #                 long long
 #     int[] intArray
-#  after 0x22633e8 == 0x22633e8
+#  after 0x8fb3e8 == 0x8fb3e8
 ok 28 - *field == *deserializedField
 # void {anonymous}::serializationFieldTest(const epics::pvData::FieldConstPtr&)
 # union[]
@@ -11938,7 +11970,7 @@
 #                     short short
 #                     long long
 #         int[] intArray
-#  after 0x2263740 == 0x2263740
+#  after 0x8fb740 == 0x8fb740
 ok 29 - *field == *deserializedField
 # Testing equals...
 ok 30 - factory.get()!=NULL
@@ -12176,7 +12208,7 @@
 #     double[] variableArray
 #     double[10] fixedArray
 #     double<1024> boundedArray
-#  after 0x2262f80 == 0x2262f80
+#  after 0x8faf80 == 0x8faf80
 ok 220 - *field == *deserializedField
 ok 221 - Serialization round trip OK
 # Testing bounded string...
@@ -12188,7 +12220,7 @@
 #     string str
 #     string(8) boundedStr
 #     double scalar
-#  after 0x2262f80 == 0x2262f80
+#  after 0x8faf80 == 0x8faf80
 ok 225 - *field == *deserializedField
 ok 226 - Serialization round trip OK
 # testToString(4321)
@@ -12216,14 +12248,14 @@
 1..37
 # Tests timeStamp
 ok  1 - nanoSecPerSec==1000000000
-# current 1736546858 32508967 milliSec 1736546858032
+# current 1736550311 1171826 milliSec 1736550311001
 
-# 2025.01.10 22:07:38 32508967 isDst false
+# 2025.01.10 23:05:11 1171826 isDst false
 
 # fromTime_t
-current 1736546858 0 milliSec 1736546858000
+current 1736550310 0 milliSec 1736550310000
 
-# 2025.01.10 22:07:38 0 isDst false
+# 2025.01.10 23:05:10 0 isDst false
 
 # diff 0.000000e+00
 
@@ -13364,8 +13396,6 @@
         int highWarningSeverity 0
         int highAlarmSeverity 0
         byte hysteresis 0
-
-
 # 
 booleanTest
 epics:nt/NTScalar:1.0 
@@ -13750,9 +13780,9 @@
 ok 223 - PVUnion PVStructure copy, to different type PVUnion
 # Check methods for accessing structure fields
 ok 224 - a.get() != NULL
-ok 225 - 0xa75820 == 0xa75820
+ok 225 - 0x941820 == 0x941820
 ok 226 - a.get() != NULL
-ok 227 - 0xa75758 == 0xa75758
+ok 227 - 0x941758 == 0x941758
 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
@@ -14339,7 +14369,7 @@
 #                 int YY
 #             int Y
 #     int A2
-ok 67 - static_cast<const void*>(amended.get()) (0x11fc328) == static_cast<const void*>(expected.get()) (0x11fc328)
+ok 67 - static_cast<const void*>(amended.get()) (0x22bb328) == static_cast<const void*>(expected.get()) (0x22bb328)
 ok 68 - *amended (structure
 #     int A
 #     structure nest
@@ -14447,7 +14477,7 @@
 ok  9 - ts.getSecondsPastEpoch()==timeStamp.getSecondsPastEpoch()
 ok 10 - ts.getNanoseconds()==timeStamp.getNanoseconds()
 ok 11 - ts.getUserTag()==timeStamp.getUserTag()
-# 2025.01.10 22:07:40 137008024 nanoseconds isDst false userTag 32
+# 2025.01.10 23:05:11 991915949 nanoseconds isDst false userTag 32
 ok 12 - testTimeStamp PASSED
 
 # testControl
@@ -14989,7 +15019,7 @@
 ok 315 - catch expected exception: No field 'invalid' Empty field selection
 ok
 All tests successful.
-Files=32, Tests=2647, 70 wallclock secs ( 0.64 usr  0.08 sys +  1.06 cusr  0.22 csys =  2.00 CPU)
+Files=32, Tests=2647, 68 wallclock secs ( 0.53 usr  0.10 sys +  0.90 cusr  0.30 csys =  1.83 CPU)
 Result: PASS
 -------------------
 
@@ -15061,12 +15091,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-10T21:15+0000"
-    to:   EPICS_VCS_VERSION = "2025-01-10T22:07+0000"
+    from: EPICS_VCS_VERSION = "2025-01-10T22:22+0000"
+    to:   EPICS_VCS_VERSION = "2025-01-10T23:05+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-10T22:07+0000"
+    EPICS_VCS_VERSION = "2025-01-10T23:05+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
@@ -15166,7 +15196,7 @@
 # check scanOnceCallback() callback
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # scanOnce reca
@@ -15179,7 +15209,7 @@
 1..10
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - Thread errlog is running
@@ -15190,7 +15220,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  6 - Thread errlog is running
@@ -15214,7 +15244,7 @@
 #
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Parsing ""
@@ -15316,7 +15346,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 78 - dbParseLink correctly rejected "#"
@@ -15332,7 +15362,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Trying field value ""
@@ -15416,7 +15446,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # rJSON_LINK == "{x:true}"
@@ -15497,7 +15527,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # rJSON_LINK -> "{"x":true}"
@@ -15590,7 +15620,7 @@
 ok 278 - dbReadDatabase returned error (expected)
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 279 - dbGetField("eVME_IO1.INP", 0) -> "#C0 S0 @" == "#C0 S0 @"
@@ -15611,7 +15641,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 291 - dbPutField("rINST_IO.INP", 0, ...) -> 0x200000b (Bad Field value) == 0x200000b (Bad Field value)
@@ -15634,36 +15664,36 @@
 ok 307 - numzalloc==0 (0)
 # Link parsing failures
 Warning: Registration already done.
-# Alloc jlinkz 0x21dcc48
-# Free jlinkz 0x21dcc48
-# Alloc jlinkz 0x21db3d8
-# Free jlinkz 0x21db3d8
-# Alloc jlinkz 0x21db3d8
-# Free jlinkz 0x21db3d8
-# Alloc jlinkz 0x21db3d8
-# Free jlinkz 0x21db3d8
-# Alloc jlinkz 0x21db720
-# Free jlinkz 0x21db720
-# Alloc jlinkz 0x21db7c0
-# Free jlinkz 0x21db7c0
+# Alloc jlinkz 0x17e7270
+# Free jlinkz 0x17e7270
+# Alloc jlinkz 0x17e72b0
+# Free jlinkz 0x17e72b0
+# Alloc jlinkz 0x17e72b0
+# Free jlinkz 0x17e72b0
+# Alloc jlinkz 0x17e72b0
+# Free jlinkz 0x17e72b0
+# Alloc jlinkz 0x17d3a30
+# Free jlinkz 0x17d3a30
+# Alloc jlinkz 0x17d3ad0
+# Free jlinkz 0x17d3ad0
 ok 308 - numzalloc==0 (0)
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
-# Alloc jlinkz 0x21d0860
-# Alloc jlinkz 0x21d08a0
-# Alloc jlinkz 0x21d08e0
-# Alloc jlinkz 0x21d0920
-# Alloc jlinkz 0x21d0960
-# Alloc jlinkz 0x21d09a0
-# Open jlinkz 0x21d0860
-# Open jlinkz 0x21d08a0
-# Open jlinkz 0x21d08e0
-# Open jlinkz 0x21d0920
-# Open jlinkz 0x21d0960
-# Open jlinkz 0x21d09a0
+# Alloc jlinkz 0x17e7438
+# Alloc jlinkz 0x17d48f0
+# Alloc jlinkz 0x17d4930
+# Alloc jlinkz 0x17d4970
+# Alloc jlinkz 0x17d49b0
+# Alloc jlinkz 0x17d49f0
+# Open jlinkz 0x17e7438
+# Open jlinkz 0x17d48f0
+# Open jlinkz 0x17d4930
+# Open jlinkz 0x17d4970
+# Open jlinkz 0x17d49b0
+# Open jlinkz 0x17d49f0
 ok 309 - numzalloc==6 (6)
 ok 310 - dbPutField("j1.PROC", 5, ...) -> 0 (Ok)
 ok 311 - dbPutField("j2.PROC", 5, ...) -> 0 (Ok)
@@ -15675,74 +15705,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 0x21e09b0
-# Remove/free jlinkz 0x21d0920
-# Open jlinkz 0x21e09b0
+# Alloc jlinkz 0x17e38f0
+# Remove/free jlinkz 0x17d4970
+# Open jlinkz 0x17e38f0
 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 0x21d3070
-# Open jlinkz 0x21d3070
+# Alloc jlinkz 0x17e3948
+# Open jlinkz 0x17e3948
 ok 323 - dbPutField("j2.TSEL", 0, ...) -> 0 (Ok)
 ok 324 - dbPutField("j2.PROC", 5, ...) -> 0 (Ok)
 ok 325 - numzalloc==7 (7)
-# Alloc jlinkz 0x21d30c8
-# Found fail key jlinkz 0x21d30c8
-# Free jlinkz 0x21d30c8
+# Alloc jlinkz 0x17e39a0
+# Found fail key jlinkz 0x17e39a0
+# Free jlinkz 0x17e39a0
 ok 326 - dbPutField("j1.INP", 0, ...) -> 0x200000b (Bad Field value) == 0x200000b (Bad Field value)
-# Alloc jlinkz 0x21d30c8
-# Free jlinkz 0x21d30c8
+# Alloc jlinkz 0x17e39a0
+# Free jlinkz 0x17e39a0
 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 0x21d30c8
-# Remove/free jlinkz 0x21d08a0
-# Open jlinkz 0x21d30c8
+# Alloc jlinkz 0x17e39a0
+# Remove/free jlinkz 0x17d48f0
+# Open jlinkz 0x17e39a0
 ok 332 - dbPutField("j1.SDIS", 0, ...) -> 0 (Ok)
-# Alloc jlinkz 0x21d08a0
-# Remove/free jlinkz 0x21e09b0
-# Open jlinkz 0x21d08a0
+# Alloc jlinkz 0x17d48f0
+# Remove/free jlinkz 0x17e38f0
+# Open jlinkz 0x17d48f0
 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 0x21d0860
-# Remove/free jlinkz 0x21d30c8
-# Remove/free jlinkz 0x21d08e0
-# Remove/free jlinkz 0x21d08a0
-# Remove/free jlinkz 0x21d3070
-# Remove/free jlinkz 0x21d0960
-# Remove/free jlinkz 0x21d09a0
+# Remove/free jlinkz 0x17e7438
+# Remove/free jlinkz 0x17e39a0
+# Remove/free jlinkz 0x17d4930
+# Remove/free jlinkz 0x17d48f0
+# Remove/free jlinkz 0x17e3948
+# Remove/free jlinkz 0x17d49b0
+# Remove/free jlinkz 0x17d49f0
 ok 336 - numzalloc==0 (0)
 # Test TSEL link to .TIME
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+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 1105394892:557974629 == 1105394892:557974629
+ok 339 - first 1105398332:273157063 == 1105398332:273157063
 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 1105394892:557974629 == 1105394892:561629064
+ok 343 - second 1105398332:273157063 == 1105398332:274336492
 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 1105394892:557974629 == 1105394892:557974629
+ok 347 - third 1105398332:273157063 == 1105398332:273157063
 ok 348 - rec[1]->tsel.flags & DBLINK_FLAG_TSELisTIME
 ok
 dbLockTest.t ............... 
 1..88
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Check that all records have initialized lockRecord and lockSet
@@ -15783,7 +15813,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 33 - prec->lset->plockSet->refcount==1
@@ -15793,7 +15823,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Test init refcounts
@@ -15827,7 +15857,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 58 - precB->lset->plockSet==precC->lset->plockSet
@@ -15840,14 +15870,14 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
-ok 64 - precA->lset->plockSet (0x2459558) != precG->lset->plockSet (0x2462990)
+ok 64 - precA->lset->plockSet (0x7ca730) != precG->lset->plockSet (0x7cd270)
 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 (0x2459558) == precG->lset->plockSet (0x2459558)
+ok 68 - precA->lset->plockSet (0x7ca730) == precG->lset->plockSet (0x7ca730)
 ok 69 - precA->lset->plockSet->refcount (3) == 3 (3)
 ok 70 - lA->refcount (3) == 3 (3)
 ok 71 - lG->refcount (1) == 1 (1)
@@ -15855,18 +15885,18 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
-ok 72 - lB (0x2459df0) == precC->lset->plockSet (0x2459df0)
-ok 73 - lB (0x2459df0) != lG (0x245bc40)
+ok 72 - lB (0x7ce188) == precC->lset->plockSet (0x7ce188)
+ok 73 - lB (0x7ce188) != lG (0x7cafb0)
 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 (0x2459df0) == lB (0x2459df0)
-ok 78 - precG->lset->plockSet (0x2459df0) == lB (0x2459df0)
-ok 79 - precC->lset->plockSet (0x2459e90) != lB (0x2459df0)
-ok 80 - precC->lset->plockSet (0x2459e90) != lG (0x245bc40)
+ok 77 - precB->lset->plockSet (0x7ce188) == lB (0x7ce188)
+ok 78 - precG->lset->plockSet (0x7ce188) == lB (0x7ce188)
+ok 79 - precC->lset->plockSet (0x7ce228) != lB (0x7ce188)
+ok 80 - precC->lset->plockSet (0x7ce228) != lG (0x7cafb0)
 ok 81 - lB->refcount (3) == 3 (3)
 ok 82 - lG->refcount (1) == 1 (1)
 ok 83 - precC->lset->plockSet->refcount (1) == 1 (1)
@@ -15874,7 +15904,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 84 - precB->lset->plockSet==precC->lset->plockSet
@@ -15888,142 +15918,142 @@
 # lock set stress test
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Running with 5 workers and 40 records
+# worker 0 is 0x160ca20
+# worker 1 is 0x160cb88
 # All started.  Will run for 18.000000 sec
-# worker 3 is 0x1d31e18
-# worker 2 is 0x1d31cb0
-# worker 4 is 0x1d31f80
-# worker 1 is 0x1d31b48
-# worker 0 is 0x1d319e0
+# worker 4 is 0x160d4d0
+# worker 3 is 0x160d1d0
+# worker 2 is 0x160ccf0
 # Stopping
 # All stopped
 # Validate lockSet ref counts
-ok  1 - rec01 only lockRecords hold refs. 39 == 39
+ok  1 - rec01 only lockRecords hold refs. 36 == 36
 ok  2 - ls->ownerlocker==NULL
-ok  3 - rec02 only lockRecords hold refs. 39 == 39
+ok  3 - rec02 only lockRecords hold refs. 36 == 36
 ok  4 - ls->ownerlocker==NULL
-ok  5 - rec03 only lockRecords hold refs. 39 == 39
+ok  5 - rec03 only lockRecords hold refs. 36 == 36
 ok  6 - ls->ownerlocker==NULL
-ok  7 - rec04 only lockRecords hold refs. 39 == 39
+ok  7 - rec04 only lockRecords hold refs. 36 == 36
 ok  8 - ls->ownerlocker==NULL
-ok  9 - rec05 only lockRecords hold refs. 39 == 39
+ok  9 - rec05 only lockRecords hold refs. 36 == 36
 ok 10 - ls->ownerlocker==NULL
-ok 11 - rec06 only lockRecords hold refs. 39 == 39
+ok 11 - rec06 only lockRecords hold refs. 36 == 36
 ok 12 - ls->ownerlocker==NULL
-ok 13 - rec07 only lockRecords hold refs. 39 == 39
+ok 13 - rec07 only lockRecords hold refs. 36 == 36
 ok 14 - ls->ownerlocker==NULL
-ok 15 - rec08 only lockRecords hold refs. 39 == 39
+ok 15 - rec08 only lockRecords hold refs. 36 == 36
 ok 16 - ls->ownerlocker==NULL
-ok 17 - rec09 only lockRecords hold refs. 39 == 39
+ok 17 - rec09 only lockRecords hold refs. 36 == 36
 ok 18 - ls->ownerlocker==NULL
-ok 19 - rec10 only lockRecords hold refs. 39 == 39
+ok 19 - rec10 only lockRecords hold refs. 36 == 36
 ok 20 - ls->ownerlocker==NULL
-ok 21 - rec11 only lockRecords hold refs. 39 == 39
+ok 21 - rec11 only lockRecords hold refs. 36 == 36
 ok 22 - ls->ownerlocker==NULL
-ok 23 - rec12 only lockRecords hold refs. 39 == 39
+ok 23 - rec12 only lockRecords hold refs. 36 == 36
 ok 24 - ls->ownerlocker==NULL
-ok 25 - rec13 only lockRecords hold refs. 39 == 39
+ok 25 - rec13 only lockRecords hold refs. 36 == 36
 ok 26 - ls->ownerlocker==NULL
-ok 27 - rec14 only lockRecords hold refs. 39 == 39
+ok 27 - rec14 only lockRecords hold refs. 36 == 36
 ok 28 - ls->ownerlocker==NULL
-ok 29 - rec15 only lockRecords hold refs. 39 == 39
+ok 29 - rec15 only lockRecords hold refs. 2 == 2
 ok 30 - ls->ownerlocker==NULL
-ok 31 - rec16 only lockRecords hold refs. 39 == 39
+ok 31 - rec16 only lockRecords hold refs. 36 == 36
 ok 32 - ls->ownerlocker==NULL
-ok 33 - rec17 only lockRecords hold refs. 39 == 39
+ok 33 - rec17 only lockRecords hold refs. 36 == 36
 ok 34 - ls->ownerlocker==NULL
-ok 35 - rec18 only lockRecords hold refs. 39 == 39
+ok 35 - rec18 only lockRecords hold refs. 36 == 36
 ok 36 - ls->ownerlocker==NULL
-ok 37 - rec19 only lockRecords hold refs. 39 == 39
+ok 37 - rec19 only lockRecords hold refs. 36 == 36
 ok 38 - ls->ownerlocker==NULL
-ok 39 - rec20 only lockRecords hold refs. 39 == 39
+ok 39 - rec20 only lockRecords hold refs. 1 == 1
 ok 40 - ls->ownerlocker==NULL
-ok 41 - rec21 only lockRecords hold refs. 39 == 39
+ok 41 - rec21 only lockRecords hold refs. 36 == 36
 ok 42 - ls->ownerlocker==NULL
-ok 43 - rec22 only lockRecords hold refs. 39 == 39
+ok 43 - rec22 only lockRecords hold refs. 36 == 36
 ok 44 - ls->ownerlocker==NULL
-ok 45 - rec23 only lockRecords hold refs. 39 == 39
+ok 45 - rec23 only lockRecords hold refs. 36 == 36
 ok 46 - ls->ownerlocker==NULL
-ok 47 - rec24 only lockRecords hold refs. 39 == 39
+ok 47 - rec24 only lockRecords hold refs. 36 == 36
 ok 48 - ls->ownerlocker==NULL
-ok 49 - rec25 only lockRecords hold refs. 39 == 39
+ok 49 - rec25 only lockRecords hold refs. 36 == 36
 ok 50 - ls->ownerlocker==NULL
-ok 51 - rec26 only lockRecords hold refs. 39 == 39
+ok 51 - rec26 only lockRecords hold refs. 36 == 36
 ok 52 - ls->ownerlocker==NULL
-ok 53 - rec27 only lockRecords hold refs. 39 == 39
+ok 53 - rec27 only lockRecords hold refs. 36 == 36
 ok 54 - ls->ownerlocker==NULL
-ok 55 - rec28 only lockRecords hold refs. 39 == 39
+ok 55 - rec28 only lockRecords hold refs. 36 == 36
 ok 56 - ls->ownerlocker==NULL
-ok 57 - rec29 only lockRecords hold refs. 39 == 39
+ok 57 - rec29 only lockRecords hold refs. 36 == 36
 ok 58 - ls->ownerlocker==NULL
-ok 59 - rec30 only lockRecords hold refs. 39 == 39
+ok 59 - rec30 only lockRecords hold refs. 36 == 36
 ok 60 - ls->ownerlocker==NULL
-ok 61 - rec31 only lockRecords hold refs. 39 == 39
+ok 61 - rec31 only lockRecords hold refs. 36 == 36
 ok 62 - ls->ownerlocker==NULL
-ok 63 - rec32 only lockRecords hold refs. 39 == 39
+ok 63 - rec32 only lockRecords hold refs. 36 == 36
 ok 64 - ls->ownerlocker==NULL
-ok 65 - rec33 only lockRecords hold refs. 39 == 39
+ok 65 - rec33 only lockRecords hold refs. 36 == 36
 ok 66 - ls->ownerlocker==NULL
-ok 67 - rec34 only lockRecords hold refs. 39 == 39
+ok 67 - rec34 only lockRecords hold refs. 36 == 36
 ok 68 - ls->ownerlocker==NULL
-ok 69 - rec35 only lockRecords hold refs. 39 == 39
+ok 69 - rec35 only lockRecords hold refs. 36 == 36
 ok 70 - ls->ownerlocker==NULL
-ok 71 - rec36 only lockRecords hold refs. 39 == 39
+ok 71 - rec36 only lockRecords hold refs. 36 == 36
 ok 72 - ls->ownerlocker==NULL
-ok 73 - rec37 only lockRecords hold refs. 39 == 39
+ok 73 - rec37 only lockRecords hold refs. 36 == 36
 ok 74 - ls->ownerlocker==NULL
-ok 75 - rec38 only lockRecords hold refs. 39 == 39
+ok 75 - rec38 only lockRecords hold refs. 36 == 36
 ok 76 - ls->ownerlocker==NULL
-ok 77 - rec39 only lockRecords hold refs. 39 == 39
+ok 77 - rec39 only lockRecords hold refs. 2 == 2
 ok 78 - ls->ownerlocker==NULL
 ok 79 - rec40 only lockRecords hold refs. 1 == 1
 ok 80 - ls->ownerlocker==NULL
 # Statistics
 # Worker 0
-# N = 93248	93073	96271
-# AVG = 18.6769 us	46.7934 us	121.871 us
-# STD = 443.642 us	953.783 us	762.205 us
-# MIN = 0 us	0 us	3.879 us
-# MAX = 28044.6 us	83966.1 us	48018.8 us
+# N = 113478	112980	116461
+# AVG = 27.9787 us	70.9548 us	57.223 us
+# STD = 185.273 us	341.235 us	246.731 us
+# MIN = 0 us	1.399 us	0 us
+# MAX = 6582.5 us	12029.6 us	8396.61 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 = 93694	93991	96448
-# AVG = 15.9936 us	50.8447 us	119.996 us
-# STD = 413.489 us	1013.72 us	720.712 us
-# MIN = 0 us	0 us	3.72 us
-# MAX = 31922.6 us	100164 us	36054.3 us
+# N = 111537	111383	114840
+# AVG = 28.309 us	71.8388 us	58.3251 us
+# STD = 187.019 us	343.668 us	254.28 us
+# MIN = 0 us	1.299 us	0 us
+# MAX = 8104.47 us	11629.3 us	10185.4 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 = 96781	96825	99335
-# AVG = 15.448 us	48.3544 us	117.231 us
-# STD = 412.392 us	952.217 us	773.962 us
-# MIN = 0 us	1.32 us	0 us
-# MAX = 28003.2 us	71891.3 us	72112.9 us
+# N = 112376	112549	116142
+# AVG = 27.7217 us	72.1474 us	56.9953 us
+# STD = 186.792 us	350.425 us	236.83 us
+# MIN = 0 us	0 us	3.88 us
+# MAX = 9102.04 us	10907.6 us	8701.46 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 = 96794	97856	99806
-# AVG = 17.2799 us	47.1749 us	115.771 us
-# STD = 432.493 us	929.962 us	714.73 us
-# MIN = 0 us	0 us	3.74 us
-# MAX = 35986.1 us	63940.3 us	64005.3 us
+# N = 108974	109354	113222
+# AVG = 28.23 us	73.9937 us	59.0983 us
+# STD = 187.266 us	350.565 us	254.919 us
+# MIN = 0 us	1.359 us	0 us
+# MAX = 7228.98 us	10728.8 us	7079.57 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 = 96248	96421	99793
-# AVG = 16.0776 us	46.7293 us	117.818 us
-# STD = 402.249 us	922.76 us	725.637 us
-# MIN = 0 us	1.359 us	0 us
-# MAX = 35991.5 us	79953 us	68100.2 us
+# N = 118252	118570	122076
+# AVG = 25.9954 us	67.679 us	55.3162 us
+# STD = 177.788 us	335.536 us	238.713 us
+# MIN = 0 us	0 us	3.839 us
+# MAX = 6723.07 us	10576.3 us	7915.77 us
 ok 93 - priv[i].N[0]>0
 ok 94 - priv[i].N[1]>0
 ok 95 - priv[i].N[2]>0
@@ -16062,13 +16092,13 @@
 # Waiting 15.00 sec
 ok  2 - 0 faults during callback setup
 # Setup time statistics
-# Priority  LOW  min/avg/max/sigma = 0.003929 / 0.004062 / 0.004133 / 0.000049
-# Priority  MID  min/avg/max/sigma = 0.003929 / 0.004059 / 0.004130 / 0.000049
-# Priority HIGH  min/avg/max/sigma = 0.004158 / 0.004237 / 0.004314 / 0.000044
+# Priority  LOW  min/avg/max/sigma = 0.000306 / 0.000384 / 0.000452 / 0.000040
+# Priority  MID  min/avg/max/sigma = 0.000112 / 0.000187 / 0.000254 / 0.000040
+# Priority HIGH  min/avg/max/sigma = 0.000160 / 0.000234 / 0.000294 / 0.000038
 # Delay time statistics
-# Priority  LOW  min/avg/max/sigma = -0.004753 / -0.002751 / 0.007989 / 0.002119
-# Priority  MID  min/avg/max/sigma = -0.004767 / -0.002570 / 0.007989 / 0.002256
-# Priority HIGH  min/avg/max/sigma = -0.004890 / -0.001172 / 0.007780 / 0.002731
+# Priority  LOW  min/avg/max/sigma = -0.004892 / -0.004793 / 0.000173 / 0.000664
+# Priority  MID  min/avg/max/sigma = -0.004885 / -0.004784 / 0.000176 / 0.000669
+# Priority HIGH  min/avg/max/sigma = -0.004925 / -0.004820 / 0.000136 / 0.000668
 ok
 callbackParallelTest.t ..... 
 1..2
@@ -16077,13 +16107,13 @@
 # Waiting 15.00 sec
 ok  2 - 0 faults during callback setup
 # Setup time statistics
-# Priority  LOW  min/avg/max/sigma = 0.000246 / 0.000322 / 0.000375 / 0.000033
-# Priority  MID  min/avg/max/sigma = 0.008132 / 0.008244 / 0.008316 / 0.000046
-# Priority HIGH  min/avg/max/sigma = 0.007927 / 0.008038 / 0.008099 / 0.000040
+# Priority  LOW  min/avg/max/sigma = 0.000099 / 0.001479 / 0.002774 / 0.000804
+# Priority  MID  min/avg/max/sigma = 0.000197 / 0.001627 / 0.002884 / 0.000780
+# Priority HIGH  min/avg/max/sigma = 0.000107 / 0.001512 / 0.002788 / 0.000790
 # Delay time statistics
-# Priority  LOW  min/avg/max/sigma = -0.004808 / -0.002308 / 0.004277 / 0.002460
-# Priority  MID  min/avg/max/sigma = -0.004356 / -0.001614 / 0.003787 / 0.002104
-# Priority HIGH  min/avg/max/sigma = -0.004815 / -0.002074 / 0.004000 / 0.002240
+# Priority  LOW  min/avg/max/sigma = -0.004877 / -0.004711 / 0.002719 / 0.001000
+# Priority  MID  min/avg/max/sigma = -0.004944 / -0.004724 / 0.002731 / 0.001011
+# Priority HIGH  min/avg/max/sigma = -0.004948 / -0.004757 / 0.002725 / 0.001017
 ok
 dbStateTest.t .............. 
 1..20
@@ -16158,7 +16188,7 @@
 # Check dbcaStats
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # No CA links
@@ -16174,7 +16204,7 @@
 # Link to a scalar numeric field
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbLockGetLockId((dbCommon*)psrc)!=dbLockGetLockId((dbCommon*)ptarg)
@@ -16194,7 +16224,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 12 - dbLockGetLockId((dbCommon*)psrc)!=dbLockGetLockId((dbCommon*)ptarg)
@@ -16208,7 +16238,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 19 - waitCounter (1) == 1 (1)
@@ -16218,7 +16248,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # fetch source.INP into source.BPTR
@@ -16239,7 +16269,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # fetch source.INP into source.BPTR
@@ -16260,7 +16290,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # fetch source.INP into source.BPTR
@@ -16281,7 +16311,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # fetch source.INP into source.BPTR
@@ -16301,7 +16331,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 65 - dbGetLink() succeeds
@@ -16320,7 +16350,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 73 - ca_create_channel("target1", NULL, NULL, 0, &chanid)
@@ -16369,7 +16399,7 @@
 1..18
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # checkTime()
@@ -16398,17 +16428,17 @@
 # Test single-threaded I/O Intr scanning
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Scan first list
 # Scan second list
 # Wait for first list to complete
 ok  1 - td->hasprocd[prio]==0
-ok  2 - td->hasprocd[prio]==1
-ok  3 - td->getcomplete[prio]==0
-ok  4 - td->hasprocd[prio]==0
-ok  5 - td->hasprocd[prio]==1
+ok  2 - td->hasprocd[prio]==0
+ok  3 - td->hasprocd[prio]==1
+ok  4 - td->hasprocd[prio]==1
+ok  5 - td->getcomplete[prio]==0
 ok  6 - td->getcomplete[prio]==0
 ok  7 - td->hasprocd[prio]==0
 ok  8 - td->hasprocd[prio]==1
@@ -16428,10 +16458,10 @@
 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]==1
-ok 24 - td->getcomplete[prio]==0
-ok 25 - td->hasprocd[prio]==0
-ok 26 - td->hasprocd[prio]==1
+ok 23 - td->hasprocd[prio]==0
+ok 24 - td->hasprocd[prio]==1
+ok 25 - td->hasprocd[prio]==1
+ok 26 - td->getcomplete[prio]==0
 ok 27 - td->getcomplete[prio]==0
 ok 28 - td->hasprocd[prio]==0
 ok 29 - td->hasprocd[prio]==1
@@ -16454,7 +16484,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Scan first list
@@ -16462,8 +16492,8 @@
 # Wait for first list to complete
 ok 43 - td->hasprocd[prio]==0
 ok 44 - td->hasprocd[prio]==1
-ok 45 - td->getcomplete[prio]==0
-ok 46 - td->hasprocd[prio]==0
+ok 45 - td->hasprocd[prio]==0
+ok 46 - td->getcomplete[prio]==0
 ok 47 - td->hasprocd[prio]==1
 ok 48 - td->getcomplete[prio]==0
 ok 49 - td->hasprocd[prio]==0
@@ -16484,10 +16514,10 @@
 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]==1
-ok 66 - td->getcomplete[prio]==0
-ok 67 - td->hasprocd[prio]==0
-ok 68 - td->hasprocd[prio]==1
+ok 65 - td->hasprocd[prio]==0
+ok 66 - td->hasprocd[prio]==1
+ok 67 - td->hasprocd[prio]==1
+ok 68 - td->getcomplete[prio]==0
 ok 69 - td->getcomplete[prio]==0
 ok 70 - td->hasprocd[prio]==0
 ok 71 - td->hasprocd[prio]==1
@@ -16509,7 +16539,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Scan first list
@@ -16539,10 +16569,10 @@
 # Release all and complete
 ok 105 - (0x0)&(0x1)==0
 ok 106 - (0x0)&(0x2)==0
-ok 107 - (0x2)&(0x4)==0
-ok 108 - (0x2)&(0x1)==0
-ok 109 - (0x1)&(0x2)==0
-ok 110 - (0x3)&(0x4)==0
+ok 107 - (0x0)&(0x4)==0
+ok 108 - (0x0)&(0x2)==0
+ok 109 - (0x3)&(0x4)==0
+ok 110 - (0x4)&(0x1)==0
 ok 111 - data[0].getcomplete==0 (1)
 ok 112 - data[1].getcomplete==0 (1)
 ok 113 - data[2].getcomplete==0 (1)
@@ -16556,20 +16586,20 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Scan first list
 ok 119 - scanIoRequest(drvs[0]->scan)==0x7
 # Scan second list
-ok 120 - scanIoRequest(drvs[1]->scan)==0x7
-# Wait for everything to start
+ok 120 - td->hasprocd==0
 ok 121 - td->hasprocd==0
-ok 122 - td->hasprocd==0
+ok 122 - scanIoRequest(drvs[1]->scan)==0x7
 ok 123 - td->hasprocd==0
 ok 124 - td->hasprocd==0
 ok 125 - td->hasprocd==0
 ok 126 - td->hasprocd==0
+# Wait for everything to start
 # Wait one more second
 ok 127 - data[0].hasprocd==1 (1)
 ok 128 - data[0].getcomplete==0 (0)
@@ -16584,12 +16614,12 @@
 ok 137 - data[5].hasprocd==1 (1)
 ok 138 - data[5].getcomplete==0 (0)
 # Release all and complete
-ok 139 - (0x0)&(0x1)==0
-ok 140 - (0x0)&(0x2)==0
-ok 141 - (0x2)&(0x4)==0
-ok 142 - (0x6)&(0x1)==0
-ok 143 - (0x1)&(0x4)==0
-ok 144 - (0x5)&(0x2)==0
+ok 139 - (0x0)&(0x4)==0
+ok 140 - (0x0)&(0x4)==0
+ok 141 - (0x4)&(0x1)==0
+ok 142 - (0x4)&(0x2)==0
+ok 143 - (0x4)&(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)
@@ -16604,7 +16634,7 @@
 1..76
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - !dbChannelTest("x.NAME")
@@ -16694,7 +16724,7 @@
 1..102
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ------------------------------------------------------------------------------
@@ -18493,7 +18523,7 @@
 ok  1 - register fake arr plugin
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # no parameters []
@@ -18704,7 +18734,7 @@
 ok 42 - dbGetString("recmax.DISA") -> "-1" == "-1"
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # dbGet directly from record
@@ -18813,7 +18843,7 @@
 ok  2 - Wrong alias record in dbStaticTestAlias2.db is expected to fail
 # testEntry("testrec.VAL")
 ok  3 - dbFindRecord(&entry, pv)==0
-# precordType=0x258b8c8 precnode=0x2582228
+# precordType=0x1b768e8 precnode=0x1b6d238
 ok  4 - Record type is 'x' ('x')
 ok  5 - Record name is 'testrec' ('testrec')
 ok  6 - Field name is 'VAL' ('VAL')
@@ -18822,7 +18852,7 @@
 ok  9 - Info item is set
 # testEntry("testalias.VAL")
 ok 10 - dbFindRecord(&entry, pv)==0
-# precordType=0x258b8c8 precnode=0x2582308
+# precordType=0x1b768e8 precnode=0x1b6d318
 ok 11 - Record type is 'x' ('x')
 ok 12 - Record name is 'testrec' ('testrec')
 ok 13 - Field name is 'VAL' ('VAL')
@@ -18831,7 +18861,7 @@
 ok 16 - Info item is set
 # testEntry("testalias2.VAL")
 ok 17 - dbFindRecord(&entry, pv)==0
-# precordType=0x258b8c8 precnode=0x2587cf0
+# precordType=0x1b768e8 precnode=0x1b72d00
 ok 18 - Record type is 'x' ('x')
 ok 19 - Record name is 'testrec' ('testrec')
 ok 20 - Field name is 'VAL' ('VAL')
@@ -18840,7 +18870,7 @@
 ok 23 - Info item is set
 # testEntry("testalias3.VAL")
 ok 24 - dbFindRecord(&entry, pv)==0
-# precordType=0x258b8c8 precnode=0x2587d88
+# precordType=0x1b768e8 precnode=0x1b72d98
 ok 25 - Record type is 'x' ('x')
 ok 26 - Record name is 'testrec' ('testrec')
 ok 27 - Field name is 'VAL' ('VAL')
@@ -18929,12 +18959,12 @@
 ok 102 - dbEntries identical
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # testEntry("testrec.VAL")
 ok 103 - dbFindRecord(&entry, pv)==0
-# precordType=0x258b8c8 precnode=0x2582228
+# precordType=0x1b768e8 precnode=0x1b6d238
 ok 104 - Record type is 'x' ('x')
 ok 105 - Record name is 'testrec' ('testrec')
 ok 106 - Field name is 'VAL' ('VAL')
@@ -18943,7 +18973,7 @@
 ok 109 - Info item is set
 # testEntry("testalias.VAL")
 ok 110 - dbFindRecord(&entry, pv)==0
-# precordType=0x258b8c8 precnode=0x2582308
+# precordType=0x1b768e8 precnode=0x1b6d318
 ok 111 - Record type is 'x' ('x')
 ok 112 - Record name is 'testrec' ('testrec')
 ok 113 - Field name is 'VAL' ('VAL')
@@ -18952,7 +18982,7 @@
 ok 116 - Info item is set
 # testEntry("testalias2.VAL")
 ok 117 - dbFindRecord(&entry, pv)==0
-# precordType=0x258b8c8 precnode=0x2587cf0
+# precordType=0x1b768e8 precnode=0x1b72d00
 ok 118 - Record type is 'x' ('x')
 ok 119 - Record name is 'testrec' ('testrec')
 ok 120 - Field name is 'VAL' ('VAL')
@@ -18961,7 +18991,7 @@
 ok 123 - Info item is set
 # testEntry("testalias3.VAL")
 ok 124 - dbFindRecord(&entry, pv)==0
-# precordType=0x258b8c8 precnode=0x2587d88
+# precordType=0x1b768e8 precnode=0x1b72d98
 ok 125 - Record type is 'x' ('x')
 ok 126 - Record name is 'testrec' ('testrec')
 ok 127 - Field name is 'VAL' ('VAL')
@@ -19161,7 +19191,7 @@
 ok 312 - dbVerify('testrec.FLNK', 'Anything works here!') => 'OK'
 ok
 All tests successful.
-Files=21, Tests=3071, 85 wallclock secs ( 0.64 usr  0.06 sys + 11.52 cusr  1.48 csys = 13.70 CPU)
+Files=21, Tests=3071, 78 wallclock secs ( 0.46 usr  0.09 sys + 19.01 cusr 10.07 csys = 29.63 CPU)
 Result: PASS
 -------------------
 
@@ -19180,8 +19210,8 @@
 msi.t .. 
 1..12
 # Running under perl version 5.040000 for linux
-# Current time local: Fri Jan 10 22:09:30 2025
-# Current time GMT:   Fri Jan 10 22:09:30 2025
+# Current time local: Fri Jan 10 23:06:44 2025
+# Current time GMT:   Fri Jan 10 23:06:44 2025
 # Using Test.pm version 1.31
 ok 1
 ok 2
@@ -19197,7 +19227,7 @@
 ok 12
 ok
 All tests successful.
-Files=1, Tests=12,  1 wallclock secs ( 0.08 usr  0.00 sys +  0.10 cusr  0.04 csys =  0.22 CPU)
+Files=1, Tests=12,  0 wallclock secs ( 0.05 usr  0.00 sys +  0.09 cusr  0.06 csys =  0.20 CPU)
 Result: PASS
 -------------------
 
@@ -19263,7 +19293,7 @@
 1..21
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Test dbGet() and dbPut() from/to an array
@@ -19306,7 +19336,7 @@
 ok  5 - 1311768467750121216 "1311768467750121216"
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # In testint64AfterInit
@@ -19322,7 +19352,7 @@
 1..18
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # In testRetarget
@@ -19351,7 +19381,7 @@
 # testLongStringInit
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbGetDevLink((dbCommon*)rec) == &rec->inp
@@ -19366,7 +19396,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  9 - dbGetField("emptylink.VAL", 10) -> 0.000000e+00 == 0.000000e+00
@@ -19383,7 +19413,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 19 - dbPutField("printf1.FMT", 0, ...) -> 0 (Ok)
@@ -19404,7 +19434,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 33 - dbGetField("aai1.NORD", 5) -> 10 == 10
@@ -19441,7 +19471,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 62 - dbGetField("ev1.VAL", 0) -> "soft event 1" == "soft event 1"
@@ -19461,7 +19491,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 75 - dbGetField("i1.VAL", 7) -> 1234567890123456789 == 1234567890123456789
@@ -19475,7 +19505,7 @@
 # Test FIFO
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - crec->off==0
@@ -19545,7 +19575,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 57 - crec->off==0
@@ -19620,7 +19650,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 117 - dbGet("comp") matches
@@ -19628,7 +19658,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Test incomplete input data
@@ -19642,7 +19672,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 122 - dbGet("comp") matches
@@ -19650,7 +19680,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Test incomplete input data
@@ -19661,7 +19691,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 125 - dbGet("comp") matches
@@ -19669,7 +19699,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 126 - buf (1.000000) ~= expected[i] (1.000000)
@@ -19681,7 +19711,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Test full array
@@ -19696,7 +19726,7 @@
 1..128
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ============ Starting testAsynInputs ============
@@ -19902,7 +19932,7 @@
 1..258
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ============ Starting testGroup0 ============
@@ -20213,7 +20243,7 @@
 1..64
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("seq0.SELN", 4, ...) -> 0 (Ok)
@@ -20317,7 +20347,7 @@
 1..76
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("counter_a.VAL", 10, ...) -> 0 (Ok)
@@ -20401,7 +20431,7 @@
 1..44
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("test_bo_rec.DTYP", 0, ...) -> 0 (Ok)
@@ -20412,7 +20442,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.095496
+ok  9 - HIGH time 2.095559
 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)
@@ -20453,7 +20483,7 @@
 1..36
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("test_bi_rec.DTYP", 0, ...) -> 0 (Ok)
@@ -20497,7 +20527,7 @@
 1..97
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("test_printf_rec.FMT", 0, ...) -> 0 (Ok)
@@ -20602,7 +20632,7 @@
 1..145
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("test_ai_rec.DTYP", 0, ...) -> 0 (Ok)
@@ -20749,7 +20779,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.103891
+ok 145 - ATFC time 3.099674
 # Warning, testing monitors still active at testIocShutdownOk()
 ok
 asTest.t ................ 
@@ -20757,7 +20787,7 @@
 # test Restore
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # initHookAfterInitDevSup
@@ -20816,7 +20846,7 @@
 1..1793
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - interceptor plugin registered
@@ -22682,7 +22712,7 @@
 1..80
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # Test if eventNameToHandle() strips spaces and handles numeric events
@@ -22801,7 +22831,7 @@
 # Testing with regressArray1.db
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbPutField("wf", 10, ...) -> 0 (Ok)
@@ -22813,7 +22843,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  6 - dbGetField("ai1", 5) -> 16 == 16
@@ -22845,7 +22875,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 31 - dbPutField("alarm", 10, ...) -> 0 (Ok)
@@ -22868,7 +22898,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 46 - dbPutField("ai:disconn.PROC", 5, ...) -> 0xffffffff (<Unknown code>) == 0xffffffff (<Unknown code>)
@@ -22878,7 +22908,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 49 - dbGetField("test_calc.CALC", 0) -> "RNDM*100" == "RNDM*100"
@@ -22894,7 +22924,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 58 - !dbChannelOpen(chan)
@@ -22913,7 +22943,7 @@
 1..1267
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ##### Simm initialization #####
@@ -23021,7 +23051,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.000097771 sec)
+ok 84 - simval time <= my time [TSE = 0] (0.000079012 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)
@@ -23029,20 +23059,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.000168144 sec)
+ok 91 - new time stamp from IOC [TSE = -2, no SIOL] (0.000139407 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.000003820 sec)
+ok 96 - time stamp is recent (0.000003000 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.011011722 sec)
+ok 101 - time stamp is recent (0.005134895 sec)
 # ################################################### Record Type ao
 # ## SIMM toggle and SCAN swapping ##
 ok 102 - dbGetField("ao.SCAN", 4) -> 0 == 0
@@ -23110,20 +23140,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.000011859 sec)
+ok 154 - new time stamp from IOC [TSE = -2] (0.000009079 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.000003759 sec)
+ok 159 - time stamp is recent (0.000002780 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.011355689 sec)
+ok 164 - time stamp is recent (0.005120976 sec)
 # ################################################### Record Type aai
 # ## SIMM toggle and SCAN swapping ##
 ok 165 - dbGetField("aai.SCAN", 4) -> 0 == 0
@@ -23170,7 +23200,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.000043456 sec)
+ok 198 - simval time <= my time [TSE = 0] (0.000036757 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)
@@ -23178,20 +23208,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.000139227 sec)
+ok 205 - new time stamp from IOC [TSE = -2, no SIOL] (0.000112489 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.000004360 sec)
+ok 210 - time stamp is recent (0.000003279 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.011371207 sec)
+ok 215 - time stamp is recent (0.005124335 sec)
 # ################################################### Record Type aao
 # ## SIMM toggle and SCAN swapping ##
 ok 216 - dbGetField("aao.SCAN", 4) -> 0 == 0
@@ -23232,20 +23262,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.000010279 sec)
+ok 245 - new time stamp from IOC [TSE = -2] (0.000008500 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.000003199 sec)
+ok 250 - time stamp is recent (0.000002440 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.007579525 sec)
+ok 255 - time stamp is recent (0.005112437 sec)
 # ################################################### Record Type bi
 # ## SIMM toggle and SCAN swapping ##
 ok 256 - dbGetField("bi.SCAN", 4) -> 0 == 0
@@ -23332,7 +23362,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.000092411 sec)
+ok 322 - simval time <= my time [TSE = 0] (0.000076293 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)
@@ -23340,20 +23370,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.000160505 sec)
+ok 329 - new time stamp from IOC [TSE = -2, no SIOL] (0.000129308 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.000004179 sec)
+ok 334 - time stamp is recent (0.000003319 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.006647892 sec)
+ok 339 - time stamp is recent (0.005127075 sec)
 # ################################################### Record Type bo
 # ## SIMM toggle and SCAN swapping ##
 ok 340 - dbGetField("bo.SCAN", 4) -> 0 == 0
@@ -23420,20 +23450,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.000011258 sec)
+ok 391 - new time stamp from IOC [TSE = -2] (0.000008499 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.000003339 sec)
+ok 396 - time stamp is recent (0.000002680 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.007389223 sec)
+ok 401 - time stamp is recent (0.005126535 sec)
 # ################################################### Record Type mbbi
 # ## SIMM toggle and SCAN swapping ##
 ok 402 - dbGetField("mbbi.SCAN", 4) -> 0 == 0
@@ -23520,7 +23550,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.000095031 sec)
+ok 468 - simval time <= my time [TSE = 0] (0.000077473 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)
@@ -23528,20 +23558,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.000166664 sec)
+ok 475 - new time stamp from IOC [TSE = -2, no SIOL] (0.000164765 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.000004279 sec)
+ok 480 - time stamp is recent (0.000003319 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.007733411 sec)
+ok 485 - time stamp is recent (0.005122176 sec)
 # ################################################### Record Type mbbo
 # ## SIMM toggle and SCAN swapping ##
 ok 486 - dbGetField("mbbo.SCAN", 4) -> 0 == 0
@@ -23609,20 +23639,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.000010599 sec)
+ok 538 - new time stamp from IOC [TSE = -2] (0.000009039 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.000003300 sec)
+ok 543 - time stamp is recent (0.000002580 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.007980007 sec)
+ok 548 - time stamp is recent (0.005144434 sec)
 # ################################################### Record Type mbbiDirect
 # ## SIMM toggle and SCAN swapping ##
 ok 549 - dbGetField("mbbiDirect.SCAN", 4) -> 0 == 0
@@ -23709,7 +23739,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.000093871 sec)
+ok 615 - simval time <= my time [TSE = 0] (0.000077813 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)
@@ -23717,20 +23747,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.000168864 sec)
+ok 622 - new time stamp from IOC [TSE = -2, no SIOL] (0.000136568 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.000003999 sec)
+ok 627 - time stamp is recent (0.000003219 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.007839420 sec)
+ok 632 - time stamp is recent (0.005126895 sec)
 # ################################################### Record Type mbboDirect
 # ## SIMM toggle and SCAN swapping ##
 ok 633 - dbGetField("mbboDirect.SCAN", 4) -> 0 == 0
@@ -23798,20 +23828,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.000013299 sec)
+ok 685 - new time stamp from IOC [TSE = -2] (0.000008839 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.000003599 sec)
+ok 690 - time stamp is recent (0.000002580 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.007353807 sec)
+ok 695 - time stamp is recent (0.005125976 sec)
 # ################################################### Record Type longin
 # ## SIMM toggle and SCAN swapping ##
 ok 696 - dbGetField("longin.SCAN", 4) -> 0 == 0
@@ -23874,7 +23904,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.000042556 sec)
+ok 740 - simval time <= my time [TSE = 0] (0.000035937 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)
@@ -23882,20 +23912,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.000139527 sec)
+ok 747 - new time stamp from IOC [TSE = -2, no SIOL] (0.000110370 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.000004160 sec)
+ok 752 - time stamp is recent (0.000003160 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.006701568 sec)
+ok 757 - time stamp is recent (0.005123356 sec)
 # ################################################### Record Type longout
 # ## SIMM toggle and SCAN swapping ##
 ok 758 - dbGetField("longout.SCAN", 4) -> 0 == 0
@@ -23936,20 +23966,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.000009939 sec)
+ok 787 - new time stamp from IOC [TSE = -2] (0.000008459 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.000003539 sec)
+ok 792 - time stamp is recent (0.000002659 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.006901649 sec)
+ok 797 - time stamp is recent (0.005112617 sec)
 # ################################################### Record Type int64in
 # ## SIMM toggle and SCAN swapping ##
 ok 798 - dbGetField("int64in.SCAN", 4) -> 0 == 0
@@ -24012,7 +24042,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.000042556 sec)
+ok 842 - simval time <= my time [TSE = 0] (0.000035937 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)
@@ -24020,20 +24050,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.000139487 sec)
+ok 849 - new time stamp from IOC [TSE = -2, no SIOL] (0.000111050 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.000004860 sec)
+ok 854 - time stamp is recent (0.000003060 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.006688929 sec)
+ok 859 - time stamp is recent (0.005122016 sec)
 # ################################################### Record Type int64out
 # ## SIMM toggle and SCAN swapping ##
 ok 860 - dbGetField("int64out.SCAN", 4) -> 0 == 0
@@ -24074,20 +24104,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.000010959 sec)
+ok 889 - new time stamp from IOC [TSE = -2] (0.000008239 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.000003659 sec)
+ok 894 - time stamp is recent (0.000002659 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.006894489 sec)
+ok 899 - time stamp is recent (0.005114096 sec)
 # ################################################### Record Type stringin
 # ## SIMM toggle and SCAN swapping ##
 ok 900 - dbGetField("stringin.SCAN", 4) -> 0 == 0
@@ -24150,7 +24180,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.000048035 sec)
+ok 944 - simval time <= my time [TSE = 0] (0.000036197 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)
@@ -24158,20 +24188,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.000158165 sec)
+ok 951 - new time stamp from IOC [TSE = -2, no SIOL] (0.000112410 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.000004260 sec)
+ok 956 - time stamp is recent (0.000003160 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.006729945 sec)
+ok 961 - time stamp is recent (0.005125516 sec)
 # ################################################### Record Type stringout
 # ## SIMM toggle and SCAN swapping ##
 ok 962 - dbGetField("stringout.SCAN", 4) -> 0 == 0
@@ -24212,20 +24242,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.000009899 sec)
+ok 991 - new time stamp from IOC [TSE = -2] (0.000008839 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.000003080 sec)
+ok 996 - time stamp is recent (0.000002440 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.006966803 sec)
+ok 1001 - time stamp is recent (0.005114737 sec)
 # ################################################### Record Type lsi
 # ## SIMM toggle and SCAN swapping ##
 ok 1002 - dbGetField("lsi.SCAN", 4) -> 0 == 0
@@ -24272,7 +24302,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.000047495 sec)
+ok 1035 - simval time <= my time [TSE = 0] (0.000038177 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)
@@ -24280,20 +24310,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.000146286 sec)
+ok 1042 - new time stamp from IOC [TSE = -2, no SIOL] (0.000113749 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.000004320 sec)
+ok 1047 - time stamp is recent (0.000003139 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.006800939 sec)
+ok 1052 - time stamp is recent (0.005137255 sec)
 # ################################################### Record Type lso
 # ## SIMM toggle and SCAN swapping ##
 ok 1053 - dbGetField("lso.SCAN", 4) -> 0 == 0
@@ -24334,20 +24364,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.000012219 sec)
+ok 1082 - new time stamp from IOC [TSE = -2] (0.000009639 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.000004239 sec)
+ok 1087 - time stamp is recent (0.000002980 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.006940125 sec)
+ok 1092 - time stamp is recent (0.005111277 sec)
 # ################################################### Record Type event
 # ## SIMM toggle and SCAN swapping ##
 ok 1093 - dbGetField("event.SCAN", 4) -> 0 == 0
@@ -24410,7 +24440,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] (1105395013.565011978 sec)
+ok 1137 - simval time <= my time [TSE = 0] (1105398436.692927837 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)
@@ -24418,20 +24448,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] (1105395013.565114975 sec)
+ok 1144 - new time stamp from IOC [TSE = -2, no SIOL] (1105398436.693014383 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.000004360 sec)
+ok 1149 - time stamp is recent (0.000003260 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.006701188 sec)
+ok 1154 - time stamp is recent (0.005120496 sec)
 # ################################################### Record Type waveform
 # ## SIMM toggle and SCAN swapping ##
 ok 1155 - dbGetField("waveform.SCAN", 4) -> 0 == 0
@@ -24478,7 +24508,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.000044096 sec)
+ok 1188 - simval time <= my time [TSE = 0] (0.000036537 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)
@@ -24486,20 +24516,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.000143067 sec)
+ok 1195 - new time stamp from IOC [TSE = -2, no SIOL] (0.000112090 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.000004020 sec)
+ok 1200 - time stamp is recent (0.000003100 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.006833055 sec)
+ok 1205 - time stamp is recent (0.005123536 sec)
 # ################################################### Record Type histogram
 # ## SIMM toggle and SCAN swapping ##
 ok 1206 - dbGetField("histogram.SCAN", 4) -> 0 == 0
@@ -24562,7 +24592,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.000048176 sec)
+ok 1250 - simval time <= my time [TSE = 0] (0.000037276 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)
@@ -24570,26 +24600,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.000144087 sec)
+ok 1257 - new time stamp from IOC [TSE = -2, no SIOL] (0.000112249 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.000004380 sec)
+ok 1262 - time stamp is recent (0.000003080 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.006752583 sec)
+ok 1267 - time stamp is recent (0.005123616 sec)
 ok
 mbbioDirectTest.t ....... 
 1..542
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ##### check initial value #####
@@ -25162,7 +25192,7 @@
 1..27
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ===== Chain 1 ======
@@ -25205,7 +25235,7 @@
 1..2
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # ===== Test that invalid link in INPA field fails a put request ======
@@ -25216,7 +25246,7 @@
 1..102
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # PINI
@@ -25368,7 +25398,7 @@
 ok 102 - dbGetField("wf.NORD", 5) -> 0 == 0
 ok
 All tests successful.
-Files=22, Tests=5035, 37 wallclock secs ( 0.90 usr  0.06 sys +  3.18 cusr  0.38 csys =  4.52 CPU)
+Files=22, Tests=5035, 31 wallclock secs ( 0.69 usr  0.08 sys +  2.86 cusr  0.37 csys =  4.00 CPU)
 Result: PASS
 -------------------
 
@@ -25395,7 +25425,7 @@
 # testing lnkState
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - No state red exists
@@ -25435,7 +25465,7 @@
 1..30
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # testing lnkCalc input
@@ -25475,7 +25505,7 @@
 ok 30 - Precision correct (3)
 ok
 All tests successful.
-Files=2, Tests=58,  2 wallclock secs ( 0.08 usr  0.02 sys +  0.08 cusr  0.00 csys =  0.18 CPU)
+Files=2, Tests=58,  1 wallclock secs ( 0.07 usr  0.02 sys +  0.05 cusr  0.03 csys =  0.17 CPU)
 Result: PASS
 -------------------
 
@@ -25507,7 +25537,7 @@
 1..100
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - plugin 'ts' registered correctly
@@ -25623,7 +25653,7 @@
 1..72
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - plugin dbnd registered correctly
@@ -25768,7 +25798,7 @@
 1..1402
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - plugin 'arr' registered correctly
@@ -27637,7 +27667,7 @@
 1..214
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - plugin sync registered correctly
@@ -27913,7 +27943,7 @@
 1..104
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - plugin 'dec' registered correctly
@@ -28046,7 +28076,7 @@
 ok 104 - 2048 field_logs on free-list
 ok
 All tests successful.
-Files=5, Tests=1892,  4 wallclock secs ( 0.34 usr  0.02 sys +  0.20 cusr  0.04 csys =  0.60 CPU)
+Files=5, Tests=1892,  3 wallclock secs ( 0.31 usr  0.01 sys +  0.15 cusr  0.07 csys =  0.54 CPU)
 Result: PASS
 -------------------
 
@@ -28391,7 +28421,7 @@
 ok 4 - double variable
 ok
 All tests successful.
-Files=11, Tests=293,  3 wallclock secs ( 0.16 usr  0.00 sys +  2.12 cusr  0.20 csys =  2.48 CPU)
+Files=11, Tests=293,  3 wallclock secs ( 0.15 usr  0.02 sys +  1.90 cusr  0.22 csys =  2.29 CPU)
 Result: PASS
 -------------------
 
@@ -28675,8 +28705,8 @@
 ok
 testChannelAccess.t ..... 
 1..152
-# TestServer on ports TCP=43039 UDP=58981
-2025-01-10T22:10:43.368 Failed to introspect interfaces or no network interfaces available.
+# TestServer on ports TCP=51957 UDP=46667
+2025-01-10T23:07:34.653 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
@@ -28755,13 +28785,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.02397
+ok 39 - void ChannelAccessIFTest::test_channelGetIntProcess(): timestamp change was 1.00046
 #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.024
+ok 41 - void ChannelAccessIFTest::test_channelGetIntProcess(): timestamp change was 1.00052
 #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.01999
+ok 43 - void ChannelAccessIFTest::test_channelGetIntProcess(): timestamp change was 1.00053
 #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():
@@ -28781,13 +28811,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.0123
+ok 50 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): timestamp change was 1.00049
 #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.01586
+ok 52 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): timestamp change was 1.00058
 #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.01197
+ok 54 - void ChannelAccessIFTest::test_channelGetNotYetConnected(): timestamp change was 1.00058
 #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():
@@ -28961,13 +28991,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.56389
+ok 99 - void ChannelAccessIFTest::test_channelPutGetIntProcess(): timestamp change is 1.71385
 #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.0161
+ok 101 - void ChannelAccessIFTest::test_channelPutGetIntProcess(): timestamp change is 1.00067
 #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.01596
+ok 103 - void ChannelAccessIFTest::test_channelPutGetIntProcess(): timestamp change is 1.00081
 # BEGIN TEST void ChannelAccessIFTest::test_channelRPC():
 #SyncChannelRequesterImpl.channelCreated(Status [type=OK])
 #SyncChannelRequesterImpl.channelStateChange:1
@@ -29006,8 +29036,8 @@
 # void ChannelAccessIFTest::test_channelMonitor(int):
 structure 
     time_t timeStamp
-        long secondsPastEpoch 1736547061
-        int nanoseconds 436047966
+        long secondsPastEpoch 1736550472
+        int nanoseconds 655115781
         int userTag 0
     int value 19
 
@@ -29021,8 +29051,8 @@
 current value  : 20
 structure 
     time_t timeStamp
-        long secondsPastEpoch 1736547062
-        int nanoseconds 439956680
+        long secondsPastEpoch 1736550473
+        int nanoseconds 655367168
         int userTag 0
     int value 20
 
@@ -29036,8 +29066,8 @@
 current value  : 21
 structure 
     time_t timeStamp
-        long secondsPastEpoch 1736547063
-        int nanoseconds 443943628
+        long secondsPastEpoch 1736550474
+        int nanoseconds 655629733
         int userTag 0
     int value 21
 
@@ -29051,10 +29081,11 @@
 current value  : 22
 structure 
     time_t timeStamp
-        long secondsPastEpoch 1736547064
-        int nanoseconds 447920236
+        long secondsPastEpoch 1736550475
+        int nanoseconds 655889439
         int userTag 0
     int value 22
+
 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
 # BEGIN TEST void ChannelAccessIFTest::test_channelArray():
@@ -29142,7 +29173,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-10T22:11:09.522 Invalid header received from the client : 0.0.0.0:0 00020123 disconnecting...
+2025-01-10T23:08:00.698 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 
@@ -29152,13 +29183,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-10T22:11:09.522 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-10T23:08:00.698 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-10T22:11:09.523 unprocessed read buffer from client at ../../src/remote/codec.cpp:321: 0.0.0.0:0, disconnecting...
+2025-01-10T23:08:00.698 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 
@@ -35044,8 +35075,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-10T22:11:10.150 requested for buffer size 17409, but only 17392 available. at ../../src/remote/codec.cpp:699.,
-2025-01-10T22:11:10.150 requested for buffer size 513, but maximum 512 is allowed. at ../../src/remote/codec.cpp:457.,
+2025-01-10T23:08:01.221 requested for buffer size 17409, but only 17392 available. at ../../src/remote/codec.cpp:699.,
+2025-01-10T23:08:01.221 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()
@@ -35061,10 +35092,10 @@
 testRPC.t ............... 
 1..3
 # Server Setup
-2025-01-10T22:11:10.445 Using dynamically assigned TCP port 51629.
-# TestServer on ports TCP=51629 UDP=40056
+2025-01-10T23:08:01.335 Using dynamically assigned TCP port 32789.
+# TestServer on ports TCP=32789 UDP=57839
 # Client Setup
-2025-01-10T22:11:10.446 Failed to introspect interfaces or no network interfaces available.
+2025-01-10T23:08:01.337 Failed to introspect interfaces or no network interfaces available.
 # Client Ready
 # Request
 # request()
@@ -35531,7 +35562,7 @@
   TODO passed:   64
 testChannelAccess.t   (Wstat: 0 Tests: 152 Failed: 0)
   TODO passed:   45
-Files=11, Tests=6381, 28 wallclock secs ( 0.88 usr  0.04 sys +  0.80 cusr  0.18 csys =  1.90 CPU)
+Files=11, Tests=6381, 27 wallclock secs ( 0.79 usr  0.04 sys +  0.64 cusr  0.22 csys =  1.69 CPU)
 Result: PASS
 -------------------
 
@@ -35579,7 +35610,7 @@
           but was built with TOP = "/build/reproducible-path/epics-base-7.0.8.1+dfsg1"
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # TestClient::put DBRlongout := 0
@@ -35771,7 +35802,7 @@
 ok 143 - waitGet(DBRbinaryout) succeeded
 ok
 All tests successful.
-Files=2, Tests=154,  2 wallclock secs ( 0.10 usr  0.02 sys +  0.16 cusr  0.02 csys =  0.30 CPU)
+Files=2, Tests=154,  1 wallclock secs ( 0.07 usr  0.01 sys +  0.13 cusr  0.02 csys =  0.23 CPU)
 Result: PASS
 -------------------
 
@@ -36039,8 +36070,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736547076
-        int nanoseconds 601451390
+        long secondsPastEpoch 1736550485
+        int nanoseconds 340214460
         int userTag 0
     display_t display
         double limitLow -15
@@ -36142,8 +36173,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736547076
-        int nanoseconds 664790235
+        long secondsPastEpoch 1736550485
+        int nanoseconds 385622889
         int userTag 0
     display_t display
         double limitLow -15
@@ -36226,8 +36257,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736547076
-        int nanoseconds 773424187
+        long secondsPastEpoch 1736550485
+        int nanoseconds 430017453
         int userTag 0
     string extra1 
     string[] extra2 []
@@ -36408,8 +36439,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736547076
-        int nanoseconds 961226630
+        long secondsPastEpoch 1736550485
+        int nanoseconds 554863554
         int userTag 0
 
 # test_wrap
@@ -36714,8 +36745,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736547077
-        int nanoseconds 153172223
+        long secondsPastEpoch 1736550485
+        int nanoseconds 652155479
         int userTag 0
     display_t display
         double limitLow -15
@@ -36798,8 +36829,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736547077
-        int nanoseconds 273145865
+        long secondsPastEpoch 1736550485
+        int nanoseconds 695518661
         int userTag 0
     valueAlarm_t valueAlarm
         boolean active false
@@ -36881,8 +36912,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736547077
-        int nanoseconds 385696747
+        long secondsPastEpoch 1736550485
+        int nanoseconds 739407613
         int userTag 0
 
 # test_wrap
@@ -36958,8 +36989,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736547077
-        int nanoseconds 473669248
+        long secondsPastEpoch 1736550485
+        int nanoseconds 782632588
         int userTag 0
     valueAlarm_t valueAlarm
         boolean active false
@@ -37040,8 +37071,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736547077
-        int nanoseconds 553281238
+        long secondsPastEpoch 1736550485
+        int nanoseconds 825644443
         int userTag 0
 
 # test_wrap
@@ -37119,8 +37150,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736547077
-        int nanoseconds 625086024
+        long secondsPastEpoch 1736550485
+        int nanoseconds 868176883
         int userTag 0
 
 # test_wrap
@@ -37205,8 +37236,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736547077
-        int nanoseconds 721850635
+        long secondsPastEpoch 1736550485
+        int nanoseconds 911345123
         int userTag 0
     string extra1 
     string[] extra2 []
@@ -37270,6 +37301,7 @@
         int userTag
     string extra1
     string[] extra2
+
 ok 13 - no value type set
 # test_nthistogram
 ok 14 - Got builder
@@ -37303,8 +37335,8 @@
         int status 1
         string message "simulation alarm"
     time_t timeStamp
-        long secondsPastEpoch 1736547077
-        int nanoseconds 821307973
+        long secondsPastEpoch 1736550485
+        int nanoseconds 957307079
         int userTag 0
     string extra1 
     string[] extra2 []
@@ -37416,7 +37448,7 @@
 ok 56 - result.errors.size() == 2
 ok
 All tests successful.
-Files=18, Tests=687,  2 wallclock secs ( 0.28 usr  0.04 sys +  0.58 cusr  0.12 csys =  1.02 CPU)
+Files=18, Tests=687,  1 wallclock secs ( 0.22 usr  0.04 sys +  0.45 cusr  0.19 csys =  0.90 CPU)
 Result: PASS
 -------------------
 
@@ -37590,8 +37622,8 @@
 structure 
     double value 0
     time_t timeStamp
-        long secondsPastEpoch 1736547085
-        int nanoseconds 534071293
+        long secondsPastEpoch 1736550490
+        int nanoseconds 445588636
         int userTag 0
  pvRecordStructure
 epics:nt/NTScalar:1.0 
@@ -37607,15 +37639,15 @@
 structure 
     double value 1
     time_t timeStamp
-        long secondsPastEpoch 1736547085
-        int nanoseconds 534131388
+        long secondsPastEpoch 1736550490
+        int nanoseconds 445649050
         int userTag 0
  pvRecordStructure
 epics:nt/NTScalar:1.0 
     double value 1
     time_t timeStamp
-        long secondsPastEpoch 1736547085
-        int nanoseconds 534126928
+        long secondsPastEpoch 1736550490
+        int nanoseconds 445644810
         int userTag 0
 
 ok 17 - result==true
@@ -37865,7 +37897,7 @@
 RecordClient::~RecordClient exampleDouble
 ok
 All tests successful.
-Files=5, Tests=129,  0 wallclock secs ( 0.12 usr  0.02 sys +  0.18 cusr  0.04 csys =  0.36 CPU)
+Files=5, Tests=129,  0 wallclock secs ( 0.08 usr  0.02 sys +  0.12 cusr  0.07 csys =  0.29 CPU)
 Result: PASS
 -------------------
 
@@ -37898,52 +37930,52 @@
 testmon.t .. 
 1..79
 # ------- TestMonitor::test_event --------
-# createChannel test1 0xc57b20
+# createChannel test1 0xe2db20
 # channelCreated test1
 # channelStateChange test1 1
 # pre-test setup
 # Push the initial event through from upstream to downstream
-# TestPVChannel::createMonitor test1 0xc584e8
-# TestPVMonitor::start 0xc584e8
+# TestPVChannel::createMonitor test1 0xe2e4e8
+# TestPVMonitor::start 0xe2e4e8
 #  need wakeup
 #  push current
-# monitorConnect 0xc590a0 1
+# monitorConnect 0xe2f0a0 1
 ok  1 - mreq->eventCnt (0) == 0u (0)
 ok  2 - mon->start().isSuccess()
 # TestProvider::dispatch
-#   wakeup monitor 0xc584e8
-# TestPVMonitor::poll 0xc584e8 0xc57fe0
-# TestPVMonitor::release 0xc584e8 0xc57fe0
-# TestPVMonitor::poll 0xc584e8 (nil)
-# monitorEvent 0xc590a0
+#   wakeup monitor 0xe2e4e8
+# TestPVMonitor::poll 0xe2e4e8 0xe2dfe0
+# TestPVMonitor::release 0xe2e4e8 0xe2dfe0
+# TestPVMonitor::poll 0xe2e4e8 (nil)
+# monitorEvent 0xe2f0a0
 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 0xc57b20
+# createChannel test1 0xe2db20
 # channelCreated test1
 # channelStateChange test1 1
 # pre-test setup
 # Test two downstream monitors sharing the same upstream
-# TestPVChannel::createMonitor test1 0xc583b0
-# TestPVMonitor::start 0xc583b0
+# TestPVChannel::createMonitor test1 0xe2e3b0
+# TestPVMonitor::start 0xe2e3b0
 #  need wakeup
 #  push current
-# monitorConnect 0xc590a0 1
-# monitorConnect 0xc58a48 1
+# monitorConnect 0xe2f0a0 1
+# monitorConnect 0xe2ea48 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 0xc583b0
-# TestPVMonitor::poll 0xc583b0 0xc57fe0
-# TestPVMonitor::release 0xc583b0 0xc57fe0
-# TestPVMonitor::poll 0xc583b0 (nil)
-# monitorEvent 0xc58a48
-# monitorEvent 0xc590a0
+#   wakeup monitor 0xe2e3b0
+# TestPVMonitor::poll 0xe2e3b0 0xe2dfe0
+# TestPVMonitor::release 0xe2e3b0 0xe2dfe0
+# TestPVMonitor::poll 0xe2e3b0 (nil)
+# monitorEvent 0xe2ea48
+# monitorEvent 0xe2f0a0
 ok 12 - mreq->eventCnt==1
 ok 13 - mreq2->eventCnt==1
 ok 14 - !!elem.get()
@@ -37957,13 +37989,13 @@
 ok 22 - !mon2->poll()
 # explicitly push an update
 # post test1 1 changed '{1}'
-# push 0xc56ee8 changed '{1}' overflow '{}'
+# push 0xe2ced0 changed '{1}' overflow '{}'
 #  wakeup
-# TestPVMonitor::poll 0xc583b0 0xc56ee8
-# TestPVMonitor::release 0xc583b0 0xc56ee8
-# TestPVMonitor::poll 0xc583b0 (nil)
-# monitorEvent 0xc58a48
-# monitorEvent 0xc590a0
+# TestPVMonitor::poll 0xe2e3b0 0xe2ced0
+# TestPVMonitor::release 0xe2e3b0 0xe2ced0
+# TestPVMonitor::poll 0xe2e3b0 (nil)
+# monitorEvent 0xe2ea48
+# monitorEvent 0xe2f0a0
 ok 23 - !!elem.get()
 ok 24 - !!elem2.get()
 ok 25 - elem!=elem2
@@ -37976,70 +38008,70 @@
 ok 30 - !mon->poll()
 ok 31 - !mon2->poll()
 # ------- TestMonitor::test_ds_no_start --------
-# createChannel test1 0xc57b20
+# createChannel test1 0xe2db20
 # channelCreated test1
 # channelStateChange test1 1
 # pre-test setup
 # Test downstream monitor never start()s
-# TestPVChannel::createMonitor test1 0xc57310
-# TestPVMonitor::start 0xc57310
+# TestPVChannel::createMonitor test1 0xe2d310
+# TestPVMonitor::start 0xe2d310
 #  need wakeup
 #  push current
-# monitorConnect 0xc590a0 1
+# monitorConnect 0xe2f0a0 1
 # TestProvider::dispatch
-#   wakeup monitor 0xc57310
-# TestPVMonitor::poll 0xc57310 0xc58d90
-# TestPVMonitor::release 0xc57310 0xc58d90
-# TestPVMonitor::poll 0xc57310 (nil)
+#   wakeup monitor 0xe2d310
+# TestPVMonitor::poll 0xe2d310 0xe2ed78
+# TestPVMonitor::release 0xe2d310 0xe2ed78
+# TestPVMonitor::poll 0xe2d310 (nil)
 ok 32 - mreq->eventCnt==0
 ok 33 - !mon->poll()
 # post test1 0 changed '{1}'
-# push 0xc56dd0 changed '{1}' overflow '{}'
+# push 0xe2cdd0 changed '{1}' overflow '{}'
 # post test1 0 changed '{1}'
-# push 0xc58d90 changed '{1}' overflow '{}'
+# push 0xe2ed78 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 0xc57310 0xc56dd0
-# TestPVMonitor::release 0xc57310 0xc56dd0
-# TestPVMonitor::release overflow resume 0xc57310 0xc56dd0
-# TestPVMonitor::poll 0xc57310 0xc58d90
-# TestPVMonitor::release 0xc57310 0xc58d90
-# TestPVMonitor::poll 0xc57310 0xc56dd0
-# TestPVMonitor::release 0xc57310 0xc56dd0
-# TestPVMonitor::poll 0xc57310 (nil)
+# TestPVMonitor::poll 0xe2d310 0xe2cdd0
+# TestPVMonitor::release 0xe2d310 0xe2cdd0
+# TestPVMonitor::release overflow resume 0xe2d310 0xe2cdd0
+# TestPVMonitor::poll 0xe2d310 0xe2ed78
+# TestPVMonitor::release 0xe2d310 0xe2ed78
+# TestPVMonitor::poll 0xe2d310 0xe2cdd0
+# TestPVMonitor::release 0xe2d310 0xe2cdd0
+# TestPVMonitor::poll 0xe2d310 (nil)
 ok 34 - !mon->poll()
 # ------- TestMonitor::test_overflow_upstream --------
-# createChannel test1 0xc57b20
+# createChannel test1 0xe2db20
 # channelCreated test1
 # channelStateChange test1 1
 # pre-test setup
 # Check behavour when upstream monitor overflows (mostly transparent)
-# TestPVChannel::createMonitor test1 0xc57120
-# TestPVMonitor::start 0xc57120
+# TestPVChannel::createMonitor test1 0xe2d120
+# TestPVMonitor::start 0xe2d120
 #  need wakeup
 #  push current
-# monitorConnect 0xc590a0 1
+# monitorConnect 0xe2f0a0 1
 ok 35 - mreq->eventCnt==0
 ok 36 - mon->start().isSuccess()
 # TestProvider::dispatch
-#   wakeup monitor 0xc57120
-# TestPVMonitor::poll 0xc57120 0xc58e30
-# TestPVMonitor::release 0xc57120 0xc58e30
-# TestPVMonitor::poll 0xc57120 (nil)
-# monitorEvent 0xc590a0
+#   wakeup monitor 0xe2d120
+# TestPVMonitor::poll 0xe2d120 0xe2e0d0
+# TestPVMonitor::release 0xe2d120 0xe2e0d0
+# TestPVMonitor::poll 0xe2d120 (nil)
+# monitorEvent 0xe2f0a0
 ok 37 - mreq->eventCnt==1
 # poll initial update
 ok 38 - !!elem.get()
 ok 39 - !mon->poll()
 # post 50
 # post test1 0 changed '{1}'
-# push 0xc56b00 changed '{1}' overflow '{}'
+# push 0xe2cd98 changed '{1}' overflow '{}'
 # post 51
 # post test1 0 changed '{1}'
-# push 0xc58e30 changed '{1}' overflow '{}'
+# push 0xe2e0d0 changed '{1}' overflow '{}'
 # post 52
 # post test1 0 changed '{1}'
 # overflow changed '{1}' overrun '{}'
@@ -38047,15 +38079,15 @@
 # post test1 1 changed '{1}'
 # overflow changed '{1}' overrun '{1}'
 #  wakeup
-# TestPVMonitor::poll 0xc57120 0xc56b00
-# TestPVMonitor::release 0xc57120 0xc56b00
-# TestPVMonitor::release overflow resume 0xc57120 0xc56b00
-# TestPVMonitor::poll 0xc57120 0xc58e30
-# TestPVMonitor::release 0xc57120 0xc58e30
-# TestPVMonitor::poll 0xc57120 0xc56b00
-# TestPVMonitor::release 0xc57120 0xc56b00
-# TestPVMonitor::poll 0xc57120 (nil)
-# monitorEvent 0xc590a0
+# TestPVMonitor::poll 0xe2d120 0xe2cd98
+# TestPVMonitor::release 0xe2d120 0xe2cd98
+# TestPVMonitor::release overflow resume 0xe2d120 0xe2cd98
+# TestPVMonitor::poll 0xe2d120 0xe2e0d0
+# TestPVMonitor::release 0xe2d120 0xe2e0d0
+# TestPVMonitor::poll 0xe2d120 0xe2cd98
+# TestPVMonitor::release 0xe2d120 0xe2cd98
+# TestPVMonitor::poll 0xe2d120 (nil)
+# monitorEvent 0xe2f0a0
 ok 40 - !!elem.get()
 # XX 50
 ok 41 - elem && elem->pvStructurePtr->getSubFieldT<pvd::PVInt>("x")->get()==50
@@ -38075,52 +38107,52 @@
 ok 55 - elem && elem->overrunBitSet->nextSetBit(2)==-1
 ok 56 - !mon->poll()
 # ------- TestMonitor::test_overflow_downstream --------
-# createChannel test1 0xc57b20
+# createChannel test1 0xe2db20
 # channelCreated test1
 # channelStateChange test1 1
 # pre-test setup
 # Check behavour when downstream monitor overflows
-# TestPVChannel::createMonitor test1 0xc58b18
-# TestPVMonitor::start 0xc58b18
+# TestPVChannel::createMonitor test1 0xe2ee70
+# TestPVMonitor::start 0xe2ee70
 #  need wakeup
 #  push current
-# monitorConnect 0xc590a0 1
+# monitorConnect 0xe2f0a0 1
 ok 57 - mreq->eventCnt==0
 ok 58 - mon->start().isSuccess()
 # TestProvider::dispatch
-#   wakeup monitor 0xc58b18
-# TestPVMonitor::poll 0xc58b18 0xc580d0
-# TestPVMonitor::release 0xc58b18 0xc580d0
-# TestPVMonitor::poll 0xc58b18 (nil)
-# monitorEvent 0xc590a0
+#   wakeup monitor 0xe2ee70
+# TestPVMonitor::poll 0xe2ee70 0xe2eb58
+# TestPVMonitor::release 0xe2ee70 0xe2eb58
+# TestPVMonitor::poll 0xe2ee70 (nil)
+# monitorEvent 0xe2f0a0
 ok 59 - mreq->eventCnt==1
 # poll initial update
 ok 60 - !!elem.get()
 # post test1 1 changed '{1}'
-# push 0xc56b30 changed '{1}' overflow '{}'
+# push 0xe2e0d0 changed '{1}' overflow '{}'
 #  wakeup
-# TestPVMonitor::poll 0xc58b18 0xc56b30
-# TestPVMonitor::release 0xc58b18 0xc56b30
-# TestPVMonitor::poll 0xc58b18 (nil)
-# monitorEvent 0xc590a0
+# TestPVMonitor::poll 0xe2ee70 0xe2e0d0
+# TestPVMonitor::release 0xe2ee70 0xe2e0d0
+# TestPVMonitor::poll 0xe2ee70 (nil)
+# monitorEvent 0xe2f0a0
 # post test1 1 changed '{1}'
-# push 0xc580d0 changed '{1}' overflow '{}'
+# push 0xe2eb58 changed '{1}' overflow '{}'
 #  wakeup
-# TestPVMonitor::poll 0xc58b18 0xc580d0
-# TestPVMonitor::release 0xc58b18 0xc580d0
-# TestPVMonitor::poll 0xc58b18 (nil)
+# TestPVMonitor::poll 0xe2ee70 0xe2eb58
+# TestPVMonitor::release 0xe2ee70 0xe2eb58
+# TestPVMonitor::poll 0xe2ee70 (nil)
 # post test1 1 changed '{1}'
-# push 0xc56b30 changed '{1}' overflow '{}'
+# push 0xe2e0d0 changed '{1}' overflow '{}'
 #  wakeup
-# TestPVMonitor::poll 0xc58b18 0xc56b30
-# TestPVMonitor::release 0xc58b18 0xc56b30
-# TestPVMonitor::poll 0xc58b18 (nil)
+# TestPVMonitor::poll 0xe2ee70 0xe2e0d0
+# TestPVMonitor::release 0xe2ee70 0xe2e0d0
+# TestPVMonitor::poll 0xe2ee70 (nil)
 # post test1 1 changed '{1}'
-# push 0xc580d0 changed '{1}' overflow '{}'
+# push 0xe2eb58 changed '{1}' overflow '{}'
 #  wakeup
-# TestPVMonitor::poll 0xc58b18 0xc580d0
-# TestPVMonitor::release 0xc58b18 0xc580d0
-# TestPVMonitor::poll 0xc58b18 (nil)
+# TestPVMonitor::poll 0xe2ee70 0xe2eb58
+# TestPVMonitor::release 0xe2ee70 0xe2eb58
+# TestPVMonitor::poll 0xe2ee70 (nil)
 ok 61 - !!elem.get()
 ok 62 - elem && elem->pvStructurePtr->getSubFieldT<pvd::PVInt>("x")->get()==50
 ok 63 - elem && elem->changedBitSet->nextSetBit(0)==1
@@ -38153,7 +38185,7 @@
 ok 79 - All instances free'd
 ok
 All tests successful.
-Files=1, Tests=79,  1 wallclock secs ( 0.10 usr  0.00 sys +  0.02 cusr  0.00 csys =  0.12 CPU)
+Files=1, Tests=79,  0 wallclock secs ( 0.08 usr  0.01 sys +  0.02 cusr  0.01 csys =  0.12 CPU)
 Result: PASS
 -------------------
 
@@ -38250,26 +38282,26 @@
 # Setup TestProvider with "test"
 # Create channel
 # channelCreated test
-# createChannel test 0xfb8fb8
+# createChannel test 0x17f3fb8
 ok  1 - !!chan.get()
 ok  2 - creq->waitForConnect()
 ok  3 - chan==creq->chan
 # Create monitor
-# TestPVChannel::createMonitor test 0xfb9400
-# monitorConnect 0xfb9400 1
+# TestPVChannel::createMonitor test 0x17f4400
+# monitorConnect 0x17f4400 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 0xfb9400 (nil)
+# TestPVMonitor::poll 0x17f4400 (nil)
 ok  8 - !mon->poll()
 # Start monitor and check initial update
-# TestPVMonitor::start 0xfb9400
+# TestPVMonitor::start 0x17f4400
 #  need wakeup
 #  push current
 ok  9 - mon->start().isSuccess()
-# TestPVMonitor::poll 0xfb9400 0xfb9200
+# TestPVMonitor::poll 0x17f4400 0x17f4200
 ok 10 - !!elem.get()
 # elem changed '{0}' overflow '{}'
 # elem x=42 y=15
@@ -38279,17 +38311,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 0xfb9400 0xfb9200
+# TestPVMonitor::release 0x17f4400 0x17f4200
 # ensure start() queues only one
-# TestPVMonitor::poll 0xfb9400 (nil)
+# TestPVMonitor::poll 0x17f4400 (nil)
 ok 17 - !mon->poll()
 # Change both fields, only push 'x'
 # post test 1 changed '{1}'
-# push 0xfb9898 changed '{1}' overflow '{}'
+# push 0x17f4898 changed '{1}' overflow '{}'
 #  wakeup
-# monitorEvent 0xfb9400
+# monitorEvent 0x17f4400
 ok 18 - mreq->eventCnt==1
-# TestPVMonitor::poll 0xfb9400 0xfb9898
+# TestPVMonitor::poll 0x17f4400 0x17f4898
 ok 19 - !!elem.get()
 # elem changed '{1}' overflow '{}'
 # elem x=43 y=15
@@ -38298,48 +38330,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 0xfb9400 0xfb9898
+# TestPVMonitor::release 0x17f4400 0x17f4898
 # ensure queues are empty
-# TestPVMonitor::poll 0xfb9400 (nil)
+# TestPVMonitor::poll 0x17f4400 (nil)
 ok 25 - !mon->poll()
 # overflow queue
 # post test 0 changed '{1}'
-# push 0xfb9200 changed '{1}' overflow '{}'
+# push 0x17f4200 changed '{1}' overflow '{}'
 # post test 0 changed '{1}'
-# push 0xfb9898 changed '{1}' overflow '{}'
+# push 0x17f4898 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 0xfb9400
+# monitorEvent 0x17f4400
 ok 27 - mreq->eventCnt==2
-# TestPVMonitor::poll 0xfb9400 0xfb9200
+# TestPVMonitor::poll 0x17f4400 0x17f4200
 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 0xfb9400 0xfb9200
-# TestPVMonitor::release overflow resume 0xfb9400 0xfb9200
-# TestPVMonitor::poll 0xfb9400 0xfb9898
+# TestPVMonitor::release 0x17f4400 0x17f4200
+# TestPVMonitor::release overflow resume 0x17f4400 0x17f4200
+# TestPVMonitor::poll 0x17f4400 0x17f4898
 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 0xfb9400 0xfb9898
-# TestPVMonitor::poll 0xfb9400 0xfb9200
+# TestPVMonitor::release 0x17f4400 0x17f4898
+# TestPVMonitor::poll 0x17f4400 0x17f4200
 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 0xfb9400 0xfb9200
+# TestPVMonitor::release 0x17f4400 0x17f4200
 # ensure queues are empty
-# TestPVMonitor::poll 0xfb9400 (nil)
+# TestPVMonitor::poll 0x17f4400 (nil)
 ok 44 - !mon->poll()
 ok 45 - mreq->eventCnt==2
 # num. live TestChannelMonitorRequester 0
@@ -38358,7 +38390,7 @@
           but was built with TOP = "/build/reproducible-path/epics-base-7.0.8.1+dfsg1"
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok  1 - dbGetField("test:mbbi", 0) -> "one" == "one"
@@ -38758,7 +38790,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 82 - mask ({1}) == pvd::BitSet().set(root->getSubFieldT("li")->getFieldOffset()) ({1})
@@ -38779,7 +38811,7 @@
 Warning: Registration already done.
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 ok 94 - dbPutField("TEST", dbr=5, count=9, ...) -> 0
@@ -38807,7 +38839,7 @@
           but was built with TOP = "/build/reproducible-path/epics-base-7.0.8.1+dfsg1"
 ############################################################################
 ## EPICS R7.0.8.1
-## Rev. 2025-01-10T22:07+0000
+## Rev. 2025-01-10T23:05+0000
 ## Rev. Date build date/time: 
 ############################################################################
 # test single get
@@ -38931,8 +38963,8 @@
 #             int status 0
 #             string message NO_ALARM
 #         structure timeStamp
-#             long secondsPastEpoch 1736547099
-#             int nanoseconds 765553494
+#             long secondsPastEpoch 1736550499
+#             int nanoseconds 72901037
 #             int userTag 0
 #         structure display
 #             double limitLow 0
@@ -38965,8 +38997,8 @@
 #             int status 0
 #             string message NO_ALARM
 #         structure timeStamp
-#             long secondsPastEpoch 1736547099
-#             int nanoseconds 765561653
+#             long secondsPastEpoch 1736550499
+#             int nanoseconds 72909236
 #             int userTag 0
 #         structure display
 #             double limitLow 0
@@ -38999,8 +39031,8 @@
 #             int status 0
 #             string message 
 #         structure timeStamp
-#             long secondsPastEpoch 1736547099
-#             int nanoseconds 765031863
+#             long secondsPastEpoch 1736550499
+#             int nanoseconds 72400924
 #             int userTag 0
 #         structure display
 #             double limitLow -2.14748e+09
@@ -39172,7 +39204,7 @@
 -------------------
 testpvif.t       (Wstat: 0 Tests: 98 Failed: 0)
   TODO passed:   40
-Files=6, Tests=343,  3 wallclock secs ( 0.18 usr  0.00 sys +  0.46 cusr  0.06 csys =  0.70 CPU)
+Files=6, Tests=343,  3 wallclock secs ( 0.15 usr  0.01 sys +  0.42 cusr  0.06 csys =  0.64 CPU)
 Result: PASS
 -------------------
 
@@ -39351,12 +39383,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-10T22:07+0000"
-    to:   EPICS_VCS_VERSION = "2025-01-10T22:12+0000"
+    from: EPICS_VCS_VERSION = "2025-01-10T23:05+0000"
+    to:   EPICS_VCS_VERSION = "2025-01-10T23:08+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-10T22:12+0000"
+    EPICS_VCS_VERSION = "2025-01-10T23:08+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
@@ -39896,23 +39928,23 @@
    dh_makeshlibs -a
    dh_shlibdeps -a
 dpkg-shlibdeps: warning: deprecated use of LD_LIBRARY_PATH with private library directory which interferes with cross-building, please use -l option instead
-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: deprecated use of LD_LIBRARY_PATH with private library directory which interferes with cross-building, please use -l option instead
 dpkg-shlibdeps: warning: diversions involved - output may be incorrect
  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
    dh_installdeb
    dh_gencontrol
    dh_md5sums
    dh_builddeb
 dpkg-deb: building package 'libca-dev' in '../libca-dev_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-dbgsym' in '../libca4.14.4-dbgsym_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' 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 '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'.
  dpkg-genbuildinfo --build=binary -O../epics-base_7.0.8.1+dfsg1-7_armhf.buildinfo
  dpkg-genchanges --build=binary -O../epics-base_7.0.8.1+dfsg1-7_armhf.changes
@@ -39921,12 +39953,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/27748/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/27748/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/32519 and its subdirectories
-I: Current time: Fri Jan 10 10:13:35 -12 2025
-I: pbuilder-time-stamp: 1736547215
+I: removing directory /srv/workspace/pbuilder/27748 and its subdirectories
+I: Current time: Sat Jan 11 13:09:37 +14 2025
+I: pbuilder-time-stamp: 1736550577