Got it; thanks.
Regards,
Murali
________________________________________
From: Andrew Johnson <[email protected]>
Sent: Thursday, February 18, 2016 8:45 AM
To: Shankar, Murali; EPICS core-talk
Subject: Re: Small bug in 3.16
Hi Murali,
On 02/17/2016 06:32 PM, Shankar, Murali wrote:
> We are starting to use 3.16 for
> LCLS-II development and I ran into a small bug that would core dump when
> doing a caget SOME:PV:NAME.[0:10]. I have attached the patch; it does
> fix this issue and "make runtests" passes after this change.
Unfortunately I don't think your fix is correct, but I suspect I have
already found the problem (I've been working on creating a regression
test for the bug) and developed a fix for it — please undo your changes
and try the attached patch instead. This fix will be applied to the 3.15
branch as well as to 3.16.
> Would you
> know where the documentation for these server side filters is? Should I
> expect "caput SOME:PV:NAME.[2] 1" to work?
Unfortunately server-side filters currently only work on gets and
monitors, not on puts, so no you cannot do a put to an individual
element of an array. This limitation is not documented anywhere that I
remember, although it should be. You can find some documentation for the
built-in filters in base-3.16/html/filters.html but I don't think the
individual filters currently explain which ones work on which operations
(get/put/monitor).
Ralph — am I right that there is no way for filters to support puts at
the moment? I get a seg-fault trying to do a sub-array put even with my
current patch, so that needs fixing. Should we try to support this? The
documentation for each filter should at least say what operations it
does support.
- Andrew
> $ bzr diff src/ioc/db/dbAccess.c
> === modified file 'src/ioc/db/dbAccess.c'
> --- src/ioc/db/dbAccess.c 2015-09-07 04:15:21 +0000
> +++ src/ioc/db/dbAccess.c 2016-02-17 23:42:01 +0000
> @@ -878,7 +878,7 @@
> if (pfl->type == dbfl_type_val)
> localAddr.pfield = (char *) &pfl->u.v.field;
> else
> - localAddr.pfield = (char *) pfl->u.r.field;
> + localAddr.pfield = (char *) &pfl->u.r.field;
> status = dbFastGetConvertRoutine[field_type][dbrType]
> (localAddr.pfield, pbuf, &localAddr);
> }
>
--
There are only two hard problems in distributed systems:
2. Exactly-once delivery
1. Guaranteed order of messages
2. Exactly-once delivery
-- Mathias Verraes
- References:
- Re: Small bug in 3.16 Andrew Johnson
- Navigate by Date:
- Prev:
Re: Small bug in 3.16 Andrew Johnson
- Next:
Jenkins build became unstable: epics-base-3.14-win64 #105 APS Jenkins
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
<2016>
2017
2018
2019
2020
2021
2022
2023
2024
2025
- Navigate by Thread:
- Prev:
Re: Small bug in 3.16 Andrew Johnson
- Next:
Jenkins build became unstable: epics-base-3.14-win64 #105 APS Jenkins
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
<2016>
2017
2018
2019
2020
2021
2022
2023
2024
2025
|