EPICS Home

Experimental Physics and Industrial Control System


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

Subject: Re: base-7.0.6 long string$ bug? Re: Calc Module of SynApps: Issue with long string CALC$
From: Pete Jemian via Tech-talk <tech-talk at aps.anl.gov>
To: <tech-talk at aps.anl.gov>
Date: Sat, 7 Aug 2021 17:06:07 -0500
The issue starts when using the base-7.0.6 softIoc.

Using docker image prjemian/epics-base-7.0.5 image, same error happens with 7.0.5

(base) prjemian@zap:~$ docker run -it --rm prjemian/epics-base-7.0.5
root@e14c2b978649:/opt/base-7.0.5# touch /opt/test.db
root@e14c2b978649:/opt/base-7.0.5# nano /opt/test.db
root@e14c2b978649:/opt/base-7.0.5# cat /opt/test.db
record(calc, "test_calc")
{
    field(SCAN, "1 second")
    field(CALC, "RNDM*100")
}
root@e14c2b978649:/opt/base-7.0.5# softIoc -d /opt/test.db
Starting iocInit
############################################################################
## EPICS R7.0.5
## Rev. 2021-05-11T02:44+0000
############################################################################
iocRun: All initialization complete
epics> dbl
test_calc
epics>

Now, in separate terminal, apply Kay's command line test:

(base) prjemian@zap:~$ caput -S test_calc.CALC$ "300"
Old : test_calc.CALC$ RNDM*100
New : test_calc.CALC$ 3NDM*100



On 8/7/2021 2:35 PM, Kasemir, Kay via Tech-talk wrote:
Hi:

I subsequently tried out on EPICS base version 7.0.3.1 ..
It works fine ..
I am suspecting the bug may be due to newer version of EPICS.

Looks like you found a problem in R7.0.6.
Take this example record, executed by softIoc:

record(calc, "test_calc")
{
     field(SCAN, "1 second")
     field(CALC, "RNDM*100")
}

$ caget -S test_calc.CALC$
test_calc.CALC$ RNDM*100

$ caput -S test_calc.CALC$ "300"
Old : test_calc.CALC$ RNDM*100
CA.Client.Exception...............................................
     Warning: "Channel write request failed"
     Context: "op=1, channel=test_calc.CALC$, type=DBR_CHAR, count=4, ctx="test_calc""
     Source File: ../oldChannelNotify.cpp line 159
     Current Time: Sat Aug 07 2021 15:27:54.755166000
..................................................................
New : test_calc.CALC$ 3NDM*100

.. and the softIoc shows this error:

Illegal field value PV: test_calc calc: Illegal CALC field
test_calc.CALC: Syntax error, unknown operator/operand in expression "3NDM*100"

So the IOC didn't receive "300" as written, it only took "3" _and_ kept the rest of the previous CALC field value.

When instead using R7.0.4.1, all works fine.
In fact the test also succeeds with softIoc from R7.0.4.1 and caget/caput from base-7.0.6.
The issue starts when using the base-7.0.6 softIoc.

-Kay


--
----------------------------------------------------------
Pete R. Jemian, Ph.D.                 <jemian at anl.gov>
Beam line Controls and Data Acquisition (BC, aka BCDA)
Advanced Photon Source,    Argonne National Laboratory
Argonne, IL  60439                    630 - 252 - 3189
-----------------------------------------------------------
      Education is the one thing for which people
         are willing to pay yet not receive.
-----------------------------------------------------------

References:
Calc Module of SynApps: Issue with long string CALC$ Kuldeep Joshi via Tech-talk
Re: [EXTERNAL] Calc Module of SynApps: Issue with long string CALC$ Kasemir, Kay via Tech-talk
Re: [EXTERNAL] Calc Module of SynApps: Issue with long string CALC$ Kuldeep Joshi via Tech-talk
Re: [EXTERNAL] Calc Module of SynApps: Issue with long string CALC$ Kasemir, Kay via Tech-talk
Re: Calc Module of SynApps: Issue with long string CALC$ Kuldeep Joshi via Tech-talk
Re: Calc Module of SynApps: Issue with long string CALC$ Kuldeep Joshi via Tech-talk
base-7.0.6 long string$ bug? Re: Calc Module of SynApps: Issue with long string CALC$ Kasemir, Kay via Tech-talk

Navigate by Date:
Prev: base-7.0.6 long string$ bug? Re: Calc Module of SynApps: Issue with long string CALC$ Kasemir, Kay via Tech-talk
Next: Re: base-7.0.6 long string$ bug? Re: Calc Module of SynApps: Issue with long string CALC$ Michael Davidsaver via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
Navigate by Thread:
Prev: base-7.0.6 long string$ bug? Re: Calc Module of SynApps: Issue with long string CALC$ Kasemir, Kay via Tech-talk
Next: Re: base-7.0.6 long string$ bug? Re: Calc Module of SynApps: Issue with long string CALC$ Michael Davidsaver via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024