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 2021 2022 2023 2024 2025 | 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 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: longout record issue |
From: | Dirk Zimoch <[email protected]> |
To: | Emmanuel Mayssat <[email protected]> |
Cc: | epics <[email protected]> |
Date: | Tue, 07 Apr 2009 09:32:15 +0200 |
Hi Emmanuel,That looks like the problem I have reported in 2007 (and which is still "open" in Mantis):
Summary gcc 3.2.3 bug: long integer values are corruped in R3.14.9Description When writing integer values with a CA client (e.g. medm) to a long integer channel (e.g. longout record), the upper bytes get corrupted. The lower 2 bytes are OK.
I can't see the error when the client is caput from base. Client and IOC run on a linux-x86 machine. The problem is new in 3.14.9. See http://www.aps.anl.gov/epics/mantis/view_bug_page.php?f_id=0000291 It happens when using g++ 3.2.3 with option -O3. Dirk Emmanuel Mayssat wrote:
Hello all, I have noticed oddities with my longout records. Particularly when I use the soft Channel record. record(longout, "myLO") { field(VAL ,"100") field(SCAN, "Passive") field(DTYP, "Soft Channel") } Now if I create a medm text entry attached to this PV, and attempt to modify the PV, it updates but not as expected. For example, if I enter the value 10, the PV is updated to -11100023 (or something like that) I am using medm 3.1.1 compiled against EPICS 3.14.9. I have other longout records which are not "Soft Channel". They correctly update with the same medm widget. Any idea? -- Emmanuel
-- Dr. Dirk Zimoch Paul Scherrer Institut, WBGB/006 5232 Villigen PSI, Switzerland Phone +41 56 310 5182