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  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024  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  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: IOC error
From: Michael Davidsaver <[email protected]>
To: "Thomas, Patrick" <[email protected]>
Cc: Eric Norum <[email protected]>, "[email protected] Talk" <[email protected]>
Date: Fri, 26 Jan 2018 10:31:32 -0800
I think the assertion which is failing is at:

https://github.com/epics-base/epics-base/blob/3.14/src/db/dbNotify.c#L405

This code is involved with the CA put w/ callback operation.

The function dbNotifyCompletion() isn't called from many places in Base.

https://github.com/epics-base/epics-base/blob/3.14/src/db/dbAccess.c#L647

https://github.com/epics-base/epics-base/blob/3.14/src/db/recGbl.c#L259

In both places, the call is conditional on PPN!=NULL, which is what the
assert() is asserting.  So either dbNotifyCompletion() is being called
from some other code, or there is some memory corruption.

A stack trace should distinguish between these two possibilities.


On 01/26/2018 08:51 AM, Eric Norum wrote:
> Or run it under a debugger with a breakpoint there and then get a stack backtrace.

If you are able to catch this in GDB then remember the command "thread apply all backtrace".


>> On Jan 26, 2018, at 6:03 AM, Kasemir, Kay <[email protected] <mailto:[email protected]>> wrote:
>>
>> If possible, I would change that section of dbNotify.c:dbNotifyCompletion from
>>
>>    assert(precord->ppn);
>>
>> to something like
>>   if (! precord->ppn)
>>      .. somehow log precord->name ..
>> so you see which record runs into the problem, and that way you'd see if it's a record that uses the custom device support.
> 
> -- 
> Eric Norum
> [email protected] <mailto:[email protected]>
> 
> 
> 
> 


Replies:
Re: IOC error Ralph Lange
References:
IOC error Thomas, Patrick
Re: IOC error Kasemir, Kay
Re: IOC error Eric Norum
Re: IOC error Eric Norum

Navigate by Date:
Prev: Re: IOC error Eric Norum
Next: RE: asyn IP server port driver with streamDevice Mark Rivers
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  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: IOC error Eric Norum
Next: Re: IOC error Ralph Lange
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  <20182019  2020  2021  2022  2023  2024 
ANJ, 27 Jan 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·