EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Substitution files: change in behavior between 3.15.3 and 3.15.6
From: "Johnson, Andrew N. via Core-talk" <[email protected]>
To: "[email protected]" <[email protected]>
Date: Mon, 29 Oct 2018 17:19:48 +0000
Hi Martin,

On 10/25/2018 02:44 PM, Konrad, Martin wrote:
> In the past I used something like the following:
> 
> file "a.db" {
>   { }
> }

> With EPICS 3.15.6 this doesn't work anymore. I get
> 
> msi: Parse error, unexpected '}'
> 
> I have to admit that my solution might not be the cleanest approach as
> it probably depends on undefined behavior (neither the AppDev guide nor
> the MSI website talk about this corner case). I'm wondering if you
> consider the change in behavior a bug. I'm able to work around the
> problem by using
> 
> file "a.db" {
>   { DUMMY="" }
> }
> 
> Is there a better way to solve my problem?

> P.S.: Seems like the following commit changed the behavior:
> https://git.launchpad.net/epics-base/commit/?h=3.15&id=67e2b74758982fd46be5529e28fcb93fd7eb59ad

You are right about that commit changing the behaviour, I was fixing a
bug report about the template parser not detecting a syntax error in the
file:
  https://bugs.launchpad.net/epics-base/+bug/1503661
Your original usage probably should be legal though, so I'd accept this
change as introducing a bug.

If you want to take a look at msi.c and propose a fix that doesn't
regress the above bug as well I'd be happy to accept it. You should
include a test (in src/ioc/dbtemplate/test, probably by adjusting some
of the existing substitution and result files) that exercises your
behaviour too, to prevent future regressions.

Thanks,

- Andrew

-- 
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon

References:
Substitution files: change in behavior between 3.15.3 and 3.15.6 Konrad, Martin

Navigate by Date:
Prev: Re: pvget -m timeout after first value Michael Davidsaver
Next: Jenkins build became unstable: epics-7.0 » linux32 #73 APS Jenkins via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Substitution files: change in behavior between 3.15.3 and 3.15.6 Konrad, Martin
Next: Build failed in Jenkins: epics-base-3.16-win64 #235 APS Jenkins via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
ANJ, 29 Oct 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·