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  <20132014  2015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: registerRecordDevice... crashes IOC during startup
From: Benjamin Franksen <benjamin.franksen@helmholtz-berlin.de>
To: <tech-talk@aps.anl.gov>
Date: Fri, 28 Jun 2013 22:03:31 +0200
Hi

it just happened to me for the second time: I deleted some unused code and
forgot to delete a corresponding line in the dbd file. It was a test stand and
it crashed even before iocInit and there was a warning before it happened, so
no damage, but still...

The line in the dbd file is a registrar entry, something like

	registrar(xyz)

that registers some shell commands. This line is buried inside a support
module's dbd so the application's dbd file can include it. So it is quite easy
to forget to remove this line when you delete the code that implements the
xyz. There is no warning whatsoever until the IOC is run. Then you get:

	Undefined symbol: pvar_func_xyz (binding 1 type 0)

and later:

TESTIOC1C_registerRecordDeviceDriver(pdbbase)

VME Bus Error accessing A32: 0x8c3f6f40
machine check
Exception next instruction address: 0x8c3f6f40
Machine Status Register: 0x0008b030
Condition Register: 0x48200082
Task: 0x1d32f98 "tShell"

(The observed behaviour is of course to be expected.)

Is there a way to somehow warn the user at compile time that there is a
mismatch between the dbd file and the binary?

Note: This is with EPICS base R3.14.12.2 and vxWorks 5.4.2.

Cheers
--
Ben Franksen
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachm€nts

Attachment: signature.asc
Description: This is a digitally signed message part.


Replies:
Re: registerRecordDevice... crashes IOC during startup Andrew Johnson

Navigate by Date:
Prev: Re: Problem in errlogRemoveListener Benjamin Franksen
Next: Re: specifying network interface with pcaspy caServer Xiaoqiang Wang
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: Re: specifying network interface with pcaspy caServer Jameson Graef Rollins
Next: Re: registerRecordDevice... crashes IOC during startup Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·