EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re: Scalcout data corruption on darwin-x86 with x86_64 arch class
From: Andrew Johnson <[email protected]>
To: [email protected]
Date: Thu, 18 Aug 2011 14:13:46 -0500
Hi Lewis,

I think you and/or Tim Mooney might find these numbers interesting:

On 2011-08-18 J. Lewis Muir wrote:
>   ioc23:RealTime0.SVAL           140733193389032.000
in Hex, that's 0x7FFF000003E8, or 0x7FFF 0000 03E8

>   ioc23:RealTime1.VAL            1000
1000 in Hex is 0x03E8

>   ioc23:RealTime3.SVAL           30064772072.000
0x7000003E8, or 0x7 0000 03E8

>   ioc23:RealTime8.SVAL           4294968296.000
0x1000003E8, or 0x1 0000 03E8

> I expect all of the VAL and SVAL fields to have the value 1000,
> but obviously they don't.  Some of them are completely wrong.

Maybe not quite as completely wrong as you first thought.

> Any ideas?  Can anyone reproduce this problem for darwin-x86
> with the x86_64 architecture class?  What about linux-x86_64?

I'm guessing the scalcout record type (which is from synApps, not part of 
Base) is probably using long for integer value storage in some places without 
properly initializing the memory.  An LP64 architecture is liable to this kind 
of problem (which is why Base maps DBF_LONG to epicsInt32), so I'd expect 
linux-x86_64 to exhibit it as well although I haven't tried as I don't have 
synApps installed.

- Andrew
-- 
Optimization is the process of taking something that works and
replacing it with something that almost works, but costs less.
-- Roger Needham

Replies:
Re: Scalcout data corruption on darwin-x86 with x86_64 arch class J. Lewis Muir
References:
Scalcout data corruption on darwin-x86 with x86_64 arch class J. Lewis Muir

Navigate by Date:
Prev: Scalcout data corruption on darwin-x86 with x86_64 arch class J. Lewis Muir
Next: Re: Scalcout data corruption on darwin-x86 with x86_64 arch class J. Lewis Muir
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Scalcout data corruption on darwin-x86 with x86_64 arch class J. Lewis Muir
Next: Re: Scalcout data corruption on darwin-x86 with x86_64 arch class J. Lewis Muir
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·