Experimental Physics and Industrial Control System
Folks,
The problem I was having with medm crashing on a DEC Alpha machine has been
solved.
The fundamental problem was the bug in Channel Access in R3.12.2 which Jeff
Hill just described. The low-order 32 bits of doubles were not being
byte-swapped correctly.
The contributory problem was the bug in gcc which I described last week. gcc
2.2.3.1 is generating -0.0 values rather than 0.0 in certain circumstances.
-0.0 is a legal floating point value (though not what was intended). However,
when -0.0 is passed through Channel Access with the byte-swap bug, then it
results in an invalid (denormalized) floating point number, which crashes medm.
When trying to track down the problem I built all of R3.12.2 with a more
recent version of gcc, 2.5.8. This version does not have the -0.0 bug. EPICS
base compiled fine, but crashed with an access fault in a device
initialization routine before iocInit. Is anyone running EPICS compiled on a
more recent version of gcc? 2.2.3.1 is more than 4 years old, and it is likely
that other bugs besides this one have been fixed since then.
____________________________________________________________
Mark Rivers (773) 702-2279 (office)
CARS (773) 702-9951 (secretary)
Univ. of Chicago (773) 702-5454 (FAX)
5640 S. Ellis Ave. (708) 922-0499 (home)
Chicago, IL 60637 [email protected] (e-mail)
or:
Argonne National Laboratory (630) 252-0422 (office)
Building 434A (630) 252-0405 (lab)
9700 South Cass Avenue (630) 252-1713 (beamline)
Argonne, IL 60439 (630) 252-0443 (FAX)
- Navigate by Date:
- Prev:
bug report (little endian and IEEE FP) Jeff Hill
- Next:
RE: mbbiDirect and mbboDirect changes in r3.13x Eric Bjorklund, NPSM
- 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
- Navigate by Thread:
- Prev:
Bug in gcc Mark Rivers
- Next:
How to Add/Delete your Name from a list Bill McDowell
- 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