Nick,
> Sometimes (but not always) I got the following after
> calling iocInit:
>
> task: 0X785ec0 tShell
> Assertion failed: semStatus==OK, file ../iocLogClient.c, line 445
>
> The relevant lines are:
>
> /*
> * mutex on
> */
> semStatus = semTake(iocLogMutex, WAIT_FOREVER);
> assert(semStatus==OK);
This problem was discovered in January:
From: [email protected] (Jeff Hill)
Date: Fri, 12 Jan 96 11:36:30 MST
Subject: Re: Incorrect error handling by 'dbLoad' ?
Message-Id: <[email protected]>
> I get the following message from dbLoad:
> ----
> -> dbLoad "../../camacDev/db/camac.database"
> task: 0Xf9a8c0 tShell
> Assertion failed: semStatus==OK, file ../iocLogClient.c, line 448
> ----
> At this point the shell locks up, and all I can do is reboot.
>
> I found that I was loading a db with the "default.sdrSum" file out of date.
> When I re-created the db with the correct "default.sdrSum" file the problem
> goes away. I looked at the code for dbLoad(), and I believe it should
> print an error message and return -1.
>
> I am using EPICS R3.12.2.
This is a known problem in R3.12.2. The problem occurs when db load
detects a problem and then attempts to print a message. The log system
ends up getting called by db load prior to its getting initialized in
iocInit().
A fix (adding a lazy init to the log system) has been commited
into CVS at APS.
The problem can be fixed by adding the following code to the top of
the function iocLogVPrintf() in $(EPICS)/base/src/libvxWorks/iocLogClient.c
/*
* Check for init
*/
if (!iocLogMutex) {
status = iocLogInit();
if (status) {
return 0;
}
}
Jeff
______________________________________________________________________
Jeffrey O. Hill Internet [email protected]
LANL MS H820 Voice 505 665 1831
Los Alamos, NM 87545 USA FAX 505 665 5107
Unfortunately even the above patch does not prevent the problem
(calling the log system before it has been initialized) in all
situations. A final solution will be commited at APS soon.
Jeff
- Navigate by Date:
- Prev:
Re: Anyone using Tornado yet? Peregrine McGehee
- Next:
Events lost, discard count was XXX Gabor Csuka
- 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: Anyone using Tornado yet? Peregrine McGehee
- Next:
Stepper motors Ric Claus
- 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
|