EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  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  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: A patch for medm
From: Kate Feng <[email protected]>
To: Andrew Johnson <[email protected]>
Cc: [email protected]
Date: Thu, 06 Dec 2007 13:51:48 -0500
Andrew Johnson wrote:

Kate Feng wrote:

MEDM version 3.03 :

When I defined only three states for a  mbbo record,
the following warning message will pop up whenever  CA is
connected.

menuUpdateValueCb: Got state 3.
 Only have strings for 3 states (starting at 0).
 Kate:Mset_formatmode


Your record has three state strings for states #0, 1 and 2, but the VAL field is set to 3 which does not correspond to a valid state. Either you need to define a fourth state string, or change the record so it is never set to the value 3. This is not a bug in MEDM.

At this point, I do not have time to trace down all the source code b/c I am in the middle of urgent task. However, I think there is a bug either in EPICS base (more likely) or in MEDM because my S/W set the VAL field to be 2 at init_mbbo_record(). It was never set to 3 at my part of software. However, apparently, either EPICS base or MEDM set it to be 3.

When I get a chance , I will look at the mbbo record of the EPICS base.

Regards,
Kate



A minor patch stops the warining message:

diff -c -u medmMenu.c.orig medmMenu.c

--- medmMenu.c.orig Tue Jun 10 12:13:27 2003
+++ medmMenu.c Thu Nov 29 07:24:48 2007
@@ -510,7 +510,7 @@
        XmNnumChildren,&numChildren,
        NULL);
      i = (int) pr->value;
-      if((i >=0) && (i < (int) numChildren)) {
+      if((i >=0) && (i <= (int) numChildren)) {


This change would add an off-by-one bug to MEDM, which we will not do. As the warning message states, there are only three defined states for this record starting at state number 0. With your fix in place, try putting the integer value 4 into that MBBO record and you'll get the same problem, showing that you haven't fixed what you think you have.

- Andrew




References:
A patch for medm Kate Feng
Re: A patch for medm Andrew Johnson

Navigate by Date:
Prev: genSub and EFLG John Dobbins
Next: Re: genSub and EFLG Kay-Uwe Kasemir
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: A patch for medm Andrew Johnson
Next: Re: A patch for medm Kate Feng
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·