> Of course it would be better if we could all run the same code. :-) Maybe
> we need to disable some FPE's for the mips?
> Does EPICS rely on disabling FPE's for all tasks?
>From my perspective, it would be better to fix bugs generating FPE, and that
sweeping them under the carpet wouldn't be the better alternative.
Jeff
> -----Original Message-----
> From: Matt Rippa [mailto:[email protected]]
> Sent: Tuesday, May 09, 2006 7:49 PM
> To: [email protected]
> Subject: MIPS epicsEventWaitWithTimeout(()
>
> Hi all,
>
> We're getting a floating point exception running iocInit()
> on a mips hkbaja47 with 3.14.8.2 exampleApp. Specifically
> this is the "timerQueue" task. Tracking this down it points
> to epicsEventWaitWithTimeout() inside
> base-3.14.8.2/src/libCom/osi/os/vxWorks/osdEvent.c
>
> The double timeOut passed in is DBL_MAX size (1.79769e+308)
> and used to calculate a semTake timeout. Basically, semTake and wait
> a very long time:
>
> int ticks = timeOut*sysClkRateGet();
> status = semTake((SEM_ID)id,ticks);
>
> The mips can't seem to handle the double to int conversion
> and ends up with an FPE and I think it's FPE_INVALID_OP.
>
> It can handle this when ticks is clipped to LONG_MAX*1.0. LONG_MAX*1.1
> fails. We're wondering if there's any other gotchas if we do this for
> our mips targets?
>
> Of course it would be better if we could all run the same
> code. :-) Maybe we need to disable some FPE's for the mips?
> Does EPICS rely on disabling FPE's for all tasks?
>
>
> Many thanks,
> -Matt
>
>
> iocInit()
> Starting iocInit
> ##########################################################################
> ##
> ### EPICS IOC CORE built on May 8 2006
> ### EPICS R3.14.8.2 $R3-14-8-2$ $2006/01/06 15:55:13$
> ##########################################################################
> ##
>
> FPE Exception
> Exception Program Counter: 0x80d3c22c
> Status Register: 0x30006701
> Cause Register: 0x0000003c
> Task: 0x80f20870 "timerQueue"
> iocInit: All initialization complete
>
>
> -> tt 0x80ac70f0
> 80024434 vxTaskEntry +c : epicsThreadSleepQuantum
> (&epicsThreadCallEntryPoint, 80acf48c, 0, 0)
> 808cea18 epicsThreadSleepQuantum+78 : epicsThreadCallEntryPoint (eeeeeeee,
> eeeeeeee, eeeeeeee, eeeeeeee)
> 808c2f04 epicsThreadCallEntryPoint+a4 : timerQueueActive::run(void)
> (eeeeeeee, eeeeeeee, eeeeeeee, eeeeeeee)
> 808d4ee4 timerQueueActive::run(void)+40 : epicsEvent::wait(double)
> (800cfb5c, eeeeeeee, eeeeeeee, eeeeeeee)
> 808c8804 epicsEvent::wait(double)+28 : epicsEventWaitWithTimeout
(eeeeeeee,
> 80acf494, 808c7a48, 80acfe10)
> --------------------------------
>
> -> ti 0x80f20870
>
> NAME ENTRY TID PRI STATUS PC SP ERRNO
> DELAY
> ---------- ------------ -------- --- ---------- -------- -------- -------
> -----
> timerQueue 80d3c028 80f20870 129 SUSPEND 80d3c22c 80f205b8 0
> 0
>
> stack: base 0x80f20870 end 0x80f1d990 size 11840 high 1464 margin
> 10376
>
> options: 0xc
> VX_DEALLOC_STACK VX_FP_TASK
>
> $0 = 0 at = ffffffff80d60000 v0 =
> 3c
> v1 = ffffffff80f20870 a0 = ffffffff80f28c90 a1 =
> 0
> a2 = 7fefffff a3 = ffffffffffffffff t0 =
> 30006701
> t1 = 30006700 t2 = 4 t3 =
> 0
> t4 = 0 t5 = 0 t6 =
> 0
> t7 = 0 s0 = ffffffff80f28c90 s1 =
> ffffffff80f20870
> s2 = ffffffff80f28e6c s3 = ffffffff80d34080 s4 =
> 0
> s5 = 0 s6 = 0 s7 =
> 0
> t8 = 0 t9 = 0 k0 =
> 8007823ceeeeeeee
> k1 = 0 gp = ffffffff80119dd8 sp =
> ffffffff80f205b8
> s8 = 0 ra = ffffffff80d3c21c
> sr = 30006701 pc = 80d3c22c
>
>
> fpcsr = 1000014
> fp0 = Inf fp2 = 2 fp4 = 6.31152e+08 fp6 =
> 0
> fp8 = 0 fp10 = 0 fp12 = 0 fp14 =
> 0
> fp16 = 0 fp18 = 0 fp20 = 1.79769e+308 fp22 =
> 0
> fp24 = 0 fp26 = 0 fp28 = 0 fp30 =
> 0
>
> FPE Exception
> Exception Program Counter: 0xvalue = 80d3c22c0
> Status Register: 0x = 0x30006701
> Cause Register: 0x00000003c
- References:
- MIPS epicsEventWaitWithTimeout(() Matt Rippa
- Navigate by Date:
- Prev:
RE: MIPS epicsEventWaitWithTimeout(() Jeff Hill
- Next:
June EPICS Meeting reminder Andrew Johnson
- 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:
RE: MIPS epicsEventWaitWithTimeout(() Jeff Hill
- Next:
RE: MIPS epicsEventWaitWithTimeout(() Walters, M (Malcolm)
- 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
|