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  2018  <20192020  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  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: dbdlint (dbd/db verify tool)
From: Michael Davidsaver via Tech-talk <[email protected]>
To: Sue Witherspoon <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Sat, 30 Mar 2019 19:51:39 -0700
On 3/29/19 12:35 PM, Sue Witherspoon via Tech-talk wrote:
> Greetings!
> 
>   I am trying to upgrade to use EPICS 3.15.6 and my standard database make tool used to a database verification while converting a vdct vdb file. So the dbStaticHost.lib is gone. So I wanted to replace that functionality with Michael Davidsaver's dbdlint script.  So I got the code from github but I'm not able to communicate to the script my database definition.


> devl06 [130]:   dbdlint -F -Wall /usr/dvlepics/epics/R3.15.6.J0/dbd/base.dbd junk.db
>  
> ERROR   junk.db:5 bad-rtyp - iocdevp4Apps:VMIc0979:C979_Chan05 has unknown record type ai

The python exception being shown below is actually a symptom this error.
I've pushed some updates which change this to:

> ERROR   ../epics/base-git/dbd/base.dbd:5 incomplete-dbd - This tool must be run on an expanded .dbd.  (eg. softIoc.dbd, not base.dbd)

which I hope should be clearer.  dbdlint in full '-F' mode is meant to be run against an already
expanded .dbd file, such as would be loaded by an IOC.

I've also added a new warning -Wrec-append which which you may need to disable.
It trips when a record() appears a second time unless the recordtype is "*".
This was a Base 3.16 addition.

eg. "dbdlint -F -Wall -Wno-rec-append ...'


dbdlint also works with python3 now.


> ERROR   Error processing junk.db
> Traceback (most recent call last):
>   File "/a/devsite/dvlepics/epics/modules/pypdb-master/pyPDB/dbdlint.py", line 121, in main
>     walk(dbd, dbdtree, R)
>   File "/a/devsite/dvlepics/epics/modules/pypdb-master/pyPDB/dbdlint.py", line 471, in walk
>     fn(ent, results, I)
>   File "/a/devsite/dvlepics/epics/modules/pypdb-master/pyPDB/dbdlint.py", line 245, in wholeRecInstField
>     ftype = recent._fieldinfo.get(fname)
> AttributeError: 'Block' object has no attribute '_fieldinfo'
> ERROR   parent stack not empty at exit: [Block(record, ['ai', 'iocdevp4Apps:VMIc0979:C979_Chan05'], [Block(field, ['DTYP', 'Soft Channel'], None), Block(field, ['ASG', 'DEFAULT'], None), Block(field, ['ASLO', ''], None), Block(field, ['DESC', 'analog input record'], None), Block(field, ['DISS', 'NO_ALARM'], None), Block(field, ['EGU', 'volts'], None), Block(field, ['EGUF', '10.0'], None), Block(field, ['EGUL', '-10.0'], None), Block(field, ['EVNT', '0'], None), Block(field, ['HHSV', 'MAJOR'], None), Block(field, ['HIGH', '80.0'], None), Block(field, ['HIHI', '100.0'], None), Block(field, ['HOPR', '100.0'], None), Block(field, ['HSV', 'MINOR'], None), Block(field, ['LINR', 'LINEAR'], None), Block(field, ['LLSV', 'NO_ALARM'], None), Block(field, ['LOPR', '0.0'], None), Block(field, ['LSV', 'NO_ALARM'], None), Block(field, ['PHAS', '0'], None), Block(field, ['PINI', 'NO'], None), Block(field, ['PREC', '3'], None), Block(field, ['PRIO', 'LOW'], None), Block(field, ['SCAN',
> 'Passive'], None), Block(field, ['SIMS', 'NO_ALARM'], None)])]
> 
> 
> Can someone give me a hint as to what I need to do get this to work?
> junk.db is attached.
> 
> Thanks in advance,
> Sue Witherspoon
> 
> 


References:
dbdlint (dbd/db verify tool) Sue Witherspoon via Tech-talk

Navigate by Date:
Prev: Re: dbdlint (dbd/db verify tool) Johnson, Andrew N. via Tech-talk
Next: Tech-talk Digest, Vol 13, Issue 150 peiyu Quan via Tech-talk
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  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: dbdlint (dbd/db verify tool) Michael Davidsaver via Tech-talk
Next: Tech-talk Digest, Vol 13, Issue 150 peiyu Quan via Tech-talk
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  <20192020  2021  2022  2023  2024 
ANJ, 31 Mar 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·