EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Bugs in StreamDevice 2
From: Dirk Zimoch <[email protected]>
To: EPICS <[email protected]>
Date: Mon, 19 Sep 2011 11:35:30 +0200
Hi all,

Tim Mooney pointed out two problems which I fixed. In addition, I found that the doc directory was missing.

I have re-built StreamDevice-2-5.tgz

Dirk

Tim Mooney wrote:
Hi Dirk,  Thanks for this.  It built fine for me with
EPICS 3.14.12.1 and the latest synApps repository, for
solaris and linux-x86_64, after one fix:

in StreamDevice-2-5/streamApp/Makefile, I had to
change
   streamApp_DBD += calc.dbd
to
   streamApp_DBD += calcSupport.dbd

calc.db no longer exists, and you would not have wanted
to use it anyway, because it included base.dbd.


Also, I think StreamDevice-2-5 is not ready for parallel make.
Here a context diff of StreamDevice-2-5/Makefile:

diff -c StreamDevice-2-5/Makefile streamDevice
*** StreamDevice-2-5/Makefile   Thu Sep  2 09:19:11 2010
--- streamDevice/Makefile       Wed Apr 27 15:53:43 2011
***************
*** 1,6 ****
--- 1,7 ----
  TOP = ..
DIRS = src
+ streamApp_DEPEND_DIRS  = src
# Look if we have EPICS R3.13 or R3.14
  ifeq ($(wildcard $(TOP)/configure),)
***************
*** 13,18 ****
--- 14,21 ----
    ifneq ($(words $(CALC) $(SYNAPPS)), 0)
      # with synApps calc module (contains scalcout)
      DIRS += srcSynApps
+     srcSynApps_DEPEND_DIRS  = src
+     streamApp_DEPEND_DIRS  += srcSynApps
    endif
  endif


----- Original Message -----
From: "Dirk Zimoch" <[email protected]>
To: "EPICS Tech Talk" <[email protected]>
Sent: Wednesday, September 14, 2011 8:00:53 AM
Subject: Re: Bugs in StreamDevice 2
Hi all,

I have put the new version 2.5 on our web site
http://epics.web.psi.ch/software/streamdevice/

This version fixes the bugs Ralph had found (and some more similar
problems with 64 bit machines). However it still shows different
behavior on 64 bit machine when negative DBF_LONG values (e.g.
ao.RVAL)
are printed with unsigned int formats like %x. The values are then
sign
extended to 64 bits. Is this a bug?

It also fixes a bug which can hang up a record in PACT=1 state. Dehong
had reported such a problem.

I have tested this version against asyn 4-8, 4-16 and 4-17 and base
3.13.10, 3.14.8 and 3.14.12 on vxWorks and Linux.


There are some new features compared to version 2.4:

* in "%?..."; with any format converter returns 0/0.0/"" when the
input
does not match.

* in "%=..."; with any format allows matching variable values. It does
an _output_ conversion and then matches input against the resulting
string.

* "%{...}" now allows value assignment when used with # flag:
"%#{string1=3|string2=-2|string4=0}"

* exec command can have formats:
exec "dbpr %(NAME)s,%i > %(NAME)s.txt";

* redirection %(record)... is equivalent to %(record.VAL)...

* in "\_"; matches any amount of whitespace (incl. none)

* in "%#..."; allows spaces inside strings (%#s) and between sign and
number in inputs (%#f %#d %#i ...)

* in "%-o %-x"; allows reading signed octal or hex values.

* "%T(format)" converts from and to timestamps. Seconds past 1970 or
EPICS time stamps when redirected to TIME filed: %(TIME)T(format)


Please test and report bugs.
Dirk


Ralph Lange wrote:
Hi Dirk,

I discovered two bugs in current StreamDevice.

1. (trivial): StreamBuffer uses the wrong operator delete for
arrays.
2. (major): On 64bit archs, the waveform device support corrupts IOC
memory when the record's FTVL is LONG or ULONG, leading to IOC
crashes
(segfaults).

Patches are enclosed, the IOC is running happily ever after.

Cheers,
~Ralph





Navigate by Date:
Prev: Issues on image displaying in CSS [SEC=UNCLASSIFIED] WANG, Jian
Next: RE: How to write a python-based backpup tool? Wang Xiaoqiang
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Bugs in StreamDevice 2 Dirk Zimoch
Next: Another newbie question - seq record example? Paul Nord
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·