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
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)
VME Bus Error accessing A32: 0x8c3f6f40
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 R22.214.171.124 and vxWorks 5.4.2.
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachm€nts
Description: This is a digitally signed message part.
- Re: registerRecordDevice... crashes IOC during startup Andrew Johnson
- Navigate by Date:
Re: Problem in errlogRemoveListener Benjamin Franksen
Re: specifying network interface with pcaspy caServer Xiaoqiang Wang
- Navigate by Thread:
Re: specifying network interface with pcaspy caServer Jameson Graef Rollins
Re: registerRecordDevice... crashes IOC during startup Andrew Johnson